【2026年最新】FFmpegでM3U8をMP4に変換する方法|Windows・Mac対応
WOWOWオンデマンドなどの配信動画を保存しようとして、一般的な動画ダウンローダーではエラーになった経験はありませんか。動画配信サービスやライブ配信サイトでは、HLSと呼ばれるストリーミング方式が広く使われており、通常のMP4ファイルとは保存方法が異なります。
過去にはISLAND TV(2023年12月31日にサービス終了)、Johnny’s net オンライン(現FAMILY CLUB online)、NHKプラス(現NHK ONE)などの名称でM3U8動画の保存方法を検索するユーザーも多くいました。現在はサービス名や提供状況が変わっているため、対象サイトが今も存在するか、利用中のツールが対応しているかを事前に確認する必要があります。
M3U8動画を扱う方法としてよく知られているのが、無料のオープンソースソフトウェア「FFmpeg」です。ただし、FFmpegは一般的なGUIソフトとは異なり、インストールやコマンド操作、M3U8 URLの確認など、いくつかの準備が必要です。
本記事では、WindowsとmacOSでFFmpegをインストールし、M3U8をMP4として保存する基本的な方法を解説します。さらに、403エラーやコーデックエラーが発生した場合の対処法、FFmpegで扱えるM3U8と扱えないM3U8の違い、コマンド操作が難しい場合の代替方法も順番に確認します。
※免責事項:本記事の内容は、権利者から保存を許可された動画や、自分で配信したコンテンツを扱う際の技術情報として紹介しています。動画を保存する場合は、著作権法および各サービスの利用規約を確認し、私的利用の範囲を超えた無断転載、再配布、販売は行わないでください。
M3U8とHLSとは?
FFmpegの操作方法を確認する前に、M3U8とHLSの関係を整理しておきましょう。
HLSは、動画や音声を複数の短いメディアセグメントに分割し、M3U8形式のプレイリストに記載された順番で配信するストリーミング方式です。ライブ配信だけでなく、見逃し配信やオンデマンド動画にも利用されています。
M3U8は動画本体ではなく、動画を構成するセグメントのURL、再生順序、画質、音声などの情報を記録したプレイリストです。メディアセグメントにはTSファイルのほか、fragmented MP4などが使われる場合もあります。
そのため、WebページのURLやM3U8ファイルだけを通常のファイルとして保存しても、1本の動画として再生できるとは限りません。FFmpegはM3U8プレイリストを読み込み、複数のセグメントを順番に取得して、MP4などのコンテナへまとめることができます。
FFmpegで保存できるM3U8・できないM3U8
公開されているM3U8 URLで、ログイン認証やDRM保護がなく、必要なセグメントへ正常にアクセスできる場合は、FFmpegで保存できる可能性があります。
一方、次のようなM3U8では、URLをコピーしただけでは処理できないことがあります。
- URLに短い有効期限が設定されている
- ログインセッション、Cookie、Refererなどが必要
- 地域制限やアカウント認証が設定されている
- WidevineやFairPlayなどのDRMで保護されている
- ライブ配信がすでに終了し、セグメントが削除されている
FFmpegは未暗号化のHLSだけでなく、正規の再生環境から鍵へアクセスできる一部のAES-128形式を処理できる場合があります。ただし、WidevineやFairPlayなどのDRMで保護された配信を、FFmpegだけで保存することはできません。
この違いを理解したうえで、まずはFFmpegをパソコンへインストールしましょう。
FFmpegをインストールする方法
2026年7月時点では、FFmpeg 8.1系が最新の安定版です。古い解説記事のコマンドが動かない場合もあるため、公式サイトから案内されている配布元を利用し、できるだけ新しいバージョンを導入してください。
WindowsにFFmpegをインストールする
FFmpeg公式ダウンロードページを開き、Windows向けビルドの配布先から圧縮ファイルをダウンロードします。FFmpeg公式サイト自体はWindows用の実行ファイルを直接配布していないため、公式ページから案内されているWindowsビルドを利用してください。
ダウンロードしたファイルを解凍し、分かりやすい場所へフォルダーを移動します。次に、フォルダー内の「bin」フォルダーのパスをWindowsの環境変数「Path」へ追加します。
設定後、コマンドプロンプトを開き、次のコマンドを入力してください。
ffmpeg -version
FFmpegのバージョン情報が表示されれば、インストールは完了です。「ffmpegは内部コマンドまたは外部コマンドとして認識されていません」と表示される場合は、binフォルダーの場所とPath設定をもう一度確認してください。
macOSにFFmpegをインストールする
macOSでは、パッケージ管理ツールのHomebrewを利用するとFFmpegを簡単にインストールできます。Launchpadから「ターミナル」を起動し、Homebrew公式サイトに掲載されている次のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrewのインストールが完了したら、続けて次のコマンドを実行し、FFmpegをインストールします。
brew install ffmpeg
最後に、次のコマンドでFFmpegが正しく導入されたか確認してください。
ffmpeg -version
ここまで準備できたら、ブラウザでM3U8 URLを確認し、FFmpegでMP4として保存します。
2026年版:FFmpegでM3U8をMP4として保存する方法
WindowsとmacOSで基本的な流れは共通です。Google Chromeの開発者ツールでM3U8 URLを確認し、そのURLをFFmpegの入力として指定します。
Windows版FFmpegでM3U8をMP4として保存する方法
1. Google Chromeで、保存が許可されている動画を再生します。ページ上で右クリックし、「検証」を選択して開発者ツールを開きます。

