VLC-Kommandozeile: cvlc, Streaming & Automatisierung
Hinter der GUI steckt eine vollwertige Kommandozeilen-Medien-Engine. Der headless-Binary cvlc (oder vlc --intf dummy) ermöglicht es Ihnen, Wiedergabe zu scripten, einen Streaming-Server zu betreiben, Stapel zu konvertieren und sogar eine laufende Instanz über eine Text-Schnittstelle zu steuern. Wenn Sie Medien auf einem Server oder NAS verwalten, ist dies der Leitfaden, der VLC für Sie erschließt.
Schritt 1 — Grundlegende Wiedergabe vom Terminal
Unter Linux/macOS wird cvlc mit VLC installiert. Unter Windows den vollständigen Pfad verwenden: „C:\Program Files\VideoLAN\VLC\vlc.exe" mit den unten stehenden --intf-Flags.
Der Binary ist verfügbar.
Eine Datei headless abspielen:
cvlc /pfad/zu/film.mkv --intf dummy --play-and-exitVLC spielt die Datei ab und beendet sich ohne Fenster.
Die Streams der Datei auflisten, ohne abzuspielen:
cvlc film.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Codec- und Stream-Informationen werden ausgegeben.
Schritt 2 — Eine Datei oder ein Gerät ins Netzwerk streamen
HTTP-Stream:
cvlc film.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC liefert den Stream auf Port 8080; jeder Player kann http://
:8080 öffnen. Live-Webcam-/Geräte-Stream:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) oder dshow:// (Windows).Ein Live-H.264-Stream wird gesendet.
Mit Ctrl+C stoppen — VLC räumt den Listener auf.
Der Stream endet.
Schritt 3 — Batch-Konvertierung mit einem Befehl
Einzeldatei:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitDie Datei ist konvertiert.
Schleife über einen Ordner:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneJede Datei wird der Reihe nach konvertiert.
Für schwere Jobs zuerst die ffmpeg-Alternative prüfen — cvlc kodiert in Software und ist langsamer als ffmpeg mit Hardware-Encodern.
Sie haben das richtige Werkzeug gewählt.
Schritt 4 — Die rc-Schnittstelle für Fernsteuerung
- Mit einem Steuerkanal starten:
cvlc --extraintf rc --rc-host 127.0.0.1:4212 film.mkv - Von einem anderen Terminal verbinden:
telnet 127.0.0.1 4212(Linux/macOS) oder unter Windows einen Telnet-Client verwenden. - Befehle: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Per Datei scriptbar: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty film.mkv
Häufige Fragen
Was ist der Unterschied zwischen vlc und cvlc?
Kann VLC meine Webcam auf eine Webseite streamen?
Warum ist die CLI-Konvertierung langsamer als die GUI?
Wie finde ich alle VLC-CLI-Optionen?
cvlc --longhelp ausführen (oder --help --help-verbose) und in eine Datei umleiten: cvlc --longhelp > vlc-help.txt. Die Optionen pro Modul sind unter „Stream output"-Abschnitten gelistet.