HTML5 живое видео "взломать"
Последние два месяца я пытался "обмануть" сафари, заставляя его думать, что он смотрит на файл на сервере, который на самом деле представляет собой живой видеопоток с камеры, кодированный и мультиплексированный по запросу с использованием Gstreamer в поддерживаемый формат браузером. Поскольку HTML5 поддерживает прогрессивную загрузку видео, это должно быть, по крайней мере, теоретически возможным.
Мой вывод состоит в том, что это становится довольно сложным, учитывая, что браузеры делают частичный запрос контента при загрузке видеофайлов в HTML5, в основном ради поиска. Если сервер не поддерживает эту функцию, видео не воспроизводится, пока файл не будет полностью загружен.
Кто-нибудь еще пробовал этот подход с большим успехом? Или я должен просто сдаться и подождать, пока в браузеры будет интегрирована настоящая поддержка живого видео, такая как RTSP.
Приветствия.
3 ответа
Эта статья содержит несколько полезных советов: https://developer.mozilla.org/en/Configuring_servers_for_Ogg_media
Вы служите X-content-duration
заголовок?
У вас есть две возможности.
С H.264 вы можете эмулировать файл с фрагментированной структурой: контейнер ISO (.mp4) с атомами фрагментов фильма (MOOF).
Другой вариант - Google WebM. Клиенты могут "присоединиться" к потоку в любое время благодаря структуре файла MKV. Для достижения наилучших результатов первый кадр, передаваемый клиенту, должен быть akeyframe.
Если вам нужно только видео, но не аудио, "Motion JPEG" может это сделать. Это не HTML5, а функция эпохи Netscape.