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 . |