Linux Mint 18.1 32位下VLC同步流摄摄像头音视频的命令修改
解决VLC同步捕获并播放/录制Logitech Pro 9000音视频的问题
针对你在Linux Mint 18.1 32位上用VLC 2.2.2只能流视频无音频的问题,核心是要在命令中同时指定视频捕获设备和PulseAudio音频源,以下是具体方案:
第一步:确认你的音频设备标识
先通过PulseAudio工具找到Logitech摄像头内置麦克风的正确源:
pactl list sources short
执行后会输出类似列表,找到带有Logitech或webcam字样的音频源(通常是alsa_input.usb-Logitech_Pro_9000...开头的条目),记下它的ID(第一列数字)或完整名称。
第二步:修改VLC命令实现音视频同步
方案1:仅同步播放音视频
如果只需要实时流摄(播放摄像头的音视频),用这条命令(替换<音频源ID/名称>为你刚才找到的内容):
cvlc v4l2:///dev/video0 --v4l2-width 1280 --v4l2-height 720 --v4l2-fps 30 \ --audio-source pulse://<音频源ID/名称> \ --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:display'
v4l2:///dev/video0:Logitech Pro 9000的默认视频设备,若不对可通过v4l2-ctl --list-devices确认--v4l2-*参数:设置摄像头的分辨率和帧率,可根据你的摄像头支持的参数调整--audio-source:指定要捕获的PulseAudio音频源--sout:转码后输出到显示器,确保音视频同步
方案2:同步播放+录制音视频
如果需要同时录制到文件,修改sout部分实现双输出:
cvlc v4l2:///dev/video0 --v4l2-width 1280 --v4l2-height 720 --v4l2-fps 30 \ --audio-source pulse://<音频源ID/名称> \ --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=display,dst=std{access=file,mux=mp4,dst=webcam_recording.mp4}}'
这里duplicate会同时把转码后的音视频输出到显示器和保存为webcam_recording.mp4文件。
额外调试技巧
- 如果不想每次指定音频源,可通过这条命令设置默认音频输入源:
pactl set-default-source <音频源ID>
之后VLC会自动捕获默认音频,命令中可省略--audio-source参数。
2. 若图形界面操作更顺手,可打开VLC → 媒体 → 打开捕获设备,分别选择视频设备和对应的PulseAudio麦克风,点击「播放」或「转换/保存」测试,测试成功后可点击「显示更多选项」导出对应的命令。
内容的提问来源于stack exchange,提问作者Otto Gvert
相关产品推荐
相关产品推荐

