m3u8 / HLSストリームをMP4でダウンロードする方法
HTTPライブストリーミングのプレイリストを単一のMP4ファイルとしてローカルに保存するための技術ガイド。マスタープレイリスト・AES-128暗号化セグメント・ライブHLSに対応。コマンドライン不要、再エンコードなし。
.m3u8のURLを見つけてSVDに貼り付け、レンディションを選んでダウンロードを押すだけ。マスタープレイリスト・暗号化・セグメント結合はSVDが自動で処理します。m3u8とは何か
.m3u8ファイルはHTTP Live Streaming(HLS)プレイリストです。短いメディアセグメントの連続を参照するテキストファイルで、ほとんどの現代的なストリーミングサービスが帯域幅に合わせて適応的に配信するためにHLSを使用しています。
マスタープレイリストはこのような形式です:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=2600000,RESOLUTION=1280x720
720p/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=854x480
480p/playlist.m3u8
メディアプレイリスト(子)は実際のセグメントを参照します:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
segment-001.ts
#EXTINF:10.0,
segment-002.ts
...
#EXT-X-ENDLIST
m3u8 URLを30秒で見つける方法
- Chrome・Edge・Safariで動画ページを開く
- DevToolsを開く —
⌘⌥I(Mac)またはF12(Windows) - Network(ネットワーク)タブに移動
- フィルターボックスに
m3u8と入力 - 動画を再生する
- マスタープレイリストのリクエストが表示される — 通常
master.m3u8・playlist.m3u8・index.m3u8で終わる - 右クリック → コピー → リンクアドレスをコピー
SVDで4ステップでダウンロード
SVDをインストール
ホームページからMacまたはWindows版をダウンロード。macOS版はコード署名済み。
m3u8 URLを貼り付け
SVDに切り替えると、クリップボードのURLが自動検出されます。URL欄に手動で貼り付けることもできます。
レンディションを選択
SVDがマスタープレイリストから参照されるすべてのレンディションを一覧表示。デバイス互換性の観点からH.264を優先。
単一のMP4にダウンロード
すべてのセグメントを取得し、必要に応じて復号し、連結してMP4にリマックス。再エンコードなし、画質劣化なし。
暗号化HLS:AES-128 vs DRM
HLSには主に2種類の暗号化方式があります:
- AES-128(キーがプレイリストに記載)(
EXT-X-KEY:METHOD=AES-128,URI="key.bin") — キーはHTTPSで配信され、認証済みのクライアントであれば誰でもアクセスできます。SVDはこれに対応しています。 - Widevine / FairPlay / PlayReady DRM — キーはセキュアなハードウェアパスを持つライセンス済みプレイヤーにのみ提供されます。SVDはDRM保護されたストリームには対応していません。
ブラウザがWidevine CDMを使ってサブスクリプションの動画を再生できるからといって、SVDでも取得できるわけではありません。ダウンロードできるのはDRMなしのストリームだけですが、それでも一般的なWebの大半のコンテンツをカバーしています。
ヘッダー・Referer・認証
サーバーによっては特定のRefererやOriginヘッダーがないとリクエストを拒否するものがあります。SVDが内蔵するyt-dlpは1,800以上のサイトに対してこれらを自動設定します。カスタムサイトの単独m3u8 URLの場合は、ブラウザのCookieを提供できます。macOSではChrome/Safari、WindowsではEdgeのCookieをローカルで読み取ります。
よくある質問
m3u8ファイルとは何ですか?
HLSプレイリストです。動画セグメントの連続を記述したテキストファイルです。ほとんどのストリーミングサービスがHTTP経由での動画配信にHLSを使用しています。
SVDはAES-128暗号化ストリームをダウンロードできますか?
はい。EXT-X-KEYでキーがプレイリストに記載されていれば、SVDが取得してリアルタイムで復号します。Widevine / FairPlay DRMには非対応です。
SVDはマスタープレイリストに対応していますか?
はい。マスターURLを貼り付けると、SVDがすべてのレンディションを一覧表示します。
SVDはHLSライブストリームを録画できますか?
はい。ライブイベントストリームの場合、停止するかストリームが終了するまでリアルタイムで録画します。
yt-dlp CLIとの違いは?
SVDはyt-dlp + ffmpegをネイティブGUIでまとめたものです。エクストラクターを自動更新し、コード署名済みでGatekeeperの警告も出ません。内部的には同じエンジンです。