Читайте red5 прямой эфир с HTML5 - PullRequest
12 голосов
/ 17 ноября 2010

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

Ответы [ 3 ]

20 голосов
/ 21 ноября 2010

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

* источник: Собственное аудио в браузере .

Потоковое видео

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

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

После конвертации

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

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

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

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

Вы можете обслуживать 2 потока с резервной флэш-памятью:

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

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


Edit:

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

Вы также можете взглянуть на: Виджет Adobe Video Player .

3 голосов
/ 03 марта 2011

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

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

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

1 голос
/ 15 сентября 2015

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

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

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

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

...