Chapter 9.  Utilización avanzada de la salida de transmisión de VLC (transcodificación, múltiples transmisiones, etc...)

Table of Contents

La sintaxis
Ejemplos

La sintaxis

Por favor consulte el capítulo interfaz de línea de comandos de la guía de usuario de VLC para aprender la sintaxis de la salida de transmisión de VLC. Puedes encontrar la guía de usuario de VLC en la página de documentación http://www.videolan.org/doc/ .

Ejemplos

Transcodificación

Transcodificar el flujo de entrada y enviarlo a una dirección IP multicast con el correspondiente anuncio SAP asociado :

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

Mostrar el flujo de entrada, transcodificarlo y enviarlo a la dirección multicast con el correspondiente anuncio SAP asociado :

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

Transcodificar el flujo de entrada, mostrar el flujo transcodificado y enviarlo a la dirección IP multicast con el correspondiente anuncio SAP asociado :

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

Transmisión múltiple

Enviar un flujo a una dirección IP multicast y a una dirección 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}}'

Mostrar el flujo y enviarlo a dos direcciones 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}}'

Transcodificación y transmisión múltiple

Transcodificar el flujo de entrada, mostrar el flujo transcodificado y enviarlo a una dirección IP multicast con el correspondiente anuncio SAP asociado y a una dirección 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}}'

Mostrar el flujo de entrada, transcodificarlo y enviarlo a dos direcciones 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}"}'

Enviar el flujo de entrada a una dirección IP multicast y el flujo transcodificado a otra dirección IP multicast con los correspondientes anuncios SAP asociados :

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

Transmisión HTTP

Transmitir en HTTP :

  • en el servidor, ejecuta :

    % vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,url=server.example.org:8080}'
    
  • en el/los cliente(s), ejecuta :

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

Transcodificación y transmisión 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}'

Por ejemplo, si se quiere transmitir un CD de audio en Ogg/Vorbis sobre HTTP :

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

Transmisión RTP

Transmitir en RTP/RTSP :

  • en el servidor, ejecuta :

    % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=http://server.example.org:8080/test.sdp}'
    
    % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
    
  • en el/los cliente(s), ejecuta :

    % vlc http://server.example.org:8080/test.sdp
    
    % 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}'
    

    FIXME .

Utilización del módulo es

Separa el audio y el vídeo en dos fichero PS :

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

Extrae la pista de sonido del flujo de entrada a un fichero TS :

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

Transmite en unicast la pista de sonido en un puerto y el vídeo en otro :

  • en la parte servidor :

    % vlc -vvv input_stream --sout
    '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}'
    
  • en la parte cliente: para recibir el audio :

    % vlc udp:@:1212
    

    para recibir el vídeo :

    % vlc udp:@:1213
    

Transmite el vídeo en multicast y envía el audio a un fichero :

% 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

Se puede combinar también el módulo es con otros módulos para elaborar soluciones incluso más complicadas .