Независимые фрагменты MP4 для прямой трансляции - PullRequest
1 голос
/ 20 апреля 2020

Моя цель - потоковая передача бесконечного потока (веб-камеры), генерируемого H264, в браузер.

В частности, я хочу направить камеру Raspberry PI в браузер.

(Отказ от ответственности : Я сейчас передаю файл H264, но он должен быть заменен веб-камерой PI)

Итак, у меня есть поток H264, который я передаю по каналу в ffmpeg, чтобы преобразовать его во фрагменты MP4 (movflags установлен в frag_keyframe + empty_moov + default_base_moof), а затем я отправляю фрагменты с помощью websocket (на сервере я извлекаю фрагменты и отправляю каждый фрагмент как сообщение, содержащее moof + mdata. Не выяснил, как это сделать с помощью HTTP Progressive, потому что поток генерируется в реальном времени ...), а затем они воспроизводятся в браузере с помощью MediaSource API.

Это работает, но есть одна проблема: видео не воспроизводится, если в нем нет ВСЕХ фрагменты.

Я попытался отправить инициализирующий фрагмент, а затем отправить только новые сгенерированные фрагменты, но он выдал ошибку и не воспроизводится.

Как мне сделать так что вы можете присоединиться к середине прямой трансляции, не находясь там с самого начала, когда она начала запись (или в моем тестировании, в середине потока файлов).

Другими словами, как сделать фрагменты независимыми друг от друга?

PS любая дополнительная информация поможет, я новичок в этом.

...