Как установить интервал ключевых кадров для потоков RTMFP?

Я использую RTMFP с NetGroup и Adobe Cirrus. Настройки вещания 320х240 с 5 кадрами в секунду.

Однако в некоторых случаях для отображения потока веб-камеры требуется много времени (10–20 секунд, даже при наличии соединения 1:1). Если поток появляется в конце концов, он выглядит так:

RTMFP качество веб-камеры

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

У меня вопрос, как я могу настроить вещание, например, установить интервал ключевых кадров и другие настройки. Можете ли вы порекомендовать хорошую настройку? И почему этот вопрос не популярен (я не нашел много информации о нем)?

Спасибо Валентин

2 ответа

Решение

RTMFP - это протокол peer-2-peer, поэтому в конечном итоге видео будет искажено (скриншот, который вы прикрепили) в начале, а также при большой активности (больше кадров) на веб-камере.

Вы не можете установить качество или пропускную способность, так как RTMFP является чисто p2p.

Если вы ищете эти параметры, перейдите на RTMP.

Попробуйте установить интервал ключевых кадров как обычно: camera.setKeyFrameInterval(1); Вы должны быть в состоянии избежать пиксельного изображения, установив netStream.bufferTime больше или равно интервалу ключевых кадров. Таким образом, к моменту буферизации у вас будет как минимум 1 ключевой кадр.

Но вы не можете гарантировать, что глюков не будет, потому что RTMFP использует UDP, что приводит к потерям.

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