VLC kommandorad: cvlc, strömning & automatisering

Avancerad Senast uppdaterad: Gäller för: Windows / macOS / Linux · VLC 3.0.x

Bakom det grafiska gränssnittet är VLC en komplett kommandorads-medie motor. Den huvudlösa binären cvlc (eller vlc --intf dummy) låter dig skripta uppspelning, köra en strömningsserver, konvertera batcher och till och med styra en körande instans via ett textgränssnitt. Om du hanterar media på en server eller NAS, är det här guiden som låser upp VLC för dig.

Steg 1 — Grundläggande uppspelning från terminalen

  1. På Linux/macOS installeras cvlc med VLC. På Windows, använd den fullständiga sökvägen: "C:\Program Files\VideoLAN\VLC\vlc.exe" med --intf-flaggorna nedan.

    Binären är tillgänglig.

  2. Spela en fil huvudlöst: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    VLC spelar filen och avslutar utan något fönster.

  3. Lista filens strömmar utan att spela: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    Codec- och strömmingsinfo skrivs ut.

Notera--play-and-exit är arbetshästflaggan för skript: VLC avslutar när filen tar slut, så cron/systemd-jobb avslutas rent.

Steg 2 — Strömma en fil eller enhet till nätverket

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

    VLC serverar strömmen på port 8080; vilken spelare som helst kan öppna http://:8080.

  2. Live webbkamera/enhetsström: cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}" (Linux) eller dshow:// (Windows).

    En live H.264-ström sänds.

  3. Stoppa med Ctrl+C — VLC städar upp lyssnaren.

    Strömmen avslutas.

Steg 3 — Batchkonvertera med ett kommando

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

    Filen konverteras.

  2. Gå igenom en mapp: for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    Varje fil konverteras i följd.

  3. Kolla ffmpeg-alternativet först för tunga jobb — cvlc kodar i mjukvara och är långsammare än ffmpeg med hårdvarukodare.

    Du valde rätt verktyg för jobbet.

Steg 4 — rc-gränssnittet för fjärrstyrning

  • Starta med en kontrollkanal: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • Anslut från en annan terminal: telnet 127.0.0.1 4212 (Linux/macOS) eller använd en telnet-klient på Windows.
  • Kommandon: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
  • Skriptbart via en fil: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

Vanliga frågor

Vad är skillnaden mellan vlc och cvlc?
cvlc är samma binär utan laddade GUI-gränssnitt — den finns på alla plattformar men är ett omslag i vissa Linux-paket. På Windows, lägg till --intf dummy till vlc.exe-anropet för samma effekt.
Kan VLC strömma min webbkamera till en webbsida?
Ja — enhetsström-exemplet i Steg 2 serverar en HTTP-ström, och du kan bädda in den med en HTML5 video-tagg som pekar på URL:en (TS-mux fungerar i de flesta webbläsare).
Varför är CLI-konvertering långsammare än GUI?
Den är inte — båda använder samma mjukvarukodare. GUI ser bara trevligare ut. Om hastighet spelar roll, använd ffmpeg med GPU-kodare.
Hur hittar jag alla VLC CLI-alternativ?
Kör cvlc --longhelp (eller --help --help-verbose) och skicka till en fil: cvlc --longhelp > vlc-help.txt. De modulspecifika alternativen listas under "Stream output"-avsnitten.