ブラウザ右上のメニューから「その他のツール」→「デベロッパーツール」を選択しても開けます。
2. 「Network」タブを開きます。一度リクエスト一覧を消去し、動画ページを再読み込みしてから動画を再生してください。検索欄に「m3u8」と入力すると、M3U8に関連するリクエストが表示されます。

対象のリクエストを選択し、「Headers」→「General」に表示される「Request URL」をコピーします。複数のM3U8が表示される場合は、画質別のプレイリストをまとめたmaster.m3u8と、個別画質のプレイリストが含まれている可能性があります。
M3U8 URLには有効期限付きの署名が含まれることがあります。コピー後は長時間放置せず、できるだけ早くFFmpegを実行してください。
3. Windowsの検索欄で「CMD」と入力し、コマンドプロンプトを開きます。次の形式でコマンドを入力し、Enterキーを押してください。
ffmpeg -i "M3U8のURL" -c copy output.mp4

処理が完了すると、コマンドプロンプトで開いているフォルダーに「output.mp4」が作成されます。別の保存先を指定したい場合は、出力ファイル名にフォルダーのパスを含めてください。
macOS版FFmpegでM3U8をMP4として保存する方法
1. Google Chromeで動画ページを開き、右クリックから「検証」を選択します。「Network」タブを開いた状態でページを再読み込みし、動画を再生してください。

検索欄に「m3u8」と入力し、表示されたリクエストの「Headers」から「Request URL」をコピーします。元記事ではOpenRecの画面を例にしていますが、サイトによってリクエスト名やプレイリスト構成は異なります。
2. Launchpadから「ターミナル」を起動し、次の形式でコマンドを入力してEnterキーを押します。
ffmpeg -i "M3U8のURL" -c copy output.mp4

