日本語

ビデオと字幕 · ダイレクト メディア ダウンローダー

直接リンクとストリーミング マニフェスト: .m3u8 または .mpd がファイルではない理由

・背景

ダウンロード ストリーミング ファイル形式

セグメントに分岐するプレイリストと対比される 1 つのダウンロード可能なメディア ファイル
オリジナル ToolAcre ベクトル イラスト

直接リンクは 1 つのファイルを指します。ストリーミング マニフェストはセグメントのプレイリストです。この投稿では、HLS と DASH、アダプティブ ストリーミングの仕組み、およびマニフェストが直接リンク ダウンローダーでビデオとして保存できない理由について説明します。

2 つのリンク、1 つは保存され、もう 1 つは保存されない - ほとんどすべての人がつまずく違い

.mp4 リンクは、ブラウザで保存できるビデオ ファイルを送り返すことができます。 .m3u8 リンクは、プレーヤーがそこからプログラム全体をストリーミングする場合でも、数キロバイトのテキストしか送り返さない場合があります。後者を保存するビデオ制作者は、作品をダウンロードしたのではなく、そのプレイリストを保存しています。拡張子と応答の Content-Type は有用な手がかりですが、「video」で終わるすべての URL を 1 つの完全なファイルとして扱うのではなく、実際の応答を検査します。

ダイレクト ファイル URL が提供するもの: 1 つのリソース (おそらくサイズ ヘッダー)

直接 URL は、MP3、MP4、画像などの 1 つのリソースをアドレス指定します。サーバーがクロスオリジン アクセスを許可している場合、Fetch はその応答バイトを読み取り、ローカル Blob を作成できます。 Content-Length によってそのサイズがわかる場合がありますが、サーバーはそれを提供しなくてもストリーミングできるため、「1 つのファイル」ではヘッダーの長さが保証されません。 Direct Media Downloader は、ブラウザから指定されたホストを意図的に取得します。これは、Web ページに埋め込まれたリンクのプロキシやクローラーではありません。

HLS と DASH とは — いくつかの品質レベルで多くの短いセグメントを指すプレイリスト (.m3u8、.mpd)

HTTP ライブ ストリーミング (HLS) は、通常 .m3u8 で終わるテキスト プレイリストを使用します。マスター プレイリストは複数のビットレートを提供し、それぞれが短いメディア セグメントの別のリストにつながる場合があります。 MPEG-DASH は、期間、適応、セグメント URL の MPD 記述を使用します。プレーヤーは必要に応じて曲を選択してリクエストし、帯域幅が変化すると品質を切り替えることもあります。マニフェストを単独で保存すると、マージされたオーディオビジュアル ファイルではなく、それらのアドレスのマップが保存されます。 RFC 8216 では、HLS プレイリストとセグメントの動作について説明しています。 DASH には独自の標準とツールがあります。

アダプティブ ストリーミングが発明された理由 — バッファリング、可変接続、プログレッシブ ダウンロードからの移行

アダプティブ ストリーミングは、プログレッシブ ダウンロードの制限に対処します。ネットワークの変化により、最初の品質選択が維持されない可能性があり、視聴者は後の部分を求める可能性があり、ライブ イベントの最終的なファイル長はまだ不明です。セグメント化されたメディアを使用すると、プレーヤーはビデオ全体を待つのではなく、適切なチャンクをリクエストできます。トレードオフは、調整されたリクエストと再生状態のセットであり、1 つのファイルの保存アクションでは再現されません。

セグメント、キー、DRM — ライセンスがなければピースが役に立たないことが多い理由、およびそれらの再組み立てが範囲外である理由

一部のセグメントには個別の暗号化キーがあり、一部の再生ではライセンスに拘束された DRM システムが使用されます。マニフェストが公的に読み取り可能な場合でも、そのセグメントは保護されたり、有効期間が短かったり、再生のみが許可されたりする場合があります。ファイルの結合、キーの取得、またはプロバイダーの制限の回避は、ダイレクト メディア ダウンローダーの設計の範囲外であり、権利やアクセス制御に違反する可能性があります。認可された発行者によって提供される単純な直接ファイル リンクは、保護されたストリームを再構築することとは異なります。

実用的な例: テキスト エディターでマニフェストを検査する — セグメント リストを読み、それに何が含まれていて何が含まれていないのかを理解する

#EXTM3U、#EXTINF:6.0 行、パス segment0001.ts と、その後に別の期間と segment0002.ts が続くおもちゃのテキスト マニフェストを考えてみましょう。テキスト エディタで開くと、デコードされたビデオ フレームではなく、ディレクティブと相対ファイル名が表示されます。 HLS プレーヤーは、プレイリストと現在の接続に従ってこれらのパスを解決し、要求します。ブラウザでテキスト ファイルをダウンロードすると、マニフェストが保存されます。 segment0001.ts と segment0002.ts を組み合わせて再生可能なプログラムにするものではありません。これはフォーマットのスケッチを説明するものであり、特定のサービスについての主張ではありません。

要点: マニフェストは領域ではなく地図です — ダイレクト メディア ダウンローダーがダイレクト ファイルをどのように処理するか、そしてマニフェストはその仕事の範囲外であることを明確に述べています

マニフェストはマップであり、マップされるビデオではありません。 ToolAcre のダイレクト メディア ダウンローダーは、アクセス許可が付与された直接のファイル リンクに意図的に制限されており、インターフェイスの背後にリレーを隠すのではなく、CORS とサポートされていないストリームについて説明します。 .m3u8 または .mpd が発生した場合は、直接リンク ツールがストリーミング抽出機能になることを期待するのではなく、プロバイダーの正規のダウンロード機能を見つけるか、発行元にオリジナルのファイルをリクエストしてください。