HTML5を使用してRed5(RTMFP)ストリームを読み取るにはどうすればよいですか?
3 に答える
Red5はさまざまな種類のストリーミング*をサポートしているため、どの種類のストリーミングを意味するのかわかりません。
- ストリーミングビデオ(FLV、F4V、MP4)
- ストリーミングオーディオ(MP3、F4A、M4A)
- クライアントストリームの記録(FLVのみ)
*出典:GoogleCodeのRed5。
HTML5ビデオタグやHTML5オーディオタグを使用してストリームを「再生」することをお勧めします。そのため、いくつかの変換を行う必要があります。
オーディオストリーミング
新しい技術、多くのブラウザ、そしてユニバーサルコーデックのサポートはまだありません。
ブラウザとそれがサポートするコーデックを参照してください*:
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
*ソース:ブラウザのネイティブオーディオ。
ビデオストリーミング
現在、 Ogg TheoraとH.264の間で、 HTML5ビデオコーデックについて議論が行われています。したがって、これらの形式の1つに変換してください。Red5は将来H.264サポートを実装するように見えるので、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>
ビデオタグはデフォルトで使用されますが、サポートされていない場合、ブラウザはフラッシュプレーヤーを使用します。
編集:
Red5がH.264(ライブストリームパブリッシング)をサポートしていることがわかりました。H.264コーデックでHTML5ビデオタグを使用する方法については、こちらをご覧ください
また、Adobeのビデオプレーヤーウィジェットもご覧ください。
簡単な答え:できません。ブラウザは、RTMP(RTMFP)、RTP、またはUDPを介したストリームをサポートしません。アクセスできるようにするには、ストリームをHTTP経由で送信する必要があります(実際、サーバー上で静的ファイルをエミュレートする必要があります)。
また、 WebMはいくつかの言葉に値します。2010年5月、GoogleはHTML5viceoを目的としたロイヤリティフリーのコーデックを発表しました。現在のところ、代替ブラウザ(Mozilla、Opera、Chrome)の最新バージョンにはそれを再生する機能があります。H.264に多額の投資をした大企業だけが抵抗します。
現在、いくつかのメディアサーバーがWebMをサポートしています。最初はそれを実装するFlumotionだったと思います。また、 stream.mと呼ばれるライブストリーミングWebM用の独自のGPLソフトウェアもあります。これは非常に初期のリリースですが、試してみたい場合は、誰も止めません。:)
RTMFPおよびHTML5(WebRTCまたはWebsocket)プロトコルはWCS4でサポートされています
したがって、RTMFPストリームをサーバーに公開し、Chrome(WebRTC)、Firefox(WebRTC)、またはiOS Safariブラウザー(Websocket)を使用してこのストリームを再生できます。
Red5はRTMFPをサポートしていません。
RTMFPはピアツーピアで設計されたプロトコルですが、サーバーはRTMFPピアのように使用できるため、RTMPのような単純なクライアント/サーバー接続のFlash-Serverになります。