Подтвердить что ты не робот

Прочитайте прямой эфир в режиме live5 с помощью HTML5

Как я могу прочитать поток Red5 (RTMFP) с помощью HTML5?

4b9b3361

Ответ 1

Red5 поддерживает различные типы потоковой передачи *, поэтому я не знаю, какой тип потоковой передачи вы имеете в виду:

  • Потоковое видео (FLV, F4V, MP4)
  • Потоковое аудио (MP3, F4A, M4A)
  • Запись потоков клиентов (только для FLV)

* источник: Red5 в Google Code.

Вероятно, вы захотите использовать HTML5 Video Tag и/или HTML5 Audio Tag, чтобы "воспроизвести" поток. Поэтому вам нужно будет сделать некоторую конверсию.

Потоковая передача аудио

Новая техника, множество браузеров и универсальная поддержка кодеков еще не реализованы.

См. браузеры + кодек, которые он поддерживает *:

  • FireFox 3.6+
    • Ogg Vorbis
    • Wav
  • Safari 5+
    • MP3
    • WAV
  • Chrome 6
    • Ogg Vorbis
    • MP3
  • Opera 10.5+
    • Ogg Vorbis
    • WAV
  • Internet Explorer 9 (beta)
    • MP3
    • WAV

* source: Исходное аудио в браузере.

Потоковая передача видео

В настоящее время происходит обсуждение HTML5 Video Codec, между Ogg Theora и H.264. Поэтому сделайте преобразование в один из этих форматов. Я бы порекомендовал H.264, потому что похоже, что Red5 будет реализовывать поддержку H.264 в будущем.

Как с аудио, так и с видео. Новая техника, множество браузеров и универсальная поддержка кодеков пока отсутствуют. См. Список: Видео HTML5 в Википедии.

После преобразования

Самый простой способ проверить поддержку видео и аудио тегов - динамически создать один или оба сценария и проверить наличие функции:

var hasVideo = !!(document.createElement('video').canPlayType);

Эта простая строка кода будет динамически создавать элемент видео и проверять наличие функции canPlayType(). Используя !! operator, результат преобразуется в логическое значение, которое указывает, можно ли создать видеообъект.

В качестве альтернативы

Вы можете использовать 2 потока с Flash Fallback:

<video src="video.ogg">
  <object data="videoplayer.swf" type="application/x-shockwave-flash">
    <param name="movie" value="video.swf"/>
  </object>
</video>

Тег видео используется по умолчанию, если он не поддерживается, браузер будет использовать flashplayer.


Изменить:

Теперь я вижу, что Red5 поддерживает H.264 (Live Stream Publishing). Читайте здесь, как использовать тег HTML5 с кодеком H.264

Вы также можете посмотреть: Виджет Adobe Video Player.

Ответ 2

Короткий ответ: вы не можете. Браузеры не будут поддерживать потоки через RTMP (RTMFP), RTP или UDP. Ваш поток должен быть отправлен через HTTP для доступа (на самом деле вам нужно эмулировать статический файл на сервере).

Также WebM заслуживает нескольких слов. В мае 2010 года Google объявил о бесплатном кодеке для целей HTML5. На данный момент последние версии альтернативных браузеров (Mozilla, Opera, Chrome) имеют возможность воспроизвести их. Только крупные, которые вложили хорошие деньги в H.264, сопротивляются.

В настоящее время несколько медиа-серверов поддерживают WebM. Я предполагаю, что первая была Flumotion для ее реализации. У меня также есть собственное GPL-программное обеспечение для потокового WebM, называемого stream.m. Это очень ранний релиз, но если вы хотите попробовать, я никого не остановлю.:)

Ответ 3

Протоколы

RTMFP и HTML5 (WebRTC или Websocket) поддерживаются в WCS4

Итак, вы можете опубликовать поток RTMFP на сервер и воспроизвести этот поток с помощью браузера Chrome (WebRTC), Firefox (WebRTC) или браузера Safari iOS (Websocket).

Red5 не поддерживает RTMFP.

RTMFP представляет собой одноранговый протокол, однако сервер может использоваться как peer RTMFP, поэтому было бы простым подключением клиент-сервер Flash-Server, например RTMP.