我使用以下命令:
vlc -I qt myfile.mp4 #standard{access=http,mux=ts,dst="8080/stream"} :sout-all :sout-keep
我的错误日志如下:
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
[000055e7143effa0] main audio output error: module not functional
[00007f61d28bf1d0] main decoder error: failed to create audio output
[00007f619c004960] gl gl: Initialized libplacebo v4.192.1 (API v192)
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[00007f619c004960] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error
libva info: VA-API version 1.14.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[00007f619c004960] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 1.14.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[00007f619c004960] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
[00007f619c004960] gl gl: Initialized libplacebo v4.192.1 (API v192)
[00007f61d27bf470] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 520.61.05 for hardware decoding
主要问题似乎是main decoder error: failed to create audio output
我已经在过去 4 个小时里尝试了很多事情(安装各种库、在 vlc 中设置不同的音频等等),所以现在可能是寻求帮助的好时机!
使用 Ubuntu 22.04 和 GTX970。已经安装了 CUDA。
nmap 192.168.1.x -p 8080
还证实:
PORT STATE SERVICE
8080/tcp closed http-proxy
提前致谢。只是想设置一个本地网络流媒体https://linuxconfig.org/how-to-stream-video-from-vlc,乍一看真的很简单哈哈……
答案1
比较
echo vlc -I qt myfile.mp4 #standard...
在许多 *nix shell 中,不带引号和不带转义的#
注释会开始。您输入的某些参数vlc
根本没有被使用!通过“安装各种库、在 vlc 中设置不同的音频等”,您找错了方向。问题在vlc
开始之前就已经出现了。
在这个特定情况下,最好用单引号括住整个#standard{access=http,mux=ts,dst="8080/stream"}
参数,因为{…}
可能会被 shell 扩展(也可能不会,具体取决于 shell)。请注意,这将使单引号中的字符串变为vlc
字面意思,包括双引号。我猜这就是你想要的(但我不知道vlc
到底是什么)。
vlc -I qt myfile.mp4 '#standard{access=http,mux=ts,dst="8080/stream"}' :sout-all :sout-keep
一般来说,如果有疑问,请set -x
在运行命令之前调用。
-x
在扩展命令之后和执行命令之前,shell 应该将每个命令的跟踪写入标准错误。
(来源)
这样你就会看到你真正执行的命令。注意set -x
将添加一些引文打印的内容,因此通常您需要知道如何解释它们。仍然在像您这样的情况中,一些“参数”被丢弃为注释, 的输出set -x
将清楚地向您显示问题。通过 关闭该功能set +x
。
如果固定命令没有达到你想要的效果,然后是时候责怪vlc
音频设置等了。
元注释:如果它仍然不起作用并set -x
告诉您命令完全符合您的预期,并且您需要进一步的帮助,那么最好提出一个单独的问题,而不是变色龙。实际问题(如果有)与vlc
我们刚刚解决的命令行问题无关。