【问题标题】:VLC - Get played file pathVLC - 获取播放文件路径
【发布时间】:2020-12-22 11:48:01
【问题描述】:

我想获取vlc当前播放的文件的路径。好像是information can be obtained using the http server of vlc

由于我对http不太了解,即使借助上一个链接或vlc documentation,我也无法做到。

要启动一个http服务器,我应该使用命令vlc -I http

第一个问题:既然这个命令没有打开vlc窗口,那我用这个命令后是不是应该自己打开一个vlc窗口呢?还是以前?或者也许没关系?

所以我选择先使用命令,然后打开一个vlc窗口,在里面播放一个mp3文件。

要从 vlc 获取信息,第一个链接说:

然后您可以通过向http://127.0.0.1:8080/requests/status.xml 发出 GET 请求来检索玩家状态和跟踪信息

我不确定如何执行 GET 请求。我试过 wget:

~$ wget http://127.0.0.1:8080/requests/status.xml
--2020-12-22 12:17:22--  http://127.0.0.1:8080/requests/status.xml
Connecting to 127.0.0.1:8080... connected.
HTTP request sent, awaiting response... 401 Client error

Username/Password Authentication Failed.

我尝试添加我的用户名和密码,但没有成功:

~$ wget --user my_username --password my_password http://127.0.0.1:8080/requests/status.xml
--2020-12-22 12:18:31--  http://127.0.0.1:8080/requests/status.xml
Connecting to 127.0.0.1:8080... connected.
HTTP request sent, awaiting response... 401 Client error
Authentication selected: Basic realm="VLC stream"
Connecting to 127.0.0.1:8080... connected.
HTTP request sent, awaiting response... 401 Client error

Username/Password Authentication Failed.

我尝试遵循 vlc 文档中的建议:

使用浏览器访问 http://your_host_machine:port

我去了http://localhost:8080(这似乎是最有可能的主机和端口),但与 wget 类似,我被要求输入用户名和密码,但我不知道应该设置哪些。

我发现here,用户名应该留空,密码可以在vlc参数>界面>主界面>Lua中设置。所以我在“Lua HTTP”部分设置了密码和源目录。现在当我使用http://localhost:8080 时,我可以输入我的密码,然后我会看到我指定的源目录中的文件列表。

尽管如此,wget 命令仍然返回相同的输出。

第二个问题:你能告诉我如何让它工作吗?

操作系统:Ubuntu 20.04.1

VLC 版本:3.0.11

【问题讨论】:

    标签: linux lua vlc httpserver


    【解决方案1】:

    使用标志启动 VLC 时需要设置管理员密码:

    --http-password 
    

    然后您应该能够使用管理员用户名和指定的密码运行 wget 或 curl 以获取信息。

    【讨论】:

    • 感谢您的回答。我用这个参数启动了 http 服务器和 vlc。当我使用命令vlc --http-password my_password 时,我收到错误Qt: Session management error: Could not open network socket 是有问题吗?不幸的是,当我使用wget --user= --password=my_password http://localhost:8080/requests/status.xml 时,我仍然遇到同样的错误。
    • 好的。首先使用“vlc -I http &”启动vlc到后台,然后使用“vlc --http-password”。
    • 一旦我清空了 vlc Lua 参数“源目录”,它就起作用了。不幸的是,文件 status.xml 不包含正在播放的文件信息:(。奇怪的是,即使我当前正在播放文件,它似乎也认为 vlc 已停止 (<state>stopped</state>)。
    • 你必须通过http界面播放曲目
    猜你喜欢
    • 2014-09-17
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2016-06-29
    • 2016-10-01
    • 1970-01-01
    • 2022-08-06
    相关资源
    最近更新 更多