0

I use the following command:

vlc -I qt myfile.mp4 #standard{access=http,mux=ts,dst="8080/stream"}  :sout-all :sout-keep

and my error log is the following:

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

The main problem seems to be main decoder error: failed to create audio output

I have been trying many things for 4 hours (installing various libs, different audio settings in vlc etc) so it is probably a good time to beg for help!

Using Ubuntu 22.04 and GTX970. Have installed CUDA already.

nmap 192.168.1.x -p 8080 also confirms:

PORT     STATE  SERVICE
8080/tcp closed http-proxy

Many thanks in advance. Just trying to setup a local network streaming with https://linuxconfig.org/how-to-stream-video-from-vlc, it looked really simple at first glance haha...

0

1 Answer 1

0

Compare

echo vlc -I qt myfile.mp4 #standard...

In many *nix shells unquoted and unescaped # begins a comment. Some of the arguments you typed did not get to vlc at all! By "installing various libs, different audio settings in vlc etc" you're barking up the wrong tree. The problem occurs before vlc even starts.

In this specific case it's best to single-quote the entire #standard{access=http,mux=ts,dst="8080/stream"} argument, because {…} may be expanded by your shell (or may not, depending on the shell). Note this will make the string in single-quotes get to vlc literally, including the double-quotes. I guess this is what you want (but I don't know vlc enough to really tell).

vlc -I qt myfile.mp4 '#standard{access=http,mux=ts,dst="8080/stream"}'  :sout-all :sout-keep

In general, when in doubt, invoke set -x before running a command.

-x
The shell shall write to standard error a trace for each command after it expands the command and before it executes it.

(source)

This way you will see what command(s) you're really executing. Note set -x will add some quotes to what it prints, so in general you need to know how to interpret them. Still in a case like yours, where some "arguments" are discarded as a comment, the output of set -x will show you the issue clearly. Turn the feature off by set +x.

If the fixed command doesn't do what you want, then it's time to blame vlc, audio settings and such.

Meta note: if it still doesn't work and set -x tells you the command is exactly as you expected, and you need further help, then it may be good to ask a separate question instead of going chameleon. An actual issue (if any) with vlc will be unrelated to the issue with the command line we've just solved.

2
  • It's indeed working much better you were right regarding the comment, thank you a lot! but the port 8080 is still closed. And I still cannot access the stream, using vlc -I qt a.mp4 '#http{mux=ts{mux=mp4},dst=8080/stream}' --sout-all --sout-keep Nov 19, 2022 at 17:09
  • 1
    follow-up: superuser.com/questions/1753674/… Nov 19, 2022 at 19:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .