Viewing Multi-Audio/Subtitle SVCD/DVDs with VLC 

vlc --audio-track 1 --sub-track 2 test_svcd_pal.bin

— corresponds to audio-track 2 and sub-track 3 from GUI, i.e., -1 from GUI to use on command line

vlc --audio-track 1 --sub-track 2 avseq01_pal.mpg


From VideoLAN wiki

The VLC Streaming-Howto document is the current complete guide to the VideoLAN streaming solution. Further details and examples are going to be added here soon.

Using :VLC to create a DVD 

vlc C:\Movies\DiveModules1to3_2Mbps.asf —sout=#transcodemp2v,vb=4096,scale=1,acodec=mp2a,ab=192,channels=2:duplicatestd{access=file,mux=ps,url="C:\TEMP\Dive1_3_out.mpg"} —aspect-ratio "4:3" —sout-transcode-width 720 —sout-transcode-height 480 —sout-transcode-fps 30 —sout-ffmpeg-keyint 16

DVD ISO Creation and Burning and


VideoLAN HOWTO, Transcoding Examples

documented on: 2005.04.11


How to record a TV program 

Something like that :

transcode -z -i /dev/video0 -p /dev/dsp -x v4l,v4l --import_v4l "0,France 2" -c 0-00:30:00 -y xvid -o record.xvid

VideoLAN TV support 

You can use the vlc release provided by the DebianPackage:vlc in the Debian unstable.

server command line :

vlc -vvv v4l:/dev/video0:norm=secam:frequency=543250:size=320x240:channel=0:adev=/dev/dsp:audio=0  --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=3000,ab=256,vt=800000,keyint=80,deinterlace}:std{access=udp,mux=ts,url=}' --ttl 1

To be able to change the tv channel, use several v4l: urls in the command line with the needed frequencies and select your channel in the vlc playlist.

You can use the vlc httpd interface to change the channel remotely.

client command line :

vlc -vvv udp://


Stream from an acquisition card or a webcam Transcode


This document describes how to use the complete VideoLAN streaming solution.

v2.0, 2003-09-04

Table of Contents 1. Introduction

1.1. What is the VideoLAN project ?
1.2. What is a codec ?
1.3. How can I use VideoLAN ?
1.4. Command line usage
  1. Install the required software and hardware

    2.1. Install VLC
    2.2. Install VLS
  2. Receive and save a stream

    3.1. Receive a stream with VLC
    3.2. Save a stream with VLC
    3.3. Receive a stream with a set-top-box
  3. Stream a file

    4.1. Stream a file with VLC
    4.2. Stream a file with VLS
  4. Stream a DVD

    5.1. Stream a DVD with VLC
    5.2. Stream a DVD with VLS
  5. Stream a DVB channel (satellite or digital terrestial TV)

    6.1. Install the DVB drivers
    6.2. Stream with VLS
    6.3. Stream with VLC
  6. Stream from an MPEG encoding card

    7.1. Stream with the Hauppauge WinTV-PVR-250 card
    7.2. Stream with the Visiontech Kfir card
  7. Stream from an acquisition card or a webcam

    8.1. Install the Video for Linux drivers
    8.2. Stream with VLC
    8.3. Stream with VLS
  8. Advanced use of VLC's stream output (transcoding, multiple streaming, etc…)

    9.1. The syntax
    9.2. Examples

3 Receive and save a stream 

3.2 Save a stream with :VLC 

VLC can save the stream to the disk. In order to do this, use the Stream Output of VLC : you can do it via the graphical interface, or you can add to the command line the following argument : —sout file/

where :

4 Stream a file 

4.2 Stream a file with VLS 

VLS can stream MPEG files that meet two critera :

the file must be MPEG PS (Program Stream) or MPEG TS (Transport Stream), that contain video and audio multiplexed. VLS cannot stream MPEG ES (Elementary Stream), i.e. a file with only audio or video .

In order to know if an MPEG file is MPEG PS, MPEG TS or MPEG ES, read the file with VLC and look at the messages (select in the menu View / Messages, or use the command line vlc -vvv) .

9 Advanced use of :VLC's stream output (transcoding, multiple streaming, etc) 

9.2 Examples 


Transcode the input stream and send it to a multicast IP address with the associated SAP announce :

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=udp,mux=ts,url=,sap=TestStream}'

Display the input stream, transcode it and send it to a multicast IP address with the associated SAP announce :

% vlc -vvv input_stream --sout '#duplicate{dst=display,dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=udp,mux=ts,url=,sap=TestStream}"}'

Transcode the input stream, display the transcoded stream and send it to a multicast IP address with the associated SAP announce :

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=standard{access=udp,mux=ts,url=,sap=TestStream}}'

:VLC user guide

Table of Contents 

  1. Introduction

    What is the VideoLAN project ?
    What is a codec ?
    How can I use VideoLAN ?
    Command line usage
  2. Modules and options for VLC

    The modules
    Access modules
    Codec modules
    Video outputs
    Video filters modules
    Audio outputs
    Interface modules
    OS support modules
    Compilation Options
  3. Installing VLC

    Installing VLC
    Uninstalling VLC
  4. The command line interface

    Opening streams
    Modules selection
    Stream Output
    Other Options
  5. The HTTP interface

    The RPN evaluator
    The macros
  6. Other interfaces

    Graphical user interfaces
    Control Interfaces
  7. The Mozilla plugin

    Install the plugin
    Build HTML pages that use the plugin

4. The command line interface 

Modules selection 

VLC tries to select the most appropriate interface, input and output modules, among the ones available on the system, according to the stream it is given to read. However, you may wish to force the use of a specific module with the following options (for the complete list of modules, see the Modules and options for VLCmodules section) :

