Я работаю с устройством FPGA, которое может предоставлять необработанные видео и данные PCM. Я использую v4l2 и фреймворк ALSA для видео и аудио соответственно. Путь аудиопотока использует фреймворк ALSA, а путь видеопотока использует фреймворк v4l2. Устройство может генерировать различную частоту дискретизации звука, например 44,1 кГц, 48 кГц и 96 кГц.
VLC может плавно воспроизводить видео и аудио с частотой дискретизации 48 кГц, 2 каналами и видео с разрешением FHD (1920x1080).
Если устройство настроено на 44,1 кГц и 96 кГц, то звук VLC прерывается. Я использую версию VLC 2.2.8, и нет способа узнать, как установить частоту дискретизации для аудиоустройства.
Ниже приведены запросы:
1) Когда устройство генерирует частоту дискретизации звука 44,1 кГц, как сообщить VLC, что используется частота дискретизации 44,1 кГц (то же самое для 96 кГц)
2) какая команда для vlc с видео и аудио устройствами установлены для ширины = 1920, высоты = 1080, цветового пространства = RV24, канала = 2, частоты дискретизации 44,1 кГц. Предположим, что видео устройство (/dev/video0 и аудио устройство hw:1.0)
Примечание: когда устройство выдает 48 кГц в качестве частоты дискретизации, то звук в vlc в порядке, чтобы подтвердить это, я сделал cat /proc/asound/card0/pcm0p/sub0/hw_params показывал 48000. Когда устройство выдает 44,1 кГц, то vlc не знает, что частота дискретизации изменена на 44,1 кГц, но он попытается выполнить рендеринг на 48 кГц. Теперь есть несоответствие относительно устройства.
С уважением,
Кулкарни.