Ligne de commande VLC : cvlc, streaming et automatisation
Derrière l'interface graphique, VLC est un véritable moteur multimédia en ligne de commande. Le binaire sans interface cvlc (ou vlc --intf dummy) permet de scripter la lecture, de lancer un serveur de streaming, de convertir des lots et même de piloter une instance en cours d'exécution via une interface texte. Si vous gérez des médias sur un serveur ou un NAS, c'est le guide qui vous ouvre VLC.
Étape 1 — Lecture de base depuis le terminal
Sur Linux/macOS, cvlc est installé avec VLC. Sur Windows, utilisez le chemin complet : "C:\Program Files\VideoLAN\VLC\vlc.exe" avec les options --intf ci-dessous.
Le binaire est disponible.
Lisez un fichier sans interface :
cvlc /path/to/movie.mkv --intf dummy --play-and-exitVLC lit le fichier puis se ferme sans aucune fenêtre.
Listez les flux du fichier sans le lire :
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"Les informations de codec et de flux s'affichent.
Étape 2 — Diffusez un fichier ou un périphérique sur le réseau
Flux HTTP :
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC sert le flux sur le port 8080 ; n'importe quel lecteur peut ouvrir http://
:8080. Flux webcam/périphérique en direct :
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) ou dshow:// (Windows).Un flux H.264 en direct est diffusé.
Arrêtez avec Ctrl+C — VLC libère le port d'écoute.
Le flux se termine.
Étape 3 — Conversion par lots en une seule commande
Fichier unique :
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exitLe fichier est converti.
Boucle sur un dossier :
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; doneChaque fichier est converti à la suite.
Vérifiez d'abord l'alternative ffmpeg pour les gros travaux — cvlc encode en logiciel et est plus lent que ffmpeg avec les encodeurs matériels.
Vous avez choisi le bon outil pour la tâche.
Étape 4 — L'interface rc pour le contrôle à distance
- Démarrez avec un canal de contrôle :
cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv - Connectez-vous depuis un autre terminal :
telnet 127.0.0.1 4212(Linux/macOS) ou utilisez un client telnet sous Windows. - Commandes : play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
- Scriptable via un fichier : printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv
Questions fréquentes
Quelle est la différence entre vlc et cvlc ?
VLC peut-il diffuser ma webcam vers une page web ?
Pourquoi la conversion en CLI est-elle plus lente qu'en interface graphique ?
Comment trouver toutes les options CLI de VLC ?
cvlc --longhelp (ou --help --help-verbose) et redirigez vers un fichier : cvlc --longhelp > vlc-help.txt. Les options par module sont listées dans les sections « Stream output ».