処理が完了すると、ターミナルで現在開いているディレクトリにMP4ファイルが保存されます。エラーが表示された場合は、コマンドのスペルだけでなく、URLの有効期限、認証、コーデックなども確認する必要があります。
「-c copy」は再エンコードではなくストリームコピー
-c copyは、映像や音声を再エンコードせず、M3U8で参照されているストリームをMP4コンテナへ再格納する指定です。厳密には「変換」というより、ストリームコピーや再多重化に近い処理です。
再エンコードを行わないため、処理時間が短く、元動画の画質も基本的に変わりません。一方、元動画の映像・音声コーデックがMP4コンテナと互換性を持たない場合は、-c copyでエラーになることがあります。
MP4で保存できない場合は、MKVコンテナを試すか、権利者から許可された動画に限り、互換性の高いコーデックへ再エンコードする方法を検討してください。
FFmpegでM3U8をMP4にできないときの対処法
FFmpegでM3U8を保存できない原因は、コマンドの入力ミスだけではありません。ここでは、よく表示されるエラーと確認ポイントを整理します。
「ffmpegは認識されていません」と表示される
WindowsでFFmpegがインストールされていないか、環境変数Pathが正しく設定されていない可能性があります。コマンドプロンプトを開き、ffmpeg -versionを実行してください。
バージョン情報が表示されない場合は、解凍したFFmpegフォルダー内の「bin」フォルダーがPathに登録されているか確認し、設定後にコマンドプロンプトを開き直します。
HTTP error 403 Forbiddenが表示される
403エラーは、M3U8 URLの有効期限切れ、ログインセッション、Cookie、Referer、地域制限などが原因で発生することがあります。動画ページを再読み込みし、NetworkタブからM3U8 URLを取り直してください。
VPNを利用している場合は、M3U8を取得したときとセグメントを取得するときで接続先IPが変わり、署名検証に失敗することがあります。すべてのサービスで起こるわけではありませんが、エラー時はVPNを一度無効にして確認しましょう。
Invalid data found when processing inputと表示される
コピーしたURLがM3U8プレイリストではなく、ログインページ、エラーページ、JSONデータなどを指している可能性があります。Networkタブで対象リクエストのRequest URLとContent-Typeを確認してください。
master.m3u8ではなく、個別画質のプレイリストを選択することで処理できる場合もあります。
Unable to open key fileと表示される
HLSの暗号鍵へアクセスできない場合に表示されることがあります。鍵のURLが期限切れになっている、ログインセッションが必要、またはDRM保護が使われている可能性があります。
権限のない鍵を取得したり、DRMを回避したりする方法は使用せず、公式のダウンロード機能や権利者から許可された保存方法を利用してください。
MP4への保存時にコーデックエラーが出る
元動画の映像・音声コーデックがMP4コンテナに対応していない可能性があります。まず出力形式をMKVへ変更して、ストリームコピーできるか確認してください。
音声に関するエラーだけが表示される場合は、AACのビットストリーム処理が必要なことがあります。ただし、FFmpegのバージョンや入力ストリームによって動作が異なるため、表示されたエラーメッセージを確認してから設定を変更してください。
ライブ配信の途中からしか保存されない
ライブ配信中でもFFmpegによる保存を開始できますが、通常は実行時点でプレイリストに残っているセグメント以降が対象です。配信開始前の部分まで必ず取得できるわけではありません。
通信切断や配信終了時の処理によって、ファイルが不完全になる場合もあります。公式アーカイブが公開される場合は、配信終了後にアーカイブ版を利用するほうが安定します。
FFmpegのメリットとデメリット
FFmpegは無料で柔軟性の高いツールですが、すべてのユーザーやM3U8配信に向いているわけではありません。メリットとデメリットを理解し、用途に合っているか判断しましょう。
FFmpegのメリット
- 無料のオープンソースソフトウェアとして利用できる
- Windows、macOS、Linuxなど複数のOSに対応している
- M3U8の保存、動画変換、音声抽出、圧縮、編集など多くの処理に対応している
-c copyを使えば、再エンコードせず短時間で保存できる- コマンドを組み合わせて処理を細かく調整できる
FFmpegはソースコードや更新履歴を公開しています。ただし、オープンソースであることだけで安全性が保証されるわけではありません。FFmpeg公式サイトから案内されている配布元を利用し、古いバージョンを放置しないことが重要です。
また、-c copyを使う場合は再エンコードを行わないため、一般的な動画変換より短時間で処理でき、画質劣化も抑えられます。一方、コーデック変換やフィルター処理を行う場合は、CPUやGPUへの負荷が高くなることがあります。
FFmpegのデメリット
- Windowsでは解凍やPath設定、macOSではHomebrewなどの準備が必要
- コマンドプロンプトやターミナルの操作に慣れる必要がある
- M3U8 URL、期限付き署名、Cookie、コーデックなどの知識が必要になる場合がある
- エラー内容を自分で読み取り、原因を切り分ける必要がある
- WidevineやFairPlayなどのDRMで保護された配信はFFmpegだけでは処理できない
公開されたHLS動画を無料で保存したい方や、コマンド操作に慣れている方にとって、FFmpegは柔軟性の高い選択肢です。一方、ブラウザの開発者ツールやコマンドを使わずに操作したい場合は、GUIを備えた別のツールを検討するとよいでしょう。
FFmpegの操作が難しい場合はStreamFabも選択肢
FFmpegは無料で高機能ですが、M3U8 URLの確認、コマンド入力、エラー対応を自分で行う必要があります。動画保存のたびに開発者ツールを開くのが難しい場合や、字幕・音声・複数動画を画面上で選択したい場合は、GUI型のツールも比較候補になります。
StreamFab DRM M3U8 ダウンローダーとは
StreamFab DRM M3U8 ダウンローダーは、内蔵ブラウザで対応するM3U8/HLS動画を検出し、画質、音声、字幕、保存形式を画面上で選択できるソフトです。
旧記事では、WOWOWオンデマンド、バンダイチャンネル、オンスク、ISLAND TV、Johnny’s net オンライン、NHKプラスなどが例として挙げられていました。ただし、ISLAND TVは2023年12月31日にサービスを終了し、Johnny’s net オンラインは現在「FAMILY CLUB online」、NHKプラスは現在「NHK ONE」へ移行しています。
現在のサービス名で表すと、FAMILY CLUB online(旧Johnny’s net オンライン)、NHK ONE(旧NHKプラス)となります。ただし、名称が変わったサービスを含め、StreamFabの対応状況はサイト側の仕様変更によって変わる可能性があります。ISLAND TVのように終了したサービスは現在の保存対象にはなりません。
利用前には、StreamFabのサービスステータスまたは無料体験で、対象サイトと動画が現在も解析できるか確認してください。