--intf <module> allows you to select the interface module.
--extraintf <module> allows you to select extra interface modules that will be launched in addition to the main one.
--aout <module> allows you to select the audio output module.
--vout <module> allows you to select the video output module.
--filter <module> allows you to add a video filter module.
--memcpy <module> allows you to choose a memory copy module.

Stream Output 

Architecture and syntax 

the stream output has a powerful architecture that uses modules. Each module has capabilities, and you can chain the modules to enhance the possibilities.

Here is the list of the modules currently available:

Each of these modules may take options. Here is the syntax that you must use:

% vlc input_stream --sout '#module1{option1=...,option2=...}:module2{option1=...,option2=...}:...'

For example, to transcode a stream and send it, use:

% vlc input_stream --sout '#transcode{options}:standard{options}'
Description of the modules 

standard (alias std)

Sends a stream.



Changes the codec and/or bitrates for a stream.


Other Options 

Audio options 
--noaudio disables audio output.
--mono forces VLC to treat the stream in mono audio.
--volume <integer> sets the level of audio output.
--aout-rate <integer> sets the audio output frequency (Hz).
--desync <integer> compensates desynchronization of audio (ms).
--headphone activates headphone virtual spatialization effect.
--headphone-dim sets headphone characteristic dimension.
Video options 
--novideo disables video output.
--greyscale turns video output into greyscale mode.
--fullscreen sets fullscreen video.
--nooverlay disables hardware acceleration for the video output.
--width, --height <integer> sets the video window dimensions.
--zoom <float> adds a zoom factor.
--aspect-ratio <mode> forces source aspect ratio.
--spumargin <integer> forces SPU subtitles postion.

Extracting streams with :VLC

stealthdave 04-07-2005

Now that we have some fantastic ty and vstream modules for VLC (thanks, Neal!), we can now use vlc to give us an mpeg fit for DVD, VCD and SVCD use!

To convert a ty stream from the tivo via vstream, first download and install the ty and vstream modules for vlc on your platform. (Currently Win32, Mac OS X, and Linux x86 binaries are available, as well as source code.) Next, open a command prompt use the following command:

$ vlc -I rc tivo://tivo/123456 ':sout=#transcode
{access=file,mux=ps,url=stream.mpg}' vlc:quit

The #transcode part is the key. This example will give you a nice, standard mpeg-II audio track at 224kbps and a DVD-friendly 48kHz sample rate. For (S)VCD, you'll want to change that to ab=192,samplerate=44100. Want a nice AC3 stream? No problem! Use a52,ab=384,samplerate=48000. If you don't want to do any transcoding, just use 'sout:stdfile…'.

To break it down:

You can even do full transcoding by specifying a video codec, ala vcodec=xvid,vb=800 (don't forget to change the muxer, too). This will obviously take a lot more processor time, though, whereas just transcoding the audio is pretty easy stuff for most pcs. For more transcoding options, check out

Note for Mac OS X users: To use vlc from the command-line, you need to use the file that is burried within If you have VLC in your main Applications folder, your command-line will look like this:

$ /Applications/ -I rc test.ty ':sout=#transcode
{access=file,mux=ps,url=stream.mpg}' vlc:quit

Now you can extract and convert streams to mpeg on the Mac! Thanks to tx413 for not only creating the necessary vlc modules, but also the idea to use vlc for converting the streams to standard mpegs with transcoded audio. My next project will be to create a java-based gui so that you can point-and- click extract your programs on any platform supporting Java and VLC.

Extracting streams with :VLC 

lgkahn 04-08-2005 11:42 PM

I figured out what was wrong your post is wrong on post 1 of this thread.. it is missing the /ty

the command should be this:

start /wait vlc -I rc tivo/ty://tivo1/187343 ":sout=#transcode
{access=file,mux=ps,url=godfatheriii.mpg}" vlc:quit


start /wait vlc -I rc tivo//tivo1/187343 ":sout=#transcode
{access=file,mux=ps,url=godfatheriii.mpg}" vlc:quit

then it works fine

Howto keep a transcoded file 

Date: 2004-07-26
> > When I do :
> >
> > vlc -v -I rc --sout="#transcode{vcodec=theo,vb=512,scale=0.5,acodec=vorb,ab=64,channels=2}:duplicate{dst=std{access=file,mux=ogg,url=\"out.ogg\"}}" "my.avi" vlc:quit
> >
> > It runs along creating a nice big ogg file, but at completion, that file
> > gets set to size 0 :(.
> vlc:quit is a playlist item like another one so the global --sout option
> applies to it as well, thus overwritting your previous file.
> What you want is to use "sout" as an input option by using ":sout=" instead
> of "--sout=", and moving the option just after your first input (input
> options apply to the input/playlist item preceding them).
> Most global options (vlc -H --advanced) that have an effect on
> inputs/playlist items can also be used as input options.

Hi Gildas,

Just reporting that your instruction was the answer. Transcoded file remains :).

FYI I used :

vlc -v -I rc  "in.avi"
":sout=#transcode{vcodec=theo,vb=512,scale=0.5,acodec=vorb,ab=64,channels=2}:std{access=file,mux=ogg,url=\"my.ogg\"}" vlc:quit


James B. MacLean

What are MPEG-2 TS and MPEG-2 PS?

In the MPEG-2 standard, there are two types of audio video synchronization, TS and PS. TS is Transport Stream which are aimed for communication and broadcasting applications. PS is Program Stream which can be used for storage applications such as DVD. Therefore, it is recommended to select each type according to application and playback specifications.

What are MPEG-2 TS and MPEG-2 PS?

VLS can stream MPEG files that meet two critera :

You can download this streamable MPEG-2 PS file for your tests : presentation_short.vob .