m3u8 は、UTF-8 エンコード形式の M3U ファイルを指します。M3U ファイルには、インデックス プレーン テキスト ファイルが記録されます。これを開くと、再生ソフトウェアはファイルを再生しませんが、対応するオーディオとビデオ ベースのファイルを検索します。ファイルのネットワーク アドレスはオンラインで再生されます。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
1. M3U8 の概要
M3U8 ファイルは、UTF-8 エンコード形式の M3U ファイルを指します (M3U は Latin-1 文字セット エンコードを使用します) )。 M3U ファイルはインデックスを記録したプレーン テキスト ファイルで、これを開くと再生ソフトウェアは再生せず、インデックスに基づいて対応するオーディオ ファイルとビデオ ファイルのネットワーク アドレスを見つけてオンライン再生します。プロセスは次のとおりです。
m3u8 再生プロセス.png
M3U8 は、主にファイル リストの形式で存在し、ライブとライブの両方をサポートする一般的なストリーミング メディア形式です。特に Android、iOS、その他のプラットフォームでは、ブロードキャストとオンデマンドが最も一般的に使用されます。
2. M3U8 エンコード形式
m3u8 は基本的に .m3u 形式のファイルと考えることができます。違いは、m3u8 ファイルが UTF- を使用することです。 8文字のコーディングです。
## extm3u#最大期間
## ext-x-allow-cache - - - 。オプション。形式は次のとおりです: #EXT-X-PLAYLIST-TYPE: VOD (または EVENT)。 VOD はサーバーが PlayList ファイルを変更できないことを意味し、EVENT はサーバーが PlayList ファイルの一部を変更または削除できないが、ファイルに新しい行を追加できることを意味します。
ケース 1:
#EXTM3U #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-TARGETDURATION:10 #EXTINF:10, 1000kbps-00001.ts #EXTINF:10, 1000kbps-00002.ts ... #EXTINF:10, 1000kbps-00099.ts #EXTINF:10, 1000kbps-00100.ts #ZEN-TOTAL-DURATION:999.70000 #ZEN-AVERAGE-BANDWIDTH:1098134 #ZEN-MAXIMUM-BANDWIDTH:1700874 #EXT-X-ENDLISTこの形式の再生リンクとダウンロード リンクは結合する必要があります。たとえば、最初の TS クリップへのリンクは次のとおりです: https://dco4urblvsasc.cloudfront.net/811/81095_ywfZjAuP/game/1000kbps-00001.tsファイル内のパス 1000kbps-00001.ts は、m3u8 リンク (つまり、lastPathComponent) の末尾にある 1000kbps.m3u8 を置き換えます。
例 2:
使用云图TV点播直播节目时,发送请求: http://121.199.63.236:7613/m3u8/cckw1/szws.m3u8?from=bab&fun=yes&chk=y&chunk=xax&ppw=yuntutv&auth=yuntutvyuntutvyuntutv&auth=yuntutvyuntutvyuntutv&nwtime=1406515232&sign=033d5483609e6bc87987fc7d2f30a024
返回M3U8文件,文件内容如下: #EXTM3U #EXT-X-MEDIA-SEQUENCE:140651513 #EXT-X-TARGETDURATION:10 #EXTINF:8, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651513[140651513].ts #EXTINF:9, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651514[140651514].ts #EXTINF:11, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651515[140651515].ts #EXTINF:10, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651516[140651516].ts #EXTINF:12, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651517[140651517].ts #EXTINF:8, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651518[140651518].ts #EXTINF:12, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651519[140651519].ts #EXTINF:8, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651520[140651520].ts #EXTINF:9, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651521[140651521].ts #EXTINF:13, http://vapp1.fw.live.cntv.cn/cache/289_/seg0/index140651522[140651522].ts ...この形式の再生およびダウンロード リンク: インデックス ファイルに直接表示されます。
3. M3U8 の利点
1. 複数のコード レートに適応できます。ネットワーク帯域に応じて、クライアントが自身のビットレートに適したファイルを自動的に選択して再生することで、スムーズな動画ストリーミングを実現するもので、その代表的なものがAppleのHLS(HTTP Live Streaming)です。 HLS には、アダプティブ ストリーミングという機能があります。クライアントは、ネットワーク状況に応じて、異なるビット レートのビデオ ストリームを自動的に選択できます。状況が許せば高ビット レートを使用し、ネットワークが混雑している場合は低ビット レートを使用します。また、2 つのビデオ ストリームを自動的に切り替えます。意思。これは、モバイル デバイスのネットワーク状態が不安定な場合でも、スムーズな再生を確保するのに非常に役立ちます。 2. ソース サーバーの負荷を軽減します。 M3U の特徴は、ストリーミング メディアをいくつかの TS フラグメントに分割し、クライアント プレーヤーが受信できる拡張 m3u リスト ファイルを通じてこれらの TS フラグメントを収集することです。 RTSP プロトコルを使用する場合と比較した場合の利点は、分割が完了すると、その後の配信プロセスでは特別なソフトウェアを追加する必要がなく、通常のネットワーク サーバーを使用できるため、サーバーの構成要件が大幅に軽減されることです。 CDN エッジ サーバーであり、既製の CDN を使用できます。配信に使用される最も一般的なプロトコルは HTTP です。このプロトコルに対するプロキシ サーバーのキャッシュの最適化は非常に成熟していますが、RTSP に対してキャッシュの最適化を備えているプロキシ サーバーはほとんどありません。
3. 非リアルタイム ビデオの場合も利点があります: HTTP プロトコルを使用して単一の MP4 形式のビデオ ファイルを再生する場合、プロキシ サーバーは大きなファイルの一部を取得するために HTTP 範囲リクエストをサポートする必要があります。ただし、すべてのプロキシ サーバーがこれを適切にサポートしているわけではありません。一方、M3U では、リスト ファイル内のタイムラインに基づいてダウンロードする対応する TS フラグメントを見つけるだけでよく、範囲リクエストは必要なく、プロキシ サーバーの要件もはるかに小さくなります。すべてのプロキシ サーバーは、小さなファイルの効率的なキャッシュをサポートしています。 4. MP4 の代わりに TS を使用する理由は、2 つの TS クリップをシームレスに結合し、プレーヤーで連続再生できるためですが、MP4 ファイルのエンコード方式により、2 つの MP4 クリップを連続再生することはできません。シームレスに接続すると、プレーヤーは 2 つの MP4 ファイルを連続再生することになり、音や画像が途切れてしまい、ユーザー エクスペリエンスに影響します。 関連知識の詳細については、FAQ
列をご覧ください。以上がm3u8とはどのような形式のファイルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。