![如何在Linux中通知VLC设备的采样率变化](https://linux22.com/image/1576337/%E5%A6%82%E4%BD%95%E5%9C%A8Linux%E4%B8%AD%E9%80%9A%E7%9F%A5VLC%E8%AE%BE%E5%A4%87%E7%9A%84%E9%87%87%E6%A0%B7%E7%8E%87%E5%8F%98%E5%8C%96.png)
我正在使用 FPGA 设备,它可以提供原始视频和 pcm 数据。我分别对视频和音频使用 v4l2 和 alsa 框架。音频流路径使用 ALSA 框架,视频流路径使用 v4l2 框架。设备可以生成不同的音频采样率,例如 44.1KHz、48KHz 和 96KHz。
VLC 可以以 48KHz 的采样率、2 通道和 FHD(1920x1080)的视频流畅地渲染视频和音频。
当设备设置为 44.1KHz 和 96KHz 时,vlc 音频就会中断。我使用的 vlc 版本是 2.2.8,无法告知如何设置音频设备的采样率。
以下是查询:
1)当设备生成 44.1KHz 的音频采样率时,如何通知 VLC 使用 44.1KHz 采样率(96KHz 也是如此)
2) 视频和音频设备设置为宽度=1920 高度=1080 色彩空间=RV24、通道=2、采样率44.1KHz 时,vlc 的命令是什么。假设视频设备为 (/dev/video0 且音频设备为 hw:1.0)
注意:当设备提供 48KHz 的采样率时,音频在 vlc 中是正常的,为了确认这一点,我执行了 cat /proc/asound/card0/pcm0p/sub0/hw_params,结果显示 48000。当设备提供 44.1KHz 时,vlc 不知道采样率已更改为 44.1KHz,但它会尝试以 48KHz 进行渲染。现在设备不匹配。
问候,
库尔卡尼。