linux - 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
解决方案
当您使用以下标志启动 VLC 时,您需要设置管理员密码:
--http-password
然后,您应该能够使用管理员用户名和指定的密码运行 wget 或 curl 以获取信息。
推荐阅读
- javascript - 使用 Cognito 用户池向 AWS AppSync 验证 Apollo 客户端
- c++ - 如何使用在 C++ 头文件中的命名空间中声明的类型?
- php - Kartik 导出菜单显示不兼容的错误消息
- javafx - 如何为这些形状设置最大宽度和高度调整大小?
- r - R Shiny app中parLapply速度下降的原因是什么?
- ios - 如何修复错误“重复符号_LOG_BUFFER_LENGTH”
- docker - 我可以在 docker swarm 中隔离一对服务吗?
- python - 生日悖论,错误输出约 1
- java - 删除/忽略 JAXB 生成的时间戳的解决方法
- c - Compiling all C files and creating executable with Makefile