VLC da Linea di Comando: cvlc, Streaming e Automazione

Avanzato Ultimo aggiornamento: Si applica a: Windows / macOS / Linux · VLC 3.0.x

Dietro la GUI, VLC è un motore multimediale completo da linea di comando. Il binario headless cvlc (o vlc --intf dummy) ti permette di scriptare la riproduzione, eseguire un server di streaming, convertire batch e persino controllare un'istanza in esecuzione tramite un'interfaccia testuale. Se gestisci media su un server o NAS, questa è la guida che sblocca VLC per te.

Passo 1 — Riproduzione base dal terminale

  1. Su Linux/macOS, cvlc è installato con VLC. Su Windows, usa il percorso completo: "C:\Program Files\VideoLAN\VLC\vlc.exe" con i flag --intf qui sotto.

    Il binario è disponibile.

  2. Riproduci un file headless: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    VLC riproduce il file ed esce senza alcuna finestra.

  3. Elenca gli stream del file senza riprodurre: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    Sono stampate info codec e stream.

Nota--play-and-exit è il flag workhorse per gli script: VLC esce alla fine del file, così i job cron/systemd terminano pulitamente.

Passo 2 — Trasmetti un file o dispositivo in rete

  1. Stream HTTP: cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"

    VLC serve lo stream sulla porta 8080; ogni player può aprire http://:8080.

  2. Stream live webcam/dispositivo: cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}" (Linux) o dshow:// (Windows).

    È trasmesso uno stream H.264 live.

  3. Ferma con Ctrl+C — VLC pulisce il listener.

    Lo stream termina.

Passo 3 — Conversione batch con un comando

  1. File singolo: cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exit

    Il file è convertito.

  2. Loop su una cartella: for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    Ogni file è convertito in sequenza.

  3. Controlla prima l'alternativa ffmpeg per job pesanti — cvlc codifica in software ed è più lento di ffmpeg con encoder hardware.

    Hai scelto lo strumento giusto per il lavoro.

Passo 4 — L'interfaccia rc per il controllo remoto

  • Avvia con un canale di controllo: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • Connetti da un altro terminale: telnet 127.0.0.1 4212 (Linux/macOS) o usa un client telnet su Windows.
  • Comandi: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
  • Scriptabile via file: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

Domande frequenti

Qual è la differenza tra vlc e cvlc?
cvlc è lo stesso binario senza interfacce GUI caricate — esiste su tutte le piattaforme ma è un wrapper su alcuni pacchetti Linux. Su Windows, aggiungi --intf dummy alla chiamata vlc.exe per lo stesso effetto.
VLC può trasmettere la mia webcam a una pagina web?
Sì — l'esempio device-stream del Passo 2 serve uno stream HTTP, e puoi integrarlo con un tag video HTML5 puntato all'URL (il mux TS funziona nella maggior parte dei browser).
Perché la conversione CLI è più lenta della GUI?
Non lo è — entrambi usano lo stesso encoder software. La GUI sembra solo più amichevole. Se la velocità conta, usa ffmpeg con encoder GPU.
Come trovo tutte le opzioni CLI di VLC?
Esegui cvlc --longhelp (o --help --help-verbose) e pipe a un file: cvlc --longhelp > vlc-help.txt. Le opzioni per-modulo sono sotto le sezioni "Stream output".