В который раз возникает необходимость отображать в браузере свежесгенерированный видеоряд (данные с камеры после небольшой обработки). Обычно я решал это совсем уродским способом: генерировал jpeg файл куда-нибудь, а в браузере жабоскриптом 2-3 раза в секунду менял источник <img>
. Но это неэффективно. Другой способ — отправлять клиенту по вебсокету очередной jpeg, что тоже не очень хорошо, т.к. связано с накладными расходами (изображение приходится кодировать в base64, а потом браузер его должен раскодировать, прежде, чем показать).
Вот и возникла идея — гнать «живой» видеопоток. Коллега мне настойчиво предлагает решить проблему именно так. Но меня, похоже, забанили в гугле, т.к. я вообще не нахожу вариантов, как это сделать при помощи libffmpeg! Ведь здесь по сути идет непрерывная трансляция, да еще и с переменным количеством кадров в секунду (в зависимости от освещенности экспозиция может быть как 20мс, так и пару секунд).
Вопрос: как в 2021 году правильно решить проблему отображения «живого» видео с переменным fps в браузере?