Linha de comando do VLC: cvlc, streaming e automação
Por trás da GUI, o VLC é um motor de mídia completo de linha de comando. O binário sem interface cvlc (ou vlc --intf dummy) permite scriptar reprodução, rodar um servidor de streaming, converter lotes e até controlar uma instância em execução via interface de texto. Se você gerencia mídia num servidor ou NAS, este é o guia que destrava o VLC para você.
Etapa 1 — Reprodução básica a partir do terminal
No Linux/macOS, o cvlc é instalado com o VLC. No Windows, use o caminho completo: "C:\Program Files\VideoLAN\VLC\vlc.exe" com as flags --intf abaixo.
O binário está disponível.
Reproduza um arquivo sem interface:
cvlc /path/to/movie.mkv --intf dummy --play-and-exitO VLC reproduz o arquivo e sai sem janela.
Liste os fluxos do arquivo sem reproduzir:
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Informações de codec e fluxo são impressas.
Etapa 2 — Transmita um arquivo ou dispositivo para a rede
Stream HTTP:
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"O VLC serve o stream na porta 8080; qualquer player abre http://
:8080. Stream de webcam/dispositivo ao vivo:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) ou dshow:// (Windows).Um stream H.264 ao vivo é transmitido.
Pare com Ctrl+C — o VLC limpa o listener.
O stream termina.
Etapa 3 — Converta em lote com um comando
Arquivo único:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitO arquivo é convertido.
Percorra uma pasta:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneCada arquivo é convertido em sequência.
Verifique a alternativa ffmpeg primeiro para trabalhos pesados — o cvlc codifica em software e é mais lento que o ffmpeg com codificadores de hardware.
Você escolheu a ferramenta certa.
Etapa 4 — A interface rc para controle remoto
- Inicie com um canal de controle:
cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv - Conecte de outro terminal:
telnet 127.0.0.1 4212(Linux/macOS) ou use um cliente telnet no Windows. - Comandos: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Scriptável via arquivo: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv
Perguntas frequentes
Qual a diferença entre vlc e cvlc?
O VLC pode transmitir minha webcam para uma página web?
Por que a conversão CLI é mais lenta que a GUI?
Como acho todas as opções CLI do VLC?
cvlc --longhelp (ou --help --help-verbose) e envie para um arquivo: cvlc --longhelp > vlc-help.txt. As opções por módulo estão listadas nas seções "Stream output".