- 内蔵ブラウザで対応するM3U8/HLS動画を自動検出
- 元動画に応じて最大2160p(4K)で保存
- MP4・MKV形式に対応
- 複数動画の一括ダウンロードに対応
- 字幕を動画に統合するか、SRT形式で個別に保存
StreamFab DRM M3U8 ダウンローダーでは、元動画に応じて最大2160p(4K)を選択でき、MP4またはMKV形式で保存できます。また、字幕を動画へ統合するか、SRTファイルとして個別に保存することも可能です。
FFmpegのようにM3U8 URLを手動で探してコマンドへ貼り付ける必要がなく、対応する動画であれば内蔵ブラウザで再生すると解析画面が表示されます。ただし、すべてのM3U8サイトや動画を保証するものではないため、対象サイトの対応状況を確認することが前提です。
FFmpegとStreamFabはどちらが向いている?
| 比較項目 | FFmpeg | StreamFab DRM M3U8 ダウンローダー |
|---|---|---|
| 料金 | 無料 | 無料体験あり・製品版は有料 |
| 操作方法 | コマンド入力 | GUI・内蔵ブラウザ |
| M3U8 URLの取得 | 基本的に自分で確認 | 対応動画を自動検出 |
| 保存形式 | コマンドとコーデックに応じて柔軟に指定 | MP4・MKV |
| 画質 | 元ストリームに依存 | 元動画に応じて最大2160p(4K) |
| 字幕・音声 | コマンドで個別に指定 | 解析画面から選択 |
| 一括保存 | スクリプト作成などが必要 | バッチモードに対応 |
| 向いている人 | 無料で細かく制御したい人、コマンド操作に慣れている人 | M3U8 URLやコマンドを扱わず、画面操作で保存したい人 |
公開されたM3U8を無料で処理したい場合や、保存形式・コーデックを細かく制御したい場合はFFmpegが適しています。一方、対応サイトで画質・音声・字幕を画面上から選び、複数動画をまとめて処理したい場合はStreamFabのほうが操作しやすいでしょう。
StreamFab DRM M3U8 ダウンローダーの使い方
ステップ1:StreamFab DRM M3U8 ダウンローダーをWindows PCまたはMacへインストールし、ソフトを起動します。

