VLC 명령줄: cvlc, 스트리밍 및 자동화

고급 최종 업데이트: 적용 대상: Windows / macOS / Linux · VLC 3.0.x

GUI 뒤에서 VLC는 완전한 명령줄 미디어 엔진. 헤드리스 바이너리 cvlc(또는 vlc --intf dummy)로 재생 스크립트, 스트리밍 서버 실행, 일괄 변환, 심지어 텍스트 인터페이스로 실행 중 인스턴스 제어. 서버나 NAS에서 미디어를 관리한다면 VLC를 여는 가이드.

1단계 — 터미널에서 기본 재생

  1. Linux/macOS에서는 cvlc가 VLC와 함께 설치. Windows는 전체 경로: "C:\Program Files\VideoLAN\VLC\vlc.exe"에 아래 --intf 플래그 사용.

    바이너리 사용 가능.

  2. 헤드리스 재생: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    VLC가 창 없이 파일 재생 후 종료.

  3. 재생 없이 파일 스트림 나열: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    코덱과 스트림 정보 출력.

참고--play-and-exit는 스크립트의 주력 플래그: 파일 끝나면 VLC 종료되어 cron/systemd 작업이 깔끔히 끝남.

2단계 — 파일이나 장치를 네트워크로 스트리밍

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

    VLC가 8080 포트 서비스, 어떤 플레이어든 http://:8080 열기 가능.

  2. 라이브 웹캠/장치 스트림: cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux) 또는 dshow://(Windows).

    라이브 H.264 스트림 방송.

  3. Ctrl+C로 정지 — VLC가 리스너 정리.

    스트림 종료.

3단계 — 한 명령으로 일괄 변환

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

    파일이 변환됨.

  2. 폴더 순회: for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    모든 파일이 순차 변환.

  3. 무거운 작업은 ffmpeg 대안 먼저 확인 — cvlc는 소프트웨어 인코드로 하드웨어 인코더 ffmpeg보다 느림.

    작업에 맞는 도구 선택.

4단계 — 원격 제어용 rc 인터페이스

  • 제어 채널로 시작: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • 다른 터미널에서 연결: telnet 127.0.0.1 4212(Linux/macOS) 또는 Windows는 telnet 클라이언트.
  • 명령: play, pause, stop, seek 120, volume 80, next, prev, info, playlist.
  • 파일로 스크립트: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

자주 묻는 질문

vlc와 cvlc의 차이는?
cvlc는 GUI 인터페이스 없이 로드된 같은 바이너리 — 모든 플랫폼에 있으나 일부 Linux 패키지에서는 래퍼. Windows는 vlc.exe 호출에 --intf dummy 추가해 동일 효과.
VLC가 웹캠을 웹페이지로 스트리밍할 수 있나요?
예 — 2단계의 장치 스트림 예제가 HTTP 스트림 서비스, URL을 가리키는 HTML5 video 태그로 embedded 가능(TS mux는 대부분 브라우저 작동).
왜 CLI 변환이 GUI보다 느린가요?
그렇지 않음 — 둘 다 같은 소프트웨어 인코더. GUI는 그냥 친절해 보일 뿐. 속도가 중요하면 GPU 인코더 ffmpeg 사용.
모든 VLC CLI 옵션은 어디서 찾나요?
cvlc --longhelp(또는 --help --help-verbose) 실행 후 파일로 파이프: cvlc --longhelp > vlc-help.txt. 모듈별 옵션은 "Stream output" 섹션 아래.