使い方のヒント

M3U8をMP4に変換する方法:FFmpeg・VLCとエラー対処

M3U8ファイルやURLをMP4として保存。ストリームコピー、H.264・AACへの再変換、VLC、403や音声なしの原因を確認します。

更新日

M3U8はプレイリストで、MP4は映像や音声を格納できるコンテナです。

M3U8を編集ソフトで開けず、MP4に名前を変えても再生できないときは、参照先の映像データが利用できるかを先に確かめます。ここでは自分で所有するか保存の許可があり、終わりのあるHLSを扱います。

プレイリストと実際の映像を分けて確認する

M3U8は通常、HLSのセグメントを順に指定するテキストです。別の画質や音声のリストを参照する場合もあります。.mp4へ改名しても映像データにはなりません。

URLでは参照先もすべて利用可能である必要があります。ローカルでは.ts・.m4sと初期化ファイルも必要です。相対パスのフォルダ構造を保ってください。ここでは終了した素材を使い、進行中のライブ録画は扱いません。

まずFFmpegで再エンコードせず保存する

まず新しいターミナルでffmpeg -versionを実行します。見つからなければインストールと実行パスを確認してください。 例は最初の映像と最初の音声を選びます。最高画質や希望言語とは限りません。映像に音声がなければ無音MP4になりますが、音声だけの一覧には別の命令が必要です。字幕や残りのトラックは含みません。

-c copyは再エンコードせずコンテナへ格納するため、再圧縮による世代損失を避けられます。ただし欠けたセグメントの復元やコーデックの互換化はしません。保存の許可がある入力だけを使い、空白やクエリを含むパスは引用符内に保ちます。 +faststartはMP4のメタデータを先頭へ移し、再生開始を助けます。通信のダウンロード速度を上げる機能ではありません。

  1. 保存先の作業フォルダーでターミナルを開きます。ローカルの再生リストは、コピーと分割ファイルを元のフォルダー構成で用意します。
  2. 入力を実際のパスまたはURLに置き換え、新しい出力名にします。
  3. コピーを実行し、エラーと完成ファイルの再生を確認します。
再エンコードせずにMP4で保存
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c copy -movflags +faststart "output.mp4"

互換性が合わなければ再変換かVLCを試す

対象機器で開けない場合はH.264映像・AAC音声への変換を試します。FFmpegにlibx264とAACが必要です。時間がかかり画質や容量も変わるため、原本とは別に出力します。 これは通常のSDR向けの例です。HDRからSDRへのトーンマッピングには別の設定が必要です。

互換性のため再変換:H.264映像・AAC音声
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart "output-compatible.mp4"

VLCのWindows版では一般にMedia → Convert/SaveからNetwork入力、プロファイル、保存先へ進みます。H.264 + MP3 (MP4)などの名前があり、AACや表示はバージョンで違います。macOSではメニュー構成が異なります。

  1. Media → Convert/SaveでNetworkタブを探します。
  2. M3U8 URLを入力しConvertへ進みます。
  3. MP4用プロファイルと新しい.mp4保存先を選びます。
  4. Start後に完成ファイルを開きます。表示が違う場合は使用版の公式ヘルプを確認します。

403・404・音声なしの原因を切り分ける

403は権限や期限、404は変更・消失したアドレスを確認します。セグメントだけ失敗するなら、そのパスと初期化ファイルも調べます。フォルダ移動でも参照が切れます。再変換で不足した素材は補えません。

無音なら入力の音声、別の音声リスト、選択トラックを確認します。最初の音声が希望言語とは限りません。許可された有効なURLや公式ダウンロードを使い、DRMや制限がある素材はサービスが認める保存方法を利用します。

モバイル・オンライン利用と完成ファイルを確認する

スマートフォンでは公式ダウンロードやオフライン機能を先に確認します。オンライン変換にはセグメントも必要か、ファイルやURLがサーバーへ送られるかを調べます。私的な映像や認証付きリンクを渡す前に処理・保管条件を読みましょう。

完成MP4の冒頭・中間・末尾を音声付きで再生し長さを比較します。終了表示のないライブ一覧は自動終了しない場合があり、消えた過去区間も戻せません。完了したVODを優先してください。下のデモは自作の短い終了型HLSです。

出力の確認:ストリームと再生時間 output.mp4を実際に保存したファイル名に置き換えてください。再変換の例はoutput-compatible.mp4です。
ffprobe -v error -show_entries format=duration:stream=codec_type,codec_name,width,height -of json "output.mp4"
自作の短いHLS例をMP4に保存した結果です。再生時間と音声を確認してみてください。

MP4の長さを原本と比べ、冒頭・中間・末尾の映像と音声を確認してから共有します。確認が終わるまでプレイリストとセグメントは残してください。

ツール

参考資料

公開資料に基づく紹介で、全機能や安全性の監査ではありません。

すべてのガイド →