
M3U8は、HTTP Live Streaming(HLS)で使われるプレイリストです。動画本体を1つのファイルとして格納するのではなく、プレーヤーが順番に取得するメディアデータの参照先を記録しています。そのため、動画を保存するには、プレイリストを読み取り、参照先のデータを取得して、再生可能なファイルにまとめる必要があります。
この記事では、自分が権利を持つ動画、または保存の許可を得た動画について、利用可能なM3U8 URLを取得済みであることを前提に解説します。アクセス制限、ログイン制限、地域・年齢制限、ダウンロード禁止設定、DRMを回避する方法は扱いません。
目次
Part 1. M3U8のダウンロードで保存されるもの
HLSでは、M3U8プレイリストに記録された参照先からメディアデータを順番に配信します。データにはTSセグメントや分割されたMP4が使われ、音声が別のプレイリストで配信される場合もあります。プレイリスト自体が開けても、参照先の一部にアクセスできなければ、ダウンロードが不完全になったり、音声が含まれなかったりします。
| 配信の種類 | プレイリストの仕組み | ダウンロード時の注意点 |
| オンデマンド配信(VOD) | 配信内容が確定しており、通常は終了を示すマーカーが含まれます。 | 参照先の全データにアクセスできれば、動画を最初から最後まで取得できます。 |
| イベント配信 | イベント中に項目が追加され、過去の項目も保持されます。 | イベントが終了するまで、保存可能な範囲が増える場合があります。 |
| 一定時間分のみを公開するライブ配信 | 新しいデータが追加される一方、古い項目が削除される場合があります。 | 保存を始める時点で、前半の映像が一覧から消え、取得できないことがあります。 |
M3U8 URLの調べ方
M3U8への直接リンクがある場合は、下のダウンロード手順へ進んでください。動画ページのURLとHLSプレイリストのURLは別物です。ページのアドレスを貼り付けても、配信URLを指定したことにはなりません。
- 自分が権利を持つ、または保存が許可された公開動画をパソコンのブラウザーで開きます。開発者ツールを開き、 ネットワーク
- を選択します。リクエストのフィルターに
m3u8と入力し、動画を再生するかページを再読み込みして、プレイリストへのリクエストを表示します。 - クエリパラメーターを含むURL全体をコピーします。映像の画質別データや別配信の音声を参照するマスタープレイリストがある場合は、そちらを優先してください。映像専用のメディアプレイリストには音声が含まれない場合があります。
URLは必ずしも拡張子で終わるとは限らず、 .m3u8 の後ろに「?」やパラメーターが続く場合もあります。該当するリクエストがなければ、別の配信方式が使われている可能性があります。ページURLやテキストのプレイリストの拡張子を変更しても、動画には変換できません。.mp4にしても同じです。
Part 2. M3U8のダウンロード方法を選ぶ
保存が許可されたHLS動画は、デスクトップアプリ、ブラウザー拡張機能、コマンドラインツールから、配信元へのアクセス方法や保存後の管理方法に合うものを選びましょう。
| 方法 | 向いている場面 | 主な制限 |
| Wondershare UniConverterデスクトップ版 | M3U8リンクから、取得可能な音声を含むMP4を保存したいとき。コマンドを使わず、分割データの結合やタスク管理を行いたい場合に便利です。 | インストールが必要です。配信がツールに対応し、参照先へアクセスできる必要があります。 |
| ブラウザー拡張機能(HLS Downloader / FetchV) | Chromeなどの対応ブラウザーで、ページ内の取得可能なHLS配信を検出して保存したいとき。 | 拡張機能のインストールが必要です。配信への対応状況やブラウザーからのアクセス可否に左右され、長時間の保存ではブラウザーを開いたままにする必要があります。 |
| オンラインM3U8ダウンロードツール | ソフトをインストールせず、対応する公開配信を保存したいとき。 | 配信元によるクロスオリジン通信の許可が必要な場合があります。保存前にセグメントをメモリー上へ保持するツールもあります。 |
| FFmpeg | ターミナルやコマンドプロンプトの操作に慣れていて、アクセス可能なM3U8 URLがあるとき。 | コマンド操作が必要です。保存できるかどうかは、配信の可用性とコーデック・コンテナの互換性に左右されます。 |
ブラウザーで再生中の短い動画なら、拡張機能が便利な場合があります。ただし、アクセス制限を解除できるわけではありません。ブラウザーのセキュリティー、非対応のHLS構成、取得できないセグメントなどが原因で、保存できないこともあります。
Part 3. Wondershare UniConverterでM3U8をダウンロードする方法
Wondershare UniConverterデスクトップ版の ダウンロード 機能は、対応するM3U8配信をパソコン内のMP4動画として保存します。プレイリストを解析してメディアセグメントを並行して取得し、再生順に結合します。映像と音声が別配信の対応ストリームでは、取得可能な音声トラックも結合できます。FFmpegのコマンド入力や、セグメントを手作業でつなぐ操作は不要です。
- プレイリストだけでなく動画を保存: 小さなインデックスファイルではなく、再生可能なMP4として保存します。
- 分割データの結合を自動化: ダウンロード機能がプレイリストの解析、セグメントの取得、結合を処理します。
- 取得可能な音声も一緒に保存: 対応する配信では、別々に配信される映像と音声をダウンロード時に結合します。
以下はWindowsデスクトップ版の操作手順です。あらかじめUniConverterをインストールして起動してください。オンライン変換ツールの手順ではありません。
M3U8動画を音声付きのMP4として保存
ステップ1.「ダウンロード」を開き、M3U8リンクを貼り付ける
UniConverterを起動し、左側のメニューでダウンロードを選びます。ダウンロード中タブで、URL入力欄の上にある動画をダウンロードを選択してください。ここにURLを貼り付けてください。1行につき1つのURLを追加できます。と表示された欄へ、M3U8 URL全体を入力します。コピー済みのURLは貼り付けから挿入できます。画面下部の保存先で保存するフォルダーを指定します。
ステップ2.「ダウンロード」をクリックし、進行状況を確認する
ダウンロードボタンは貼り付けの横にあります。対応するURLの解析後、タスクがダウンロード中に表示されます。タスク名はmaster.m3u8など、プレイリスト名のままになる場合があります。進捗バー、取得済みの容量、推定残り時間、ダウンロード速度を確認できます。セグメントの取得と結合は自動で行われます。処理を止めたいときは、タスクの一時停止を使ってください。
ステップ3.「完了」を開き、MP4の保存先を確認する
処理後は完了タブを開きます。タスク名がmaster.m3u8のままでも、保存された動画はMP4の場合があります。名前だけで判断せず、その下に表示された形式を確認してください。完了した項目には、形式、解像度、ファイルサイズ、再生時間が表示されます。MP4で保存された対応動画には、形式としてMP4と表示されます。フォルダーアイコンから保存先を開けます。
保存後は再生状態も確認 保存したMP4の冒頭・中間・末尾を再生し、配信の取得可能な範囲と再生時間が合うか、シークできるか、音声があり映像とずれていないかを確認してください。速度、容量、解像度、再生時間は、配信元と通信環境によって異なります。
Part 4. ブラウザー拡張機能・オンラインツールでM3U8を保存する
拡張機能でアクセス可能な配信を検出
保存が許可された配信をブラウザーで再生できる場合は、HLS対応の拡張機能で手軽に保存できることがあります。デスクトップアプリを別途インストールする代わりに、ブラウザーへ拡張機能を追加します。HLS対応が案内されている例は、 HLS DownloaderとFetchVです。
- HLS Downloader: Chromeウェブストアでは、HLSプレイリストとセグメントのダウンロードに対応すると案内されています。対応ブラウザーや利用可能な機能は、現在の配布ページで確認できます。
- FetchV: Chromeウェブストアでは、HLS/M3U8への対応、取得可能な分割データのMP4結合、ライブ配信の保存が案内されています。一方、開発元は暗号化された動画や一部の特殊なプレーヤーは非対応と説明しています。
拡張機能の使い方: 公式の拡張機能ストアからインストールし、保存が許可された動画ページを開きます。必要に応じて動画を再生して検出させ、対応するHLS項目のダウンロード操作を行ってください。処理後のファイルは、ブラウザーのダウンロード一覧や指定の保存フォルダーから確認できます。操作名は拡張機能によって異なります。
別の方法を検討する場面: 拡張機能が配信を検出できない場合や、ブラウザーがセグメントを取得できない場合は、対応するURLをデスクトップアプリやFFmpegで処理する方法があります。ただし、いずれもDRMやアクセスできないメディアを回避する方法ではありません。長時間の保存では、ブラウザーと拡張機能を動かしたままにする必要があります。
インストールせずにM3U8をオンライン保存できますか?
対応する配信なら可能です。例えば、 Chrunos HLS Downloader では、URLを貼り付けて解析し、利用可能な画質と出力形式を選んで、ブラウザー上で保存できます。公式の説明では、配信元がクロスオリジン通信を許可している必要があり、保存前のセグメントはメモリー上に保持されます。
対応する動画を時々保存するなら、オンラインツールが便利です。長時間の動画でブラウザーのメモリー負荷が大きくなる場合は、対応するURLをUniConverterデスクトップ版やFFmpegで処理する方法を検討できます。ただし、配信データへのアクセスと十分な保存容量は、どの方法でも必要です。
Part 5. FFmpegでアクセス可能なHLS動画を保存する
FFmpegは、HLS入力に対応する無料のオープンソースのコマンドラインツールです。アクセス可能なM3U8 URLがあり、ターミナルやコマンドプロンプトに慣れている方に向いています。以下のコマンドを使う前に、 FFmpeg公式ダウンロードページ からインストールしてください。
ffmpeg -i "https://example.com/path/stream.m3u8" -c copy "output.mp4"
このコマンドはHLSプレイリストを読み込み、対応する入力ストリームを再エンコードせずに出力へコピーします。すべてのM3U8 URLで成功するわけではありません。プレイリスト、セグメント、別配信の音声へアクセスでき、選択した出力コンテナが各ストリームに対応している必要があります。
終了済みのVODプレイリストでは、参照先の全データにアクセスできれば最後まで処理できます。ライブ配信では、新しいセグメントが追加される間、手動で停止するか配信が終了するまで処理が続く場合があります。公式の追いかけ再生やアーカイブが提供される場合もありますが、一定時間分だけを公開する配信で過去の映像を必ず取得できるわけではありません。
Part 6. ダウンロードした動画の保存先と確認方法
転送が終わったら、保存先でファイルを確認しましょう。URLのメモを削除したり、ライブ保存を終了したりする前に、再生状態を確かめてください。
- UniConverterの場合: 確認するのは 完了 タブです。処理済みの項目のフォルダーアイコンから保存先を開けます。保存場所は 保存先 で指定したフォルダーです。
- FFmpegの場合: 出力先はコマンドの最後の引数で指定します。ファイル名だけを指定した場合(例:
output.mp4)は、コマンドを実行した作業フォルダーを確認してください。 - 再生の確認: ローカルファイルの冒頭・中間・末尾を再生し、シークできるか、必要な音声が含まれているかを確認します。
- ライブ保存の確認: 保存を開始・終了した時刻とファイルの再生時間を比較します。ライブプレイリストに配信開始時点からの映像が含まれるとは限りません。
Part 7. M3U8をダウンロードできない原因と対処法
| 症状 | 考えられる原因 | 対処法 |
| M3U8リンクが開かない | URLの有効期限切れ、移動、削除などが考えられます。 | 保存が許可された配信元へ戻り、現在利用できるURLを取得してください。アクセス制限の回避は行わないでください。 |
| プレイリストは開くが保存できない | 参照先のセグメントでエラーが発生した、またはデータが公開されなくなった可能性があります。 | 参照先のメディアにアクセスできるか確認し、配信が利用できる間に再試行します。出力形式を変えても、失われたセグメントは取得できません。 |
| 途中でダウンロードが止まる | 通信の中断や、処理中の配信プレイリストの更新が考えられます。 | 配信元へアクセスできることと、通信が安定していることを確認します。UniConverterで処理中なら、必要に応じて「一時停止」を使います。タスクが失敗した場合は、現在利用できる許可済みのURLで新しいダウンロードを開始してください。期限切れURLや欠損セグメントを必ず再開できるわけではありません。 |
| 保存した動画に音声がない | HLSで音声が別プレイリストに分かれており、音声が取得対象に含まれていなかった、またはアクセスできなかった可能性があります。 | 映像と音声の両方を参照するマスタープレイリストがあれば、そちらを使います。対応する配信では、UniConverterで再取得すると利用可能な音声を結合できます。すでに無音になっているファイルを変換しても、取得しなかった音声は復元できません。 |
| ライブ配信の前半が保存されていない | 一定時間分だけを公開するプレイリストで、古いセグメントの参照が削除された可能性があります。 | 公式の追いかけ再生やアーカイブの有無を確認してください。提供されていない場合は、その時点で取得可能な範囲のみを保存します。 |
| ファイルはあるが正常に再生できない | 処理が未完了か、保存されたトラックやコンテナ形式がプレーヤーに対応していない可能性があります。 | まず処理が完了したか、ファイルサイズが不自然でないかを確認します。そのうえで対応プレーヤーを試すか、自分が権利を持つ完全なファイルであれば、必要に応じてコンテナを変更するリマックスを行います。 |
プレイリストとメディア取得、MP4出力の詳しい解説は、 M3U8をMP4に変換する方法をご覧ください。M3U8をMP4として保存するには参照先のメディアを取得する必要があり、ファイル名を変えるだけでは動画に変換できません。
まとめ
M3U8動画の保存には、プレイリストだけでなく参照先のメディアの取得が必要です。対応する許可済みURLなら、UniConverterデスクトップ版でプレイリスト解析、セグメントの並行取得、MP4結合を自動化し、取得可能な別配信の音声もまとめられます。対応するブラウザーツールも選択肢となり、コマンド操作に慣れている方にはFFmpegが向いています。
配信動画を保存してみましょう UniConverterの「ダウンロード」を開いてM3U8 URL全体を貼り付け、 保存先を指定し、 ダウンロードをクリックします。保存したMP4は 完了 から確認し、オフラインで使う前に音声と再生状態をチェックしてください。