ステップ2:StreamFabの内蔵ブラウザで対象の動画ページを開きます。ログインが必要なサービスでは、自分の正規アカウントでログインして動画を再生してください。
対応するM3U8動画が検出されると、数秒後に設定画面が表示されます。「M3U8」アイコンが青色の場合は現在の解析対象として認識されていますが、灰色の場合は対応していない可能性があります。


ステップ3:設定画面で、利用できる解像度、音声、字幕、保存形式を選択します。「今ダウンロード」をクリックすると保存が始まり、左側の「ダウンロード中」から進行状況を確認できます。

FFmpegとM3U8に関するFAQ
Q
FFmpegで保存している間、ブラウザの動画を最後まで再生し続ける必要がありますか?
認証不要の公開M3U8であれば、FFmpegの処理開始後にブラウザで動画を再生し続ける必要はありません。ただし、期限付きURL、Cookie、ログインセッションに依存する配信では、途中で403エラーになる可能性があります。処理が完了するまではブラウザを開いたままにしておくほうが安全です。
A
Q
ライブ配信中の動画を、配信が終わる前に保存し始めることはできますか?
ライブ配信中でも保存を開始できますが、通常は実行時点でプレイリストに残っているセグメント以降が対象です。配信開始前の部分まで必ず取得できるわけではありません。また、通信切断や配信終了時の処理によってファイルが不完全になる場合があります。公式アーカイブが公開される場合は、アーカイブ版を利用するほうが安定します。
A
Q
VPN環境で署名検証エラーや403エラーが起きるのはなぜですか?
一部の配信サービスでは、M3U8 URLやセグメントURLの署名を、IPアドレス、Cookie、Referer、User-Agent、セッション情報などと関連付けています。VPNの接続先が途中で切り替わると、情報の不一致によって403エラーや署名検証エラーが発生する場合があります。すべてのサービスで起きるわけではありませんが、エラー時はVPNを一度無効にして確認してください。
A
Q
FFmpegでM3U8をMP4に保存すると画質は落ちますか?
-c copyを使用する場合は映像・音声を再エンコードしないため、基本的に画質は変わりません。ただし、元ストリームとMP4コンテナの互換性がない場合はエラーになることがあります。再エンコードを行った場合は、指定したコーデックやビットレートによって画質が変化します。
A
まとめ
FFmpegを使えば、公開されたM3U8プレイリストを読み込み、複数のHLSセグメントをMP4としてまとめて保存できます。ffmpeg -i "M3U8のURL" -c copy output.mp4という基本コマンドでは再エンコードを行わないため、短時間で処理でき、画質も基本的に維持されます。
ただし、WindowsではFFmpegのインストールとPath設定、macOSではHomebrewとFFmpegのインストールが必要です。また、M3U8 URLの有効期限、ログインセッション、403エラー、コーデックの互換性、DRM保護など、保存できない原因を自分で切り分けなければならない場合があります。
無料で細かく設定したい方やコマンド操作に慣れている方にはFFmpegが向いています。一方、M3U8 URLを手動で探さず、対応する動画の画質・音声・字幕を画面上から選びたい場合は、StreamFab DRM M3U8 ダウンローダーも比較候補になります。
ISLAND TVのようにすでに終了したサービスや、FAMILY CLUB online(旧Johnny’s net オンライン)、NHK ONE(旧NHKプラス)のように名称・提供形態が変わったサービスもあります。古いサービス名だけで判断せず、現在の公式サービス情報とダウンロードツールの対応状況を確認してから利用してください。




