VideoLAN HOWTO
Prev | Chapter 9. Advanced use of VLC's stream output (transcoding, multiple streaming, etc...) | Next

# 9.2. Examples

## 9.2.1. Transcoding

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=239.255.12.42,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=239.255.12.42,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=239.255.12.42,sap=TestStream}}'

## 9.2.2. Multiple streaming

Send a stream to a multicast IP address and a unicast IP address :

    % vlc -vvv input_stream --sout '#duplicate{dst=
    standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream},
    dst=standard{access=udp,mux=ts,url=192.168.1.2}}'

Display the stream and send it to two unicast IP addresses :

    % vlc -vvv input_stream --sout '#duplicate{dst=display,dst=
    standard{access=udp,mux=ts,url=192.168.1.12},
    dst=standard{access=udp,mux=ts,url=192.168.1.42}}'

## 9.2.3. Transcoding and multiple streaming

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

    % 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=239.255.12.42,sap=TestStream},
    dst=standard{access=udp,mux=ts,url=192.168.1.2}}'

Display the input stream, transcode it and send it to two unicast IP addresses :

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

Send the input stream to a multicast IP address and the transcoded stream to another multicast IP address with the associated SAP announces :

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

## 9.2.4. HTTP streaming

Stream in HTTP :

- on the server, run :

      % vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,url=server.example.org:8080}'

- on the client(s), run :

      % vlc http://server.example.org:8080

Transcode and stream in HTTP :

    % vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
    standard{access=http,mux=ogg,url=server.example.org:8080}'

For example, if you want to stream an audio CD in Ogg/Vorbis over HTTP :

    % vlc -vvv cdda:/dev/cdrom --sout '#transcode{acodec=vorb,ab=128}:
    standard{access=http,mux=ogg,url=server.example.org:8080}'

## 9.2.5. Use the es module

Separate audio and video in two PS files :

    % vlc -vvv input_stream --sout
    '#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}'

Extract the audio track of the input stream to a TS file :

    % vlc -vvv input_stream --sout '#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}'

Stream in unicast the audio track on a port and the video track on another port :

- on the server side :

      % vlc -vvv input_stream --sout
      '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}'

- on the client side: to receive the audio :

      % vlc udp:@:1212

  to receive the video :

      % vlc udp:@:1213

Stream in multicast the video and dump the audio in a file :

    % vlc -vvv input_stream --sout '#es{access_video=udp,mux_video=ts,url_video=239.255.12.42,
    access_audio=file,mux_audio=ps,url_audio=audio-%c.%m}'

| You can also combine the es module with the other modules to set-up even more complex solution .

Prev | Home | Next
The syntax | Up | Stream in IPv6