ключевой кадр требуется первая ошибка в приложении Webrtc Android.Как уменьшить частоту кадров на входящем видео? - PullRequest
0 голосов
/ 29 декабря 2018

У нас нормально работает приложение webrtc android, мы используем Kurento в качестве медиа-сервера, и оно передает видео со скоростью 24 кадра в секунду;однако входящий видеопоток в приложении для Android представляет собой своего рода периодическую задержку, как если бы первые 15 кадров в секунду обрабатывались и воспроизводились плавно, но затем следующие 15 были пропущены, поэтому мы в итоге получаем видео, которое воспроизводится плавно длянесколько миллисекунд, но затем делает паузу на несколько миллисекунд.

Я полагаю, что частота входящего видео слишком велика для обработки устройством Android, поэтому оно пропускает некоторые кадры и затем продолжается, когда буфер снова становится свободным.Я получаю следующий вывод в logcat (который я гуглил, но не нашел ответа на мою проблему), говоря: ключевой кадр требуется сначала :

12-28 20:12:27.857 19648-19769/mx.blacklabs.parallax E/org.webrtc.Logging: HardwareVideoDecoder: decode() - key frame required first
12-28 20:12:27.858 19648-19796/mx.blacklabs.parallax E/org.webrtc.Logging: HardwareVideoDecoder: decode() - key frame required first
12-28 20:12:27.858 19648-19769/mx.blacklabs.parallax E/org.webrtc.Logging: HardwareVideoDecoder: decode() - key frame required first

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

То, что я пробовал

-Использование maxFrameRate MediaConstraint какпоказано здесь но это, похоже, не имеет никакого эффекта.Кроме того, это, кажется, предназначено для localMediaStream, в то время как мы вместо этого пытаемся уменьшить remoteMediaStream.

Наблюдения

Используемое нами устройство Android - Moverio BT-300 который работает на андроид 5.1.1.Я использую следующую реализацию webrtc org.webrtc:google-webrtc:1.0.22672

1 Ответ

0 голосов
/ 29 декабря 2018

Ограничения уменьшают frameRate на видео source , то есть исходящая частота кадров.Чтобы уменьшить частоту входящих кадров, попросите другую сторону уменьшить частоту исходящих кадров, например, сообщив об этом посредством внеполосной сигнализации (если вы контролируете оба конца).

...