Cmd-line HTTP streaming works in Linux, but not in Windows?

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
Godfrey
New Cone
New Cone
Posts: 4
Joined: 09 Nov 2006 16:23

Cmd-line HTTP streaming works in Linux, but not in Windows?

Postby Godfrey » 09 Nov 2006 16:36

I'm trying to stream a video file (MPEG-2) from a Windows PVR. The command-line example provided in the documentation:
vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,dst=server.example.org:8080}'
works fine under Linux; however, on the Windows machine, using the exact same video file, it doesn't work and I get numerous errors in the Messages window:
main debug: using sout chain=`std{mux="",access="",dst="'#standard{access=http,mux=ogg,dst=:8080}'"}'
main debug: stream=`std'
main debug: looking for sout stream module: 1 candidate
main warning: missing value for option mux
main warning: missing value for option access
main debug: set sout option: sout-standard-dst to '#standard{access=http,mux=ogg,dst=:8080}'
stream_out_standard debug: creating `(null)/(null)://'#standard{access=http,mux=ogg,dst=:8080}''
stream_out_standard error: no access _and_ no muxer (fatal error)
main warning: no sout stream module matching "std" could be loaded
main debug: destroying chain... (name=std)
main debug: destroying chain done
main error: stream chain failed for `std{mux="",access="",dst="'#standard{access=http,mux=ogg,dst=:8080}'"}'
main error: cannot start stream output instance, aborting
main debug: thread times: real 0m0.109375s, kernel 0m0.015625s, user 0m0.000000s
main debug: thread 3916 joined (input/input.c:399)
main: nothing to play
The Windows version I'm using is 0.8.5; my Linux version is a little older (0.8.2-svn)

I've also tried adding explicit options on the command line, like --sout-standard-access, since the error messages complain about missing values, but that didn't fix it.

What command line do I need to use under Windows to simply stream a file via http, with no transcoding or local display?

edit: I've also tried it with other types of files (MPEG-1, several AVI codecs), with the same result. Also, I can stream via HTTP just fine using the Wizard, but I'm trying to automate the process.

Thanks,
Godfrey

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 09 Nov 2006 18:38

Transcoding is required for streaming as VLC likes to have control of the stream.

When you are having a problem with streaming it is always best to separate streaming from transcoding by making a local transcode to file.

Once you get this working try streaming again with the same commands. Then bring up a second instance of VLC to try displaying the stream on the same machine. This should allow you to see where the rest of the problems are that may be external to VLC.

Using Messages to look for errors in the file you want to transcode can be very helpful and doing this again while trying to transcode or stream can be equally helpful for you to figure out where the problems are.

Hint: MPEG 2 in a OGG container is not a good idea. Try MPEG 2 in a MPEG TS container.

Godfrey
New Cone
New Cone
Posts: 4
Joined: 09 Nov 2006 16:23

Postby Godfrey » 09 Nov 2006 18:53

Transcoding is required for streaming as VLC likes to have control of the stream.
Okay, I'll give your suggestions regarding transcoding a try -- but I'm a bit curious why the command line given in the official documentation works perfectly under Linux but not under Windows.
Hint: MPEG 2 in a OGG container is not a good idea. Try MPEG 2 in a MPEG TS container.
I was originally trying to do it with TS (it's an MPEG file, so an MPEG transport stream made the most sense to me), but I switched to OGG just to make sure I wasn't deviating too far from documented command line.

DJ
Cone Master
Cone Master
Posts: 8206
Joined: 01 Jan 2006 04:30
Location: Koloa, Hawaii USA

Postby DJ » 09 Nov 2006 19:26

The OGG container was intended for MPEG 4 type files. In Windows this container has never worked well. About the only thing you can get into it is DivX 3 and Vorbis and then it crashes Windows Explorer if you have support for OGG/OGM under Direct Show. I did find it interesting that it works in Linux. Perhaps this is why the Developers have continued to ignore my COMPLAINTS about the OGG container. :)

Godfrey
New Cone
New Cone
Posts: 4
Joined: 09 Nov 2006 16:23

Postby Godfrey » 09 Nov 2006 19:41

It seems the problem was that the command-line syntax is different for Windows than it is with Linux. Taking a hint from the Transcoding page on the Wiki, I changed:
vlc -vvv input-stream --sout '#standard{access=http,mux=ts,dst=:8080}'
to:
vlc -vvv input-stream --sout=#standard{access=http,mux=ts,dst=:8080}
...and it worked just fine.

I presume there's a technical reason why the command-line syntax should be different on the two platforms, but I missed seeing a mention of it in the official documentation.

Oh well, at least it works now. Thanks for the suggestion to try transcoding, DJ... I probably wouldn't have noticed the syntax issue otherwise!

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 09 Nov 2006 21:35

Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

Godfrey
New Cone
New Cone
Posts: 4
Joined: 09 Nov 2006 16:23

Postby Godfrey » 12 Nov 2006 01:12

Thanks for the tip. I guess I should have read the entire documentation from front to back, instead of simply jumping to the section on streaming.

When you enter vlc --help from the command line, the vlc-help.txt file shows the Linux syntax and makes no mention of the necessity to use a different syntax for Windows (even with --longhelp, --advanced or --help-verbose). Perhaps the Windows version could output a text file showing the proper syntax for Windows (or at least describing it)?

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 12 Nov 2006 17:46

Right ... i'll change that.
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

kaikai
New Cone
New Cone
Posts: 5
Joined: 11 Feb 2007 21:06

Postby kaikai » 11 Feb 2007 23:08

When you are having a problem with streaming it is always best to separate streaming from transcoding by making a local transcode to file.
BTW,

I'm using this command line and it's working fine
C:\Program Files\VideoLAN\VLC>vlc -vvv e:\1.mpg --sout #transcode{vcodec=DIV3,vb
=256,scale=1,acodec=mp3,ab=32,channels=2}:std{access=mmsh,mux=asfh,dst=:8080}
But i tried to transcode to file before streaming it and it never works. I tried different extension (mpg, asf, avi) and it didn't worked. The file is created but no way to stream it or to view it with vlc player

Any help


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: Google [Bot] and 14 guests