FFmpeg M3U8をMP4に変換【2025年完全ガイド】
2026年版:FFmpegでストリーミングプレイリストをMP4ダウンロードに変換する実践ガイド。
目次
- FFmpeg の概要とインストール
- 基本変換コマンド
- 高度なオプション(品質、速度、音声)
- よくある問題と解決策
- 一括変換スクリプト
- オンライン代替ツール
概要
FFmpeg コマンドラインを使い、M3U8/HLS プレイリストを MP4 に変換する方法を学びます。インストール、基本コマンド、品質調整、トラブルシュートまで実用的に整理します。
前提条件
- FFmpeg がインストール済み
- アクセス可能な M3U8 URL またはローカルファイル
- 基本的なコマンドライン操作の知識
FFmpeg をインストール
Windows
- ffmpeg.org から最新版をダウンロードします。
- アーカイブを C:\\ffmpeg に展開します。
- C:\\ffmpeg\\bin を PATH に追加します。
macOS
brew install ffmpegLinux (Ubuntu/Debian)
sudo apt install ffmpeg基本変換コマンド
ストリームコピー(最速)
ffmpeg -i "https://example.com/playlist.m3u8" -c copy output.mp4-c copy は元の音声・映像コーデックを保持します。MP4 コンテナがソースに対応している場合に最速です。
互換性のために再エンコード
ffmpeg -i input.m3u8 -c:v libx264 -c:a aac output.mp4H.264 と AAC に再エンコードすると、ブラウザ、スマートテレビ、モバイル端末での互換性が高まります。
高度なオプション
高品質出力
ffmpeg -i input.m3u8 -c:v libx264 -crf 18 -preset slow output.mp4-crf で品質を調整します。値が低いほど高品質で、slow preset はファイルサイズ効率を改善します。
ビットストリームフィルタで高速変換
ffmpeg -i input.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4aac_adtstoasc は ADTS 形式の AAC を MP4 互換に変換し、再エンコードを避けられます。
解像度を指定
ffmpeg -i input.m3u8 -s 1920x1080 -c:v libx264 -c:a copy output.mp4-s で動画を指定解像度へスケールし、不要なら音声は copy できます。
よくある問題と修正
CORS または参照元エラー
保護された playlist では必要な header を追加します。
ffmpeg -headers "Referer: https://example.com" -i playlist.m3u8 -c copy output.mp4Protocol not supported
ffmpeg -protocol_whitelist file,http,https,tcp,tls -i playlist.m3u8 -c copy output.mp4ネットワークタイムアウト
ffmpeg -timeout 10000000 -i playlist.m3u8 -c copy output.mp4一括変換スクリプト
Bash スクリプト
#!/bin/bash
for file in *.m3u8; do
ffmpeg -i "$file" -c copy "${file%.m3u8}.mp4"
doneWindows バッチ
for %%f in (*.m3u8) do ffmpeg -i "%%f" -c copy "%%~nf.mp4"オンライン代替
ブラウザで処理したい場合は オンライン M3U8 to MP4 コンバーター を使えます。進捗表示、キュー処理、ローカルインストール不要のワークフローに対応します。
FAQ
変換が失敗する理由は? ネットワークアクセス、protocol whitelist、DRM 保護の有無を確認してください。
品質を保つには? 元のコーデックに対応できる環境なら -c copy を使い、再エンコードを避けます。
ライブ配信を録画できますか? はい。-t 3600 を追加すれば 1 時間で録画を止められます。
まとめ
FFmpeg は M3U8 から MP4 への変換を細かく制御できます。もっと手早い方法なら オンラインコンバーター を使ってブラウザ上で処理できます。