Command Line ng VLC: cvlc, Streaming at Automation

Abante Huling na-update: Naaangkop sa: Windows / macOS / Linux · VLC 3.0.x

Sa likod ng GUI, ang VLC ay isang kumpletong command-line media engine. Ang headless binary na cvlc (o vlc --intf dummy) ay nagpapahintulot sa iyong i-script ang playback, patakbuhin ang isang streaming server, mag-convert ng batch, at maging kontrolin ang isang running instance sa pamamagitan ng text interface. Kung namamahala ka ng media sa isang server o NAS, ito ang gabay na nagbubukas ng VLC para sa iyo.

Hakbang 1 — Pangunahing playback mula sa terminal

  1. Sa Linux/macOS, ang cvlc ay naka-install kasama ng VLC. Sa Windows, gamitin ang buong path: "C:\Program Files\VideoLAN\VLC\vlc.exe" kasama ang --intf flags sa ibaba.

    Available ang binary.

  2. I-play ang isang file nang headless: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    Nagpe-play ang VLC ng file at lumabas nang walang window.

  3. Ilista ang stream ng file nang hindi nagpe-play: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    Na-print ang codec at stream info.

Tandaan--play-and-exit ay ang workhorse flag para sa mga script: umaalis ang VLC kapag natapos ang file, kaya malinis na natatapos ang cron/systemd job.

Hakbang 2 — I-stream ang isang file o device sa network

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

    Nagse-serve ang VLC ng stream sa port 8080; maaaring buksan ng anumang player ang http://:8080.

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

    Nai-broadcast ang isang live H.264 stream.

  3. Itigil gamit ang Ctrl+C — inililinis ng VLC ang listener.

    Tumigil ang stream.

Hakbang 3 — Batch convert gamit ang isang command

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

    Na-convert ang file.

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

    Naconvert ang bawat file nang sunud-sunod.

  3. I-check muna ang ffmpeg alternatibo para sa mabigat na job — ang cvlc ay nage-encode sa software at mas mabagal kaysa sa ffmpeg na may hardware encoder.

    Napili mo ang tamang tool para sa job.

Hakbang 4 — Ang rc interface para sa remote control

  • Simulan gamit ang isang control channel: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • Kumonekta mula sa ibang terminal: telnet 127.0.0.1 4212 (Linux/macOS) o gamitin ang telnet client sa Windows.
  • Mga command: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
  • Maaaring i-script gamit ang isang file: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

Mga madalas itanong

Ano ang pagkakaiba ng vlc at cvlc?
Ang cvlc ay ang parehong binary na walang naka-load na GUI interface — umaabot ito sa lahat ng platform ngunit isang wrapper sa ilang Linux package. Sa Windows, magdagdag ng --intf dummy sa vlc.exe call para sa parehong epekto.
Maaari bang i-stream ng VLC ang aking webcam sa isang webpage?
Oo — ang device-stream example sa Hakbang 2 ay nagse-serve ng HTTP stream, at maaari mong i-embed ito gamit ang HTML5 video tag na nakaturo sa URL (ang TS mux ay gumagana sa karamihan ng browser).
Bakit mas mabagal ang CLI conversion kaysa sa GUI?
Hindi ito — pareho silang gumagamit ng parehong software encoder. Ang GUI ay mukhang mas friendly lang. Kung mahalaga ang bilis, gamitin ang ffmpeg na may GPU encoder.
Paano ko mahanap ang lahat ng VLC CLI option?
Patakbuhin ang cvlc --longhelp (o --help --help-verbose) at i-pipe sa isang file: cvlc --longhelp > vlc-help.txt. Ang per-module option ay nakalista sa ilalim ng seksyong "Stream output".