Chapter 9.  Fortgeschrittene Nutzung der Stream-Ausgabe von VLC (Umkodierung, multiples Streaming, etc.)

Table of Contents

Die Syntax
Beispiele

Die Syntax

Bitte benutzen Sie das Command-Line-Interface-Kapitel des VLC-Userguides, um die Syntax von VLCs Streamausgabe. Sie finden den VLC-Userguide auf der Dokumentationsseite.

Beispiele

Umkodierung

Umkodieren des Input-Streams und senden an eine Multicast-IP-Adresse mit der zugehörigen SAP-Ankündigung:

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

Den Input-Stream anzeigen, umkodieren und an eine Multicast-IP-Adresse mit der zugehörigen SAP-Ankündigung senden:

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

Umkodieren des Input-Streams, Anzeige des umkodierten Streams und Senden an eine Multicast-IP-Adresse mit der zugehörigen SAP-Ankündigung:

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

Multiples Streaming

Senden eines Streams an eine Multicast-IP-Adresse und eine Unicast-IP-Adresse:

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

Anzeige des Streams und Senden an zwei Unicast-IP-Adressen:

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

Teile eines mehrfachen Programm-Eingangsstream senden:

% vlc -vvv mehrfacher_programm_eingangstream --sout '#duplicate{dst=standard{access=udp,mux=ts,url=239.255.12.42},select="program=12345",
dst=standard{access=udp,mux=ts,url=239.255.12.43}, select="video,program=1234-2345"}'

Dieser Befehl sendet das Programm des Eingangsstreams, dessen ID 12345 ist, an 239.255.12.42 und alle Videoprogramme mit einer ID zwischen 1234 und 2345 an 239.255.12.43.

Umkodieren und multiples Streaming

Umkodieren des Input-Streams, Anzeige des umkodierten Streams und senden dessen an eine Multicast-IP-Adresse mit der zugehörigen SAP-Ankündigung und an eine Unicast-IP-Adresse:

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

Anzeige des Input-Streams, Umkodierung dessen und senden dessen an zwei Unicast-IP-Adressen:

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

Senden des Input-Streams an eine Multicast-IP-Adresse und des umkodierten Streams an eine andere Multicast-IP-Adresse mit der zugehörigen SAP-Ankündigung:

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

HTTP-Streaming

Streamen per HTTP:

  • Führen Sie auf dem Server aus:

    % vlc -vvv input_stream --sout '#standard{access=http,mux=ogg,url=server.example.org:8080}'
    
  • Führen Sie bei den Clients aus:

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

Umkodieren und Streamen per 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}'

Beispielsweise wenn Sie eine Audio-CD in Ogg/Vorbis per HTTP streamen möchten:

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

RTP-Streaming

Streamen per RTP/RTSP:

  • Führen Sie auf dem Server aus:

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

    oder

    % vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://server.example.org:8080/test.sdp}'
    
  • Führen Sie bei den Clients aus:

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

    oder

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

    wird dem Server erlauben, den Stream an jeden Client zu senden, der ihn anfordert.

Benutzung des es-Moduls

Teilen von Bild und Ton in zwei PS-Dateien:

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

Extrahieren der Tonspur des Input-Streams in eine TS-Datei:

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

Streamen der Tonspur über einen Port und der Bildspur über einen anderen Port per Unicast:

  • Auf der Serverseite:

    % vlc -vvv input_stream --sout
    '#es{access=rtp,mux=ts,url_audio=192.168.1.2:1212,url_video=192.168.1.2:1213}'
    
  • auf der Clientseite: Zum Empfangen des Tons:

    % vlc udp:@:1212
    

    Zum Empfangen des Bildes:

    % vlc udp:@:1213
    

Streamen des Bildes per Multicast und speichern des Tonsfile:///usr/share/doc/mozilla-browser/localstart.html in einer Datei:

% 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

Sie können auch das es-Modul mit den anderen Modulen kombinieren, um noch komplexere Lösungen aufzusetzen.