ストリーミングメディアのフォーマットとパッケージ化方法について調べていると、WebMが相互に排他的であると説明されていることに戸惑います。RTMPそしてHTTP ライブストリーミング。
私の理解では、WebM は、拡張子を持つビデオ ファイルをエンコードする方法のようなビデオ形式です.webm
が、RTMP と HLS はどちらも、ライブ ストリームで Web 経由でビデオ形式を送信する方法 (情報ビットをパッケージ化し、HTTP TCP などの Web プロトコルを介して送信する方法) です。
WebM には、Web 経由で送信するための独自の方法がありますか? RTMP と HLS では WebM 形式のビデオを送信できないのでしょうか?
答え1
WebM は、本質的には VP8 または VP9 ビデオと Vorbis または Opus オーディオを伝送するためのコンテナ形式です。ストリーミング方法が指定されておらず、一般的に、MPEG-2 TS や MP4 などの他のコンテナ形式と比較して、ストリーミングの幅広いサポートはありません。ただし、ストリーミングには使用できます。
ここで言う「ストリーミング」とは、Web サイトから単一のファイルをダウンロードしたり、単一の (長い) クリップを HTML5 タグに埋め込んだりするだけのことではありません<video>
。ここ数年、さらに高度なストリーミング テクノロジがいくつか使用されてきました。
RTMPストリーミング(リアルタイムメッセージングプロトコル)には、次のようなRTMPサーバーが必要です。Adobe Flash メディアサーバーは、Flash 対応のファイル形式 (MP4、FLV) をクライアントにストリーミングします。これはまだかなり普及していますが、すべての Flash ベースのテクノロジと同様に、徐々に確実に消滅しつつあります。
WebM は Flash ではサポートされていないため、そこでは使用できません。
RTSPストリーミング(リアルタイムストリーミングプロトコル)は、ストリーミングサーバー用の制御プロトコルです。QuickTime ストリーミング サーバーまたはヘリックスサーバークライアントとサーバーはこのプロトコルを介して制御メッセージを交換し、データはRTTP とは(リアルタイムトランスポートプロトコル)ペイロード。これはWebではあまり見られませんが、IPTV。
方法についての仕様がありますWebMをRTPにカプセル化する。
HTTP ライブストリーミングそしてMPEG-DASHは、M3U8 プレイリスト ファイル (HLS の場合) または MPD マニフェスト (DASH の場合) に基づいて、クライアントが単純な HTTP リクエストを通じてサーバーからビデオのチャンクを要求する適応型ストリーミング テクノロジです。このファイルは、実際のオーディオおよびビデオ データを含むこれらのファイル チャンクをインデックス化します。
HLSでは、ビデオはMPEG-2 TS、または2017年以降は断片化されたMP4(ISOベースのメディアフォーマット)ファイルに保存する必要があります。MPEG-DASHはより幅広いサポートを提供しています。セグメント化されたWebMも使用可能。