Línea de comandos de VLC: cvlc, streaming y automatización
Detrás de la interfaz gráfica, VLC es un motor multimedia completo por línea de comandos. El binario sin interfaz cvlc (o vlc --intf dummy) te permite automatizar la reproducción, montar un servidor de streaming, convertir lotes e incluso controlar una instancia en ejecución mediante una interfaz de texto. Si gestionas medios en un servidor o NAS, esta es la guía que desbloquea VLC para ti.
Paso 1 — Reproducción básica desde el terminal
En Linux/macOS, cvlc se instala con VLC. En Windows, usa la ruta completa: "C:\Program Files\VideoLAN\VLC\vlc.exe" con los flags --intf indicados abajo.
El binario está disponible.
Reproduce un archivo sin interfaz:
cvlc /path/to/movie.mkv --intf dummy --play-and-exitVLC reproduce el archivo y sale sin mostrar ninguna ventana.
Enumera los streams del archivo sin reproducirlo:
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Se imprime la información de códec y streams.
Paso 2 — Emite un archivo o dispositivo a la red
Stream HTTP:
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC sirve el stream en el puerto 8080; cualquier reproductor puede abrir http://
:8080. Stream en vivo de webcam/dispositivo:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) o dshow:// (Windows).Se emite un stream H.264 en vivo.
Detén con Ctrl+C: VLC libera el listener.
El stream termina.
Paso 3 — Conversión por lotes con un solo comando
Archivo único:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitEl archivo se convierte.
Bucle sobre una carpeta:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneCada archivo se convierte en secuencia.
Para trabajos pesados, valora primero la alternativa ffmpeg: cvlc codifica por software y es más lento que ffmpeg con codificadores por hardware.
Has elegido la herramienta adecuada para el trabajo.
Paso 4 — La interfaz rc para control remoto
- Arranca con un canal de control:
cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv - Conéctate desde otro terminal:
telnet 127.0.0.1 4212(Linux/macOS) o usa un cliente telnet en Windows. - Comandos: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Automatizable desde un archivo: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv
Preguntas frecuentes
¿Cuál es la diferencia entre vlc y cvlc?
¿Puede VLC emitir mi webcam a una página web?
¿Por qué la conversión por CLI es más lenta que la de la interfaz gráfica?
¿Cómo encuentro todas las opciones CLI de VLC?
cvlc --longhelp (o --help --help-verbose) y redirígelo a un archivo: cvlc --longhelp > vlc-help.txt. Las opciones por módulo se listan en las secciones "Stream output".