Как установить интервал ключевых кадров для потоков RTMFP?
Я использую RTMFP с NetGroup и Adobe Cirrus. Настройки вещания 320х240 с 5 кадрами в секунду.
Однако в некоторых случаях для отображения потока веб-камеры требуется много времени (10–20 секунд, даже при наличии соединения 1:1). Если поток появляется в конце концов, он выглядит так:
Я думаю, что это происходит из-за высокого интервала ключевых кадров, и подписчики должны ждать следующего ключевого кадра, чтобы поток отображался правильно. Это происходит в отличие от потоковых серверов, где сервер кэширует последние ключевые кадры из потока издателя.
У меня вопрос, как я могу настроить вещание, например, установить интервал ключевых кадров и другие настройки. Можете ли вы порекомендовать хорошую настройку? И почему этот вопрос не популярен (я не нашел много информации о нем)?
Спасибо Валентин
2 ответа
RTMFP - это протокол peer-2-peer, поэтому в конечном итоге видео будет искажено (скриншот, который вы прикрепили) в начале, а также при большой активности (больше кадров) на веб-камере.
Вы не можете установить качество или пропускную способность, так как RTMFP является чисто p2p.
Если вы ищете эти параметры, перейдите на RTMP.
Попробуйте установить интервал ключевых кадров как обычно: camera.setKeyFrameInterval(1);
Вы должны быть в состоянии избежать пиксельного изображения, установив netStream.bufferTime
больше или равно интервалу ключевых кадров. Таким образом, к моменту буферизации у вас будет как минимум 1 ключевой кадр.
Но вы не можете гарантировать, что глюков не будет, потому что RTMFP использует UDP, что приводит к потерям.