Командний рядок VLC: cvlc, потокове мовлення та автоматизація
Поза графічним інтерфейсом VLC — повноцінний медіа-рушій командного рядка. Бінарний файл без інтерфейсу cvlc (або vlc --intf dummy) дає змогу скриптувати відтворення, запустити сервер потокового мовлення, пакетно перетворювати і навіть керувати запущеним екземпляром через текстовий інтерфейс. Якщо ви керуєте медіа на сервері чи NAS, цей посібник відкриє для вас VLC.
Крок 1 — Базове відтворення з терміналу
У Linux/macOS cvlc встановлюється разом із VLC. У Windows використовуйте повний шлях: "C:\Program Files\VideoLAN\VLC\vlc.exe" з прапорцями --intf, наведеними нижче.
Бінарний файл доступний.
Відтворіть файл без інтерфейсу:
cvlc /path/to/movie.mkv --intf dummy --play-and-exitVLC відтворює файл і виходить без жодного вікна.
Перелічіть потоки файлу без відтворення:
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Виводяться відомості про кодек і потік.
Крок 2 — Транслюйте файл або пристрій у мережу
HTTP-потік:
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC віддає потік на порту 8080; будь-який плеєр може відкрити http://
:8080. Живий потік вебкамери/пристрою:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) або dshow:// (Windows).Транслюється живий потік H.264.
Зупиніть через Ctrl+C — VLC звільняє слухач.
Потік завершується.
Крок 3 — Пакетне перетворення однією командою
Окремий файл:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitФайл перетворено.
Цикл по папці:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneКожен файл перетворюється послідовно.
Для важких завдань спершу розгляньте альтернативу ffmpeg — cvlc кодує програмно і повільніший за ffmpeg з апаратними кодувальниками.
Ви обрали правильний інструмент.
Крок 4 — Інтерфейс rc для віддаленого керування
- Запустіть із каналом керування:
cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv - Підключіться з іншого терміналу:
telnet 127.0.0.1 4212(Linux/macOS) або скористайтеся telnet-клієнтом у Windows. - Команди: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Можна скриптувати через файл: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv
Часті запитання
У чому різниця між vlc і cvlc?
Чи може VLC транслювати мою вебкамеру на веб-сторінку?
Чому перетворення через CLI повільніше за GUI?
Як знайти всі опції CLI VLC?
cvlc --longhelp (або --help --help-verbose) і перенаправте у файл: cvlc --longhelp > vlc-help.txt. Опції за модулями наведено в розділах "Stream output".