Chapter 9.  Utilisation avancée du stream output de VLC (transcodage, diffusion multiple, ...)

Table of Contents

La syntaxe
Exemples

La syntaxe

Merci de vous référer au chapitre Ligne de commande du guide de l'utilisateur de VLC, pour apprendre la syntaxe du stream output du VLC. Vous pouvez trouver le guide de l'utilisateur de VLC sur la page documentation .

Exemples

Transcodage

Transcodez le flux d'entrée et envoyez le vers une adresse IP multicast, avec l'annonce SAP associée :

% 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,name="TestStream"}'

Affichez le flux d'entrée, transcodez le, et envoyez le sur une adresse IP multicast, avec l'annonce SAP associée :

% 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,name="TestStream"}"}'

Transcodez le flux d'entrée, affichez le flux transcodé, et envoyez le sur une adresse IP multicast, avec l'annonce SAP associée :

% 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,name="TestStream"}}'

Diffusion multiple

Envoyez un flux sur une adresse IP multicast et une adresse IP unicast :

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

Affichez le flux, et envoyez le sur deux adresses IP unicast :

% 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}}'

Transcodage et diffusion multiple

Transcodez le flux d'entrée, affichez le flux transcodé, envoyez le sur une adresse IP multicast avec l'annonce SAP aossiciée, et sur une adresse IP unicast :

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

Affichez le flux d'entrée, transcodez-le, et envoyez-le sur deux adresses IP unicast :

% 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}"}'

Envoyez le flux d'entrée sur une adresse IP multicast et le flux transcodé sur une autre adresse IP multicast, avec les annonces SAP associées :

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

Diffusion HTTP

Diffusez en HTTP :

  • sur le serveur, lancez :

    % vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,url=server.example.org:8080}'
    
  • sur le(s) client(s), lancez :

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

Transcodez et envoyez en 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}'

Par exemple, si vous désirez diffuser un CD audio en Ogg/Vorbis sur HTTP :

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

Diffusion RTP

Diffusez en RTP/RTSP :

  • sur le serveur, lancez :

    % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=http://server.example.org:8080/test.sdp}'
    

    ou

    % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
    
  • sur le(s) client(s), lancez :

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

    ou

    % vlc rtsp://server.example.org:8080/test.sdp
    

    Note

    % vlc -vvv input_stream --sout '#rtp{port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
    

    permet au serveur d'envoyer le flux à tout client en faisant la demande .

Utilisation du module es

Séparez l'audio et la vidéo en deux fichiers PS :

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

Extrayez la piste audio d'un flux, vers un fichier TS :

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

Diffusez, en unicast, la piste audio sur un port et la piste vidéo sur un autre :

  • Côté serveur :

    % vlc -vvv input_stream --sout
    '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}'
    
  • côté client: pour recevoir l'audio :

    % vlc udp:@:1212
    

    pour recevoir la vidéo :

    % vlc udp:@:1213
    

Diffusez la vidéo en multicast et envoyez l'audio dans un fichier :

% 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}'

Note

Vous pouvez également combiner le module es avec les autres modules pour élaborer des solutions encore plus complexes .