Gstreamer потрескивает звук на Raspberry Pi 3 во время воспроизведения видео

Я играю видео с аппаратным ускорением на Raspberry Pi 3, используя этот простой конвейер:

gst-launch-1.0 playbin uri=file:///test/test.mp4

Как только видео начинает воспроизводиться, любой звук, воспроизводимый параллельно с использованием ALSA, начинает трескаться (протестировано с помощью gstreamer и mplayer). Это простой WAV-файл, и я использую аудиоинтерфейс USB.

Прослушивание разъема для наушников уже трещит без воспроизведения аудиофайла (но этот разъем очень низкого качества, и я не знаю, является ли это другим эффектом).

Воспроизведение аудио в том же конвейере, что и видео, не помогает. Процессор только на ок. 30 % загрузки и много свободной памяти. Я уже разогнал SD-карту. Воспроизведение двух видео параллельно с omxplayer не оказывает никакого влияния, и звук по-прежнему играет хорошо. Но как только я запускаю трубу выше, звук начинает потрескивать.

Я пытался "стресс" для имитации высокой загрузки процессора. Это тоже никак не повлияло, поэтому проблема с процессором, похоже, не возникает (но, может быть, с графическим процессором?).

Это конвейер gstreamer для проверки аудио:

gst-launch-1.0 filesrc location=/test/test.wav ! wavparse ! audioconvert ! alsasink device=hw:1,0

GST_DEBUG = 4 не показывает проблем.

Я пытался поставить очереди в разных местах, но ничего не помогло. Воспроизведение видео без звуковых дорожек работает немного лучше. Но я понятия не имею, где может лежать нехватка ресурсов, если она вообще одна.

Как-то кажется, что gstreamer мешает аудио потокам.

Любые идеи, где проблема может быть высоко ценится.

1 ответ

Похоже, что драйвер USB моего интерфейса ожидает очень отзывчивую систему. Я купил дешевый новый аудиоинтерфейс USB со значением bInterval 10 вместо 1, и теперь все работает нормально. Более подробную информацию можно найти здесь: https://github.com/raspberrypi/linux/issues/2215

Другие вопросы по тегам