VLC знаком почти всем как «плеер, который открывает всё». На Linux он действительно запускает большинство форматов без установки кодеков, но этим возможности не ограничиваются. Внутри — конвертер, захват экрана, HTTP-сервер управления, тонкая настройка задержек и пакетная обработка файлов. Покажу приёмы, которые пригодятся в обычной работе и в диагностике мультимедиа.
Установка и запуск из терминала
В большинстве дистрибутивов VLC есть в репозитории. Для скриптов удобнее консольная обёртка cvlc: она не открывает интерфейс и завершает работу по vlc://quit.
sudo apt install vlc
vlc --version
cvlc --help
flatpak install flathub org.videolan.VLC
Настройки хранятся в ~/.config/vlc/vlcrc, кэш плагинов — в ~/.cache/vlc. Если после обновления плеер ведёт себя странно, попробуйте vlc --reset-config и vlc --reset-plugins-cache. Это безопаснее, чем удалять каталог целиком: плейлисты и настройки путей останутся на месте.
Конвертация и пережатие без GUI
Через «Медиа → Конвертировать/Сохранить» можно перекодировать файл вручную, но для серии файлов удобнее командная строка. Пример пережатия в H.264/AAC:
cvlc video.mkv --sout '#transcode{vcodec=h264,vb=2000,acodec=mp4a,ab=128}:standard{access=file,mux=mp4,dst=video.mp4}' vlc://quit
Параметр vb задаёт битрейт видео в кбит/с, ab — звука. Для архива лучше использовать vb=0 и явный CRF, если сборка VLC его поддерживает, но для бытовых задач хватает фиксированного битрейта. Проверьте результат через ffprobe или откройте файл в VLC и посмотрите статистику кодеков.
Пакетная обработка в оболочке выглядит так:
for f in *.avi; do
cvlc "$f" --sout "#transcode{vcodec=h264,vb=1500,acodec=mp4a,ab=128}:standard{access=file,mux=mp4,dst=${f%.avi}.mp4}" vlc://quit
done
Такой цикл не перезаписывает исходники и работает последовательно. Для десятков файлов лучше заранее проверить один, чтобы не ждать час ради неверного соотношения сторон.
Запись экрана и потока
VLC умеет захватывать экран через модуль screen://. Это работает в X11; в Wayland доступ к экрану ограничен, поэтому надёжнее использовать инструменты портала или OBS. Пример записи с транскодированием:
cvlc screen:// :screen-fps=25 :screen-caching=300 \
--sout '#transcode{vcodec=h264,vb=2500}:standard{access=file,mux=mp4,dst=screen.mp4}' vlc://quit
Кнопка записи в интерфейсе сохраняет текущий поток в файл, а не только показывает его. Это удобно для легальных трансляций и собственных записей, но не стоит записывать чужой контент без разрешения. Для сетевого потока можно указать --input-record-path и заранее создать каталог.
Сеть, HTTP-интерфейс и пульт
VLC может отдавать файл по HTTP для другого устройства в локальной сети:
cvlc video.mp4 --sout '#standard{access=http,mux=ts,dst=:8080}'
ss -tulpn | grep 8080
vlc --extraintf http --http-password 'сложный_пароль' --http-port 8081
Второй вариант включает веб-интерфейс: через браузер можно управлять плейлистом и громкостью. Пароль обязателен, а порт лучше не открывать в интернет — достаточно локальной сети или SSH-туннеля. Для SSH-доступа выполните ssh -L 8081:127.0.0.1:8081 user@host и откройте http://127.0.0.1:8081 на своей машине.
Для отладки сетевого воспроизведения запускайте плеер с -vvv: в логе видно, какой модуль доступа выбран, какие кодеки найдены и где обрывается соединение. Это быстрее, чем гадать по чёрному экрану.
vlc -vvv video.mp4 2>&1 | grep -i -E 'error|codec|access'
cvlc --list | grep -i http
vlc --longhelp | grep -i http
journalctl --user -n 20 --no-pager
Плейлисты, субтитры и звуковые дорожки
VLC читает m3u, pls и xspf, умеет запоминать позицию и автоматически подхватывать внешние субтитры с тем же именем, что и видео. Если субтитры в другой кодировке, откройте «Субтитры → Добавить файл» и выберите кодировку вручную; для старых файлов с субтитрами часто помогает CP1251. Переключение дорожек — клавишей B, субтитров — V. В настройках можно включить сохранение позиции просмотра, тогда фильм продолжится с того же места после перезапуска.
file -i movie.srt
cvlc movie.mkv --sub-file=movie.srt --sub-delay=250
cvlc --rate=1.25 movie.mkv
cvlc --play-and-exit playlist.m3u
Если звук отстаёт или опережает картинку, не спешите перекодировать файл: задержка в пределах нескольких сотен миллисекунд лечится клавишами J и K и не портит исходник. Для субтитров работает та же логика с G и H. Значения сбрасываются при открытии нового файла, поэтому для сериала лучше сразу выставить их в настройках синхронизации.
Сетевые потоки открываются через «Медиа → Открыть URL»: подойдут легальные интернет-радио и подкасты. Адрес можно передать и в командной строке, а --play-and-exit завершит плеер после окончания потока. Не стоит использовать этот механизм для доступа к контенту, который распространяется без разрешения правообладателя.
Горячие клавиши и незаметные настройки
JиK— сдвиг звука на ±50 мс;GиH— то же для субтитров.+и-— скорость воспроизведения,Shift+S— снимок кадра.F— полный экран,Space— пауза,Ctrl+NиCtrl+P— следующий и предыдущий файл.- Эквалайзер включается в «Инструменты → Эффекты и фильтры → Аудиоэффекты»; настройки можно сохранить как профиль.
- Аппаратное декодирование задаётся ключом
--avcodec-hw=vaapi(Intel/AMD) или--avcodec-hw=vdpau(старые NVIDIA); проверить поддержку помогаетvainfo. - Зацикливание и повтор фрагмента доступны через кнопки интерфейса; для точной синхронизации удобнее сначала выставить задержку, затем включить повтор.
Снимки по умолчанию падают в текущий каталог или в папку изображений — путь и формат задаются в настройках видео. Если снимок получается чёрным, проверьте аппаратное декодирование: некоторые драйверы не отдают кадр в буфер захвата.
Проверить, какой декодер реально используется, можно в «Инструменты → Сведения → Кодек»: если рядом с видео указан аппаратный модуль, нагрузка на CPU будет ниже. На ноутбуке с гибридной графикой помогает переменная LIBVA_DRIVER_NAME (например, iHD для современных Intel), но менять её стоит только при проблемах с воспроизведением.
Итог
VLC — это не только универсальный плеер, но и компактный мультимедийный инструмент: конвертация, запись экрана, сетевой поток и удалённое управление доступны без установки дополнительного софта. Начните с cvlc и проверки логов, затем добавляйте HTTP-интерфейс и аппаратное декодирование. Главное — не выставлять веб-пульт в открытую сеть и уважать права на контент, который вы воспроизводите или записываете.