Linux でデバイスからのサンプル レートの変更を VLC に通知する方法

Linux でデバイスからのサンプル レートの変更を VLC に通知する方法

私は、生のビデオと PCM データを提供できる FPGA デバイスで作業しています。ビデオとオーディオにはそれぞれ 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 でレンダリングしようとします。これで、デバイスに関して不一致が生じます。

よろしくお願いいたします。

クルカルニ。

関連情報