如何在Linux中通知VLC设备的采样率变化

如何在Linux中通知VLC设备的采样率变化

我正在使用 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 进行渲染。现在设备不匹配。

问候,

库尔卡尼。

相关内容