Я создаю приложение в соответствии с этим:
MediaSource произвольно останавливает видео
и это работает нормально, за исключением того, что если клиент подключается к потоку, когда он уже запущен, требуется много времени, когда пользователь наблюдает за искаженным изображением, пока не прибудет следующий ключевой кадр: что логично и не может быть исправлено, потому что даже если я кеширую данные после последнего ключевого кадра на сервере, это приведет к большой дополнительной задержке для всех вновь подключенных клиентов — вплоть до продолжительности интервала ключевого кадра в зависимости от удачи — что хуже, чем просмотр искаженного изображения.
поэтому я ищу способ заставить ключевой кадр на MediaRecorder делать это либо регулярно через короткие промежутки времени, либо всякий раз, когда подключается новый зритель. в webrtc я могу запросить ключевой кадр у получателя, но как насчет MediaRecorder()?
Официально никак. Существуют ли какие-либо хакерские / неофициальные способы (например, установка очень высокого битрейта или любой другой способ обмануть браузер, заставив его поверить в то, что желателен низкий, 20-100 кадров, интервал между ключевыми кадрами)?
Я использую VP8. В H264 интервал между ключевыми кадрами по умолчанию достаточно низкий, но есть и другие проблемы.