Ligne de commande VLC : cvlc, streaming et automatisation

Avancé Dernière mise à jour: S'applique à: Windows / macOS / Linux · VLC 3.0.x

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

  1. 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.

  2. Lisez un fichier sans interface : cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    VLC lit le fichier puis se ferme sans aucune fenêtre.

  3. 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.

Remarque--play-and-exit est l'option de travail pour les scripts : VLC se ferme quand le fichier se termine, de sorte que les tâches cron/systemd se terminent proprement.

Étape 2 — Diffusez un fichier ou un périphérique sur le réseau

  1. 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.

  2. 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é.

  3. 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

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

    Le fichier est converti.

  2. Boucle sur un dossier : for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    Chaque fichier est converti à la suite.

  3. 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 ?
cvlc est le même binaire sans interfaces graphiques chargées — il existe sur toutes les plateformes, mais c'est un wrapper sur certains paquets Linux. Sous Windows, ajoutez --intf dummy à l'appel de vlc.exe pour le même effet.
VLC peut-il diffuser ma webcam vers une page web ?
Oui — l'exemple de flux de périphérique de l'Étape 2 sert un flux HTTP, et vous pouvez l'intégrer avec une balise vidéo HTML5 pointant vers l'URL (le mux TS fonctionne dans la plupart des navigateurs).
Pourquoi la conversion en CLI est-elle plus lente qu'en interface graphique ?
Elle ne l'est pas — les deux utilisent le même encodeur logiciel. L'interface graphique paraît simplement plus conviviale. Si la vitesse compte, utilisez ffmpeg avec des encodeurs GPU.
Comment trouver toutes les options CLI de VLC ?
Exécutez 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 ».