LC is a great program – it works on windows and linux, and because it uses all internal codecs, its behaviour doesn’t depend on lots of other stuff being in the OS first. It also means it can work more or less exactly the same on both OS types provided the corresponding hardware and plugins exist.
However, it can also be one of the most frustrating programs I have ever used. There are several reasons for this:
- The ‘easy to use’ GUI for setting up complex actions has basically no error checking, so it’s very easy to do the wrong thing.
- In any case, almost everything interesting needs the command line.
- If you do make a mistake, VLC usually fails silently, and only a log output will help find the problem ( and even then it can be pretty impenetrable )
- On linux – VLC sends log output to the stdout, but on Windows it doesn’t, and half the time it fails to open a separate log file.
- The vlc help is massive, badly organised, and still doesn’t tell you what you need to know
- The documentation is partially out of date
- Each different feature requires some level of pre-existing knowledge of how it works.
So here’s what I wish I’d known before I started:
- On Windows use -vvv –extraintf=logger as a command line parameter to get a log window
- udp streaming works if you specify the ip address of the machine you are streaming to.
- http streaming works if you specify the ip address of the local interface you are listening on.
- http streaming determines the output format from the suffix of the filename in the url
- rtsp streaming only works with the telnet interface
- if you get the telnet password wrong, the telnet interface is unusable till you restart
- If you need to select substreams from a ts, you can only do so with the #duplicate module
Here’s an example of using vlc to convert an input file to dvd compatible mpeg format
vlc inputfile -vvv –extraintf=logger –sout=”#transcode{vcodec=mp2v,vb=4096,acodec=a52,ab=192,scale=1,channels=6}:std{access=file,mux=ps,dst=outfile.mpg}” –aspect-ratio=”16:9″ –sout-transcode-width=720 –sout-transcode-height=576 –sout-transcode-fps=25 –sout-ffmpeg-keyint=16
This will not close vlc after completion. vlc –longhelp –advanced give fullest documentation. vlc –list-verbose gives list of modules etc.
Basic format is vlc [options] [stream] …. Options are
- –option which is a global option
- -o which is a single letter option
- :option which applies only to the previous input stream
Input stream format examples
- file://myfile.mpg
- http://www.mysite.com/mystream.ts
- dvd://dev/dvd or dvd://@dev/dvd
- vlc://quit – special one off
Conversion is handled as a type of streaming with the destination as a file. vlc streaming syntax is
vlc input_stream –sout= “#module1{option1=parameter1{parameter-option1},option2=parameter2}:module2{option1=…,option2=…}:…”
And conversion will be
vlc input_stream –sout=’#transcode{options}:standard{access=…,mux=…,dst=….other_options}’
516 thoughts on “VLC”