树莓派4命令行运行VLC如何将音频输出至HDMI2接口
树莓派4双HDMI环境下VLC指定HDMI2音频输出方案
你之前使用的hw:1,0属于ALSA硬件直通寻址,该模式不会对音频流做任何格式转换,当VLC输出的音频采样率、位深、声道数和HDMI接口协商的硬件参数不匹配时,就会出现视频正常渲染、音频无输出的情况,且VLC不会抛出明确错误提示。
操作步骤
- 先验证HDMI2音频硬件工作正常,执行测试命令:
speaker-test -D plughw:1,0 -c 2 -t wav
如果能听到两个声道循环播放的测试音频,说明驱动识别、硬件连接都正常,直接调整VLC启动参数即可。
- HDMI2接口全屏播放音视频的正确命令:
DISPLAY=:0 cvlc --qt-fullscreen-screennumber=1 --alsa-audio-device plughw:1,0 video.mp4
核心调整是把原参数里的hw:1,0替换为plughw:1,0,plughw是ALSA提供的插件层设备,会自动完成音频参数适配,兼容VLC默认的输出格式。
双屏同时播放参考
如果需要两个HDMI接口同时输出不同视频,音频各自走对应接口,可分别执行以下命令:
- HDMI1(对应屏幕编号0)输出:
cvlc --qt-fullscreen-screennumber=0 --alsa-audio-device plughw:0,0 video1.mp4
- HDMI2(对应屏幕编号1)输出:
DISPLAY=:0 cvlc --qt-fullscreen-screennumber=1 --alsa-audio-device plughw:1,0 video2.mp4
异常排查
如果调整参数后还是没有音频,按以下点排查:
- 执行
groups命令确认当前登录用户属于audio用户组,若不在组内,执行sudo usermod -aG audio $USER后重新登录生效。 - 如果遇到声卡加载顺序变动导致设备编号失效的问题,可以用硬件固定名指定设备,参数替换为
--alsa-audio-device plughw:CARD=b2,DEV=0,该寻址方式绑定HDMI2的硬件标识,不会随设备加载顺序变化。 - 非必要不要用
sudo执行带图形输出的cvlc命令,否则会触发X11显示权限、音频设备权限映射问题;如果必须提权运行,需要额外添加环境变量XAUTHORITY=/home/你的实际登录用户名/.Xauthority。
内容的提问来源于stack exchange,提问作者rijotech
相关产品推荐
相关产品推荐

