首页 > 解决方案 > VLC - 获取播放文件路径

问题描述

我想获取vlc当前播放的文件的路径。似乎可以使用 vlc 的 http 服务器获取信息

由于我对 http 了解不多,因此即使借助上一个链接或vlc 文档,我也无法做到这一点。

要启动 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 类似,我被要求输入用户名和密码,但我不知道应该设置哪些。

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

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

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

操作系统:Ubuntu 20.04.1

VLC 版本:3.0.11

标签: linuxluavlchttpserver

解决方案


当您使用以下标志启动 VLC 时,您需要设置管理员密码:

--http-password 

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


推荐阅读