VLC 命令行:cvlc、串流与自动化
GUI 之下,VLC 是一个完整的命令行媒体引擎。无头二进制 cvlc(或 vlc --intf dummy)让你可以脚本化播放、运行串流服务器、批量转换,甚至通过文本界面控制正在运行的实例。如果你在服务器或 NAS 上管理媒体,这份指南会为你解锁 VLC。
第 1 步 —— 从终端基本播放
Linux/macOS 上,cvlc 随 VLC 一起安装。Windows 上用完整路径:"C:\Program Files\VideoLAN\VLC\vlc.exe",并加上下面的 --intf 参数。
二进制可用。
无头播放文件:
cvlc /path/to/movie.mkv --intf dummy --play-and-exitVLC 播放文件后退出,不出现任何窗口。
不播放而列出文件的流信息:
cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"打印编解码器和流信息。
第 2 步 —— 把文件或设备串流到网络
HTTP 串流:
cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"VLC 在 8080 端口提供串流;任何播放器都能打开 http://
:8080。 实时摄像头/设备串流:
cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}"(Linux)或 dshow://(Windows)。正在广播实时 H.264 串流。
用 Ctrl+C 停止——VLC 会清理监听器。
串流结束。
第 3 步 —— 一条命令批量转换
单个文件:
cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exit文件转换完成。
遍历文件夹:
for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done每个文件依次转换。
重型任务先考虑 ffmpeg 替代方案——cvlc 用软件编码,比带硬件编码器的 ffmpeg 慢。
你为任务选对了工具。
第 4 步 —— 用于远程控制的 rc 界面
常见问题
vlc 和 cvlc 有什么区别?
VLC 能把我的摄像头串流到网页吗?
为什么命令行转换比 GUI 慢?
如何查找 VLC 所有命令行选项?
cvlc --longhelp(或 --help --help-verbose)并重定向到文件:cvlc --longhelp > vlc-help.txt。各模块选项列在 "Stream output" 部分之下。