Příkazový řádek VLC: cvlc, streamování a automatizace

Pokročilý Poslední aktualizace: Platí pro: Windows / macOS / Linux · VLC 3.0.x

Za GUI je VLC plnohodnotný mediální engine pro příkazový řádek. Binárka bez GUI cvlc (nebo vlc --intf dummy) umožňuje skriptovat přehrávání, spustit streamovací server, převádět dávky a dokonce ovládat běžící instanci přes textové rozhraní. Pokud spravujete média na serveru nebo NAS, tento průvodce vám VLC odemkne.

Krok 1 — Základní přehrávání z terminálu

  1. Na Linuxu/macOS je cvlc nainstalováno s VLC. Na Windows použijte plnou cestu: „C:\Program Files\VideoLAN\VLC\vlc.exe" s příznaky --intf níže.

    Binárka je dostupná.

  2. Přehrajte soubor bez GUI: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    VLC přehraje soubor a ukončí se bez okna.

  3. Vypište streamy souboru bez přehrávání: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    Vytiskne se informace o kodeku a streamu.

Poznámka--play-and-exit je pracovní příznak pro skripty: VLC skončí, když soubor skončí, takže úlohy cron/systemd čistě skončí.

Krok 2 — Streamujte soubor nebo zařízení do sítě

  1. HTTP stream: cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"

    VLC podává stream na portu 8080; jakýkoli přehrávač otevře http://:8080.

  2. Live stream webkamery/zařízení: cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}" (Linux) nebo dshow:// (Windows).

    Vysílá se live H.264 stream.

  3. Zastavte Ctrl+C — VLC uklidí naslouchače.

    Stream skončí.

Krok 3 — Dávkový převod jedním příkazem

  1. Jeden soubor: cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exit

    Soubor je převeden.

  2. Procházení složkou: for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    Každý soubor je převeden postupně.

  3. Nejdřív zvažte alternativu ffmpeg pro těžké úlohy — cvlc kóduje softwarově a je pomalejší než ffmpeg s hardwarovými kodéry.

    Zvolili jste správný nástroj.

Krok 4 — Rozhraní rc pro vzdálené ovládání

  • Spusťte s řídicím kanálem: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • Připojte z jiného terminálu: telnet 127.0.0.1 4212 (Linux/macOS) nebo použijte telnet klienta na Windows.
  • Příkazy: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
  • Skriptovatelné přes soubor: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

Časté dotazy

Jaký je rozdíl mezi vlc a cvlc?
cvlc je stejná binárka bez načtených GUI rozhraní — existuje na všech platformách, ale na některých balíčích Linuxu je to obálka. Na Windows přidejte --intf dummy k volání vlc.exe pro stejný efekt.
Může VLC streamovat moji webkameru na webovou stránku?
Ano — příklad streamu zařízení ve Kroku 2 podává HTTP stream, který můžete vložit značkou HTML5 video odkazující na URL (TS mux funguje ve většině prohlížečů).
Proč je převod z CLI pomalejší než z GUI?
Není — oba používají stejný softwarový kodér. GUI jen vypadá přátelštěji. Pokud záleží na rychlosti, použijte ffmpeg s hardwarovými kodéry.
Jak najdu všechny možnosti CLI VLC?
Spusťte cvlc --longhelp (nebo --help --help-verbose) a přesměrujte do souboru: cvlc --longhelp > vlc-help.txt. Možnosti po modulech jsou uvedeny pod sekcemi „Stream output".