Macでm3u8 / HLS動画をダウンロードしてMP4に結合する方法 3選
.m3u8はただのプレイリストで、動画の実体は数百個の細かいセグメントです——だからブラウザで「別名で保存」ができません。Macで1つのMP4として保存するには、全セグメントをダウンロードして結合するツールが必要です。いちばん簡単なのは専用アプリ Vidnip(ページのリンクを貼るだけで自動検出・結合)。無料のCLI派には yt-dlp と ffmpeg。3つの方法すべてと、m3u8 URLの見つけ方、403エラーの対処法を解説します。
m3u8 / HLSとは?
HLS(HTTP Live Streaming)は現在ほとんどのサイトが使う動画配信方式です。サーバーは1つの動画ファイルではなく、数百個の.ts/.m4sセグメントを列挙した.m3u8プレイリストを配信します。解像度別に複数あり、映像と音声が別トラックのことも多い——「動画ファイルを保存」がそもそも成立しないのはこのためです。HLSのダウンロードとは:プレイリスト取得 → 全セグメントのダウンロード → 復号(AES-128暗号化が一般的)→ 1つの再生可能なMP4への結合、という一連の処理を指します。
方法1:Vidnip——リンクを貼るだけでMP4に(最も簡単)
Vidnip はまさにこのためのmacOSネイティブアプリです。m3u8 URLを自分で探す必要はありません——内蔵エンジンがページを読み込み、JavaScriptで動的に始まるプレーヤーやiframe内の動画まで含めてストリームを検出します。
- 動画があるページのURLをコピー。
- Vidnipに貼り付けると、数秒で検出された動画が一覧表示されます。
- ダウンロードをクリック。セグメント取得、AES復号、MP4への結合、ファイル名付けまで全自動です。
面倒な部分も肩代わりします:Referer/Cookieで保護されたCDN(ブラウジングセッションを自動利用)、中断からのレジューム、プレイリスト一括ダウンロード、ログインが必要なサイト(内蔵プレビューでログイン)。7日間無料、その後は¥580の買い切りです。
方法2:yt-dlp(無料・コマンドライン)
yt-dlp はオープンソースの定番ダウンローダーです。Homebrewでインストールし、ページURLかm3u8 URLを渡します:
brew install yt-dlp ffmpeg
# いちばん簡単:ページURLを渡す(対応サイトなら自動抽出)
yt-dlp "https://example.com/watch/episode-1"
# m3u8 URLを直接渡してもOK
yt-dlp "https://cdn.example.com/video/master.m3u8"
CDNに拒否されたらページURLをRefererとして付与:
yt-dlp --add-headers "Referer: https://example.com/" "https://cdn.example.com/video/master.m3u8"
HLSセグメントの結合にはffmpegが必要なので、上記のとおり両方インストールしてください。
方法3:ffmpeg(無料・コマンドライン)
m3u8 URLが分かっているなら、ffmpeg単体で再エンコードなしのダウンロード&結合ができます:
ffmpeg -i "https://cdn.example.com/video/master.m3u8" -c copy output.mp4
# CDNがRefererを要求する場合:
ffmpeg -headers "Referer: https://example.com/" -i "https://cdn.example.com/video/master.m3u8" -c copy output.mp4
-c copyはストリームコピー——画質劣化なしで高速です。m3u8 URLの見つけ方:
- ChromeまたはSafariで動画ページを開き、開発者ツール → ネットワークを開く。
- フィルタに
m3u8と入力して、動画を再生。 - 現れたプレイリストのURLをコピー(複数ある場合は
master.m3u8を優先)。
--concurrent-fragments、Vidnipは標準で並列)よりかなり遅くなります。どの方法を選ぶべき?
| Vidnip | yt-dlp | ffmpeg | |
|---|---|---|---|
| ストリームの自動検出 | ○ 自動スニッフィング | 対応サイトのみ | × 自分でURLを探す |
| 映像+音声の結合 | 自動 | 自動(要ffmpeg) | 手動コマンド |
| Referer / Cookie / ログイン | 自動(内蔵ブラウザ) | 手動オプション | 手動オプション |
| 中断からの再開 | ○ | ○ | × |
| 操作 | macOSネイティブGUI | ターミナル | ターミナル |
| 価格 | 無料試用、その後¥580買い切り | 無料 | 無料 |
ターミナルに慣れていてたまに使う程度ならyt-dlpで十分。厳しいCDN・要ログインのサイト・シリーズ一括まで「毎回確実に動いてほしい」なら Vidnip の出番です。
トラブルシューティング
動画のm3u8 URLはどうやって見つける?
開発者ツール → ネットワーク → 「m3u8」でフィルタ → 再生 → プレイリストのURLをコピー。master.m3u8を優先。Vidnipなら iframe内でJSが開始するストリームまで自動検出します。
403 Forbidden / 途中で切れる
CDNがReferer(ときにCookieも)を検査しています。上記コマンドのようにページURLをRefererとして渡すか、ブラウジングセッションを自動で引き継ぐツールを使ってください。URLに有効期限付きトークンが含まれる場合は、新しいURLを取り直してすぐ開始を。
音声がない(または映像がない)
最近のHLSは映像と音声が別トラックです。masterプレイリストからダウンロードして両方を選択し、ffmpeg -c copyで結合。yt-dlpとVidnipは自動で結合します。
NetflixなどのDRM付きストリームは?
ダウンロードできません。Widevine/FairPlayなどDRM保護コンテンツはこれらの方法では正当に保存できず、DRM回避は多くの国で違法です。VidnipはDRMを検出すると正直にその旨を表示します。
ストリーミング動画のダウンロードは合法?
コンテンツと地域の法律によります。保存する権利があるもの——自分のコンテンツ、オープンライセンス素材、規約が個人のオフライン視聴を認めるもの——だけを対象にし、再配布はしないでください。
ターミナルは苦手?Vidnipを無料で試す
リンクを貼るだけでMP4に。自動検出・HLS結合・レジューム・一括ダウンロードを全部内蔵。
macOS 14+ · Apple Silicon · 公証済み · 日本語 / English / 中文
試用後は¥580(税込)の買い切り · サブスクではありません