Wiersz poleceń VLC: cvlc, strumieniowanie i automatyzacja
Za interfejsem graficznym VLC jest pełny silnik multimediów wiersza poleceń. Plik binarny bez interfejsu cvlc (lub vlc --intf dummy) pozwala skryptować odtwarzanie, uruchomić serwer strumieniowy, konwertować wsadowo, a nawet sterować działającą instancją przez interfejs tekstowy. Jeśli zarządzasz mediami na serwerze lub NAS, to przewodnik, który odblokowuje VLC dla Ciebie.
Krok 1 — Podstawowe odtwarzanie z terminala
W Linuksie/macOS cvlc instalowany jest wraz z VLC. W Windows użyj pełnej ścieżki: „C:\Program Files\VideoLAN\VLC\vlc.exe” z flagami --intf poniżej.
Plik binarny jest dostępny.
Odtwórz plik bez interfejsu:
cvlc /path/to/movie.mkv --intf dummy --play-and-exitVLC odtwarza plik i wychodzi bez żadnego okna.
Wylistuj strumienie pliku bez odtwarzania:
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Wydrukowane zostają informacje o kodeku i strumieniu.
Krok 2 — Strumieniuj plik lub urządzenie do sieci
Strumień HTTP:
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC serwuje strumień na porcie 8080; dowolny odtwarzacz może otworzyć http://
:8080. Strumień na żywo z kamery/urządzenia:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) lub dshow:// (Windows).Nadawany jest strumień H.264 na żywo.
Zatrzymaj przez Ctrl+C — VLC czyści nasłuchującego.
Strumień się kończy.
Krok 3 — Wszczna konwersja jednym poleceniem
Pojedynczy plik:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitPlik zostaje przekonwertowany.
Pętla po folderze:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneKażdy plik jest konwertowany po kolei.
Najpierw sprawdź alternatywę ffmpeg dla ciężkich zadań — cvlc koduje programowo i jest wolniejszy niż ffmpeg ze sprzętowymi koderami.
Wybrałeś właściwe narzędzie do zadania.
Krok 4 — Interfejs rc do zdalnego sterowania
- Uruchom z kanałem sterowania:
cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv - Połącz z innego terminala:
telnet 127.0.0.1 4212(Linux/macOS) lub użyj klienta telnet w Windows. - Polecenia: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Skryptowalne przez plik: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv
Częste pytania
Jaka jest różnica między vlc a cvlc?
Czy VLC może strumieniować moją kamerę internetową do strony WWW?
Dlaczego konwersja CLI jest wolniejsza niż GUI?
Jak znaleźć wszystkie opcje CLI VLC?
cvlc --longhelp (lub --help --help-verbose) i przekieruj do pliku: cvlc --longhelp > vlc-help.txt. Opcje per-moduł są wymienione w sekcjach „Stream output”.