.m3u8のリンクを見つけて保存したら、動画ではなく小さなテキストファイルが出てきた——それは正常です。.m3u8はHLSストリームの「再生リスト」で、動画そのものではありません。これを本物のMP4にする方法を、ワンクリックのブラウザ拡張からffmpegのコマンドまで解説します。
先に結論
.m3u8ファイルの正体
HLS(HTTP Live Streaming)は、ニュース・ライブ・見逃し配信の多くが使う形式です。1つの大きなファイルではなく、動画は数百個の短い.ts(または.m4s)セグメントに分割されています。.m3u8ファイルは、そのセグメントを順番に並べただけのテキスト再生リスト——時には復号用のAES-128キーも書かれています。
つまり「m3u8をダウンロードする」とは実際には、再生リストを読み、全セグメントを取得し、暗号化されていれば復号し、1つのMP4に結合する、ということ。ツールがこれを全部やってくれます。
方法1 — ブラウザ拡張(一番簡単)
動画をページで再生できるなら、これが一番シンプルで、しかも.m3u8のURLを探す必要すらありません:
- ChromeウェブストアからClipmoth拡張を無料でインストール。
- ページを開いて保存したい動画を再生。
- Clipmothのアイコンをクリック——HLSストリームを検出し、全セグメントを取得、AES-128をその場で復号し、1つのMP4として保存。透かしなし・アップロードなし。
今見ているページから動くので、コピペするものは何もありません。サイトにブロックされる場合や、再生ページの無い生の.m3u8リンクしか無い場合は、ffmpeg(方法2)かWindowsデスクトップアプリを使ってください。
方法2 — ffmpeg(コマンドライン)
ffmpegが入っていれば、1コマンドでm3u8をMP4にできます:
ffmpeg -i "https://example.com/stream.m3u8" -c copy output.mp4-c copyは再エンコードせずセグメントを再パッケージするので、高速かつ無劣化です。AES-128ストリームでも、キーが再生リストから辿れる限りffmpegが自動で復号します。厄介なストリームには最も確実な方法ですが、ターミナルのツールです。コマンドを触りたくないなら、方法1(またはデスクトップアプリ)がボタンの裏で同じことをやってくれます。
.m3u8のURLの見つけ方
Webページしか手元に無く、生のストリームリンクが分からない場合は、ブラウザの開発者ツールから取得します:
- ページを開いて動画を再生し始める。
- 開発者ツール(F12)を開き、Network(ネットワーク)タブへ。
- フィルター欄に
m3u8と入力。 - 必要なら再読み込み——出てきたリクエストが再生リストのURLです。右クリック → コピー → リンクアドレスをコピー。
サイトによっては複数画質を指す「マスター」再生リストを読み込みます。マスターのリンクをコピーすればOK——良いツール(当社含む)は最適なバリアントを自動で選びます。
m3u8が落とせない時
- ライブ配信 — 配信中はまだ終わりが無く、放送済みの分しか掴めません。多くのツールは終了まで拒否します。
- DRM(Widevine/FairPlay) — Netflix・Prime Video等はHLSをDRMで包んでいます。正当なツールでは保存できませんし、すべきでもありません。
- CORSブロック — 一部サイトはクロスオリジンのブラウザ取得を制限します。デスクトップツール(や当社Windowsアプリ)はブラウザのセキュリティ規則に縛られないので保存できることが多いです。
- 期限切れ/署名付きURL — m3u8リンクは時間制限付きのことが多いです。少し前は動いたのに403になったら、新しいリンクを取り直してください。
よくある質問
.m3u8を保存したらテキストファイルになったのはなぜ?
.m3u8は動画ではなく再生リストだからです。ストリームのセグメントを列挙したテキストファイルです。実際の動画を得るには、再生リストを読んで全セグメントを取得しMP4に結合するツール(Clipmothのブラウザ拡張やffmpeg等)が必要です。
コマンドラインなしでm3u8をMP4に変換できますか?
できます。Clipmothのブラウザ拡張は、ページで再生中のストリームをワンクリックで保存します——ターミナル不要・アップロードなし。生の.m3u8のURLしか無い場合は、ffmpegが最も確実な1コマンドの方法です。
AES-128で暗号化されたストリームも扱えますか?
扱えます。多くのHLSストリームはAES-128暗号化を使い、キーは通常再生リスト内に書かれています。Clipmothの拡張もffmpegも、そのキーを取得してセグメントを自動で復号します。
m3u8リンクが今は403エラーになるのはなぜ?
多くのストリームは署名付きの時間制限URLを使います。トークンが失効するとリンクは403を返します。ページを再読み込みして動画を再生し直し、Networkタブから新しい.m3u8のURLをコピーしてください。
HLSストリームを保存?ワンクリックで
Clipmothのブラウザ拡張は、ページで再生中のHLSストリームを1つのきれいなMP4に変換します——AES-128復号込み・アップロードなし・URL探し不要。YouTube・4K・プレイリストも必要?¥1,480の買い切りキー1つでWindowsアプリも使えます。
ClipmothをChromeに追加 プレミアムを見る