Командная строка 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 медленнее, чем через графический интерфейс?
Как найти все опции CLI VLC?
cvlc --longhelp (или --help --help-verbose) и перенаправьте в файл: cvlc --longhelp > vlc-help.txt. Опции по модулям перечислены в разделах «Stream output».