2010-10-06 3 views
6

В течение последних двух месяцев я пытался «обмануть» сафари, думая, что он смотрит на файл на сервере, который на самом деле является живым видеопотоком из камеры, закодированной и смешанной с запрос с использованием Gstreamer в формат, поддерживаемый браузером. Поскольку HTML5 поддерживает прогрессивные загрузки видео, это должно быть по крайней мере возможно в теории.HTML5 live video «hack»

Мое заключение заключается в том, что это довольно сложно, учитывая, что браузеры делают частичный запрос контента при загрузке видеофайлов в HTML5, главным образом ради поиска. Если серверу не хватает поддержки этой функции, видео не воспроизводится, пока файл не будет полностью загружен.

Неужели кто-нибудь еще пробовал этот подход с большим успехом? Или я должен просто отказаться и дождаться, когда настоящая поддержка видео в реальном времени, такая как RTSP, будет интегрирована в браузеры.

Cheers.

ответ

0

Если вам нужно только видео, но не аудио, «Motion JPEG» может это сделать. Это не HTML5, а функция эпохи Netscape.

http://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP

+0

Motion JPEG определенно является опцией, хотя для этого требуется слишком большая пропускная способность. В целом есть несколько других вариантов выбора среди (Flash, java-апплет, потоковая передача Http), все из которых имеют некоторые недостатки. Чтобы попытаться «обмануть» сафари (и, возможно, другие браузеры), это просто попытка добавить еще один вариант в этот список. – Lus

+0

Отлично, интересно знать, есть ли какое-либо реальное решение. – timdream

2

У вас есть две возможности.

С H.264 вы можете эмулировать файл с фрагментированной структурой: контейнер ISO (.mp4) с атомами фрагмента фрагмента (MOOF).

Другим вариантом является WebM компании Google. Клиенты могут «присоединяться» к потоку в любое время благодаря структуре файла MKV. Для получения наилучших результатов первый кадр, переданный клиенту, должен быть ключевым.