M3U8からMP4への変換詳細チュートリアル(おすすめツール付き)

正直なところ、.m3u8 の動画アドレスを見るたびに頭が痛くなります。見られないことはないのですが、オフラインで保存したい、ちょっとした部分を切り取りたいと思っても、大量の .ts ファイルが並んでいて、どこから手をつければいいのか本当にわかりません。

私自身も必要に迫られて長い間試行錯誤し、コマンドラインから様々なツールまで、多くの失敗を経験しました。今日は M3U8 を MP4 に変換する方法について、純粋に個人の経験を踏まえてお話しします。役に立ちそうなら試してみてください。

M3U8 とは一体何か?

簡単に言えば、動画の分割インデックスであり、中には動画の断片(通常は .ts ファイル)のアドレスが記録されています。以前、海外のビデオ講座やライブ配信の録画をダウンロードしようとすると、十中八九これに出くわしました。プレーヤーは解釈できますが、通常のダウンロードツールでは対処できません。

つまり、私たちがすべきことは、これらの .ts ファイルを結合し、MP4 にカプセル化することです。

方法1:ハードコア派は ffmpeg

もしあなたがフレーム単位で制御したいタイプなら、ffmpeg が最も安定しています。インストール後、以下の一行コマンドで完了です。

ffmpeg -i "http://example.com/video.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4

パラメータ -c copy はエンコードをそのままコピーし、再圧縮しないため最も高速です。-bsf:a aac_adtstoasc は音声を処理するもので、一部の M3U8 で音声が AAC の場合、このオプションを付けないと音声が出ないことがあります。

ただですね……私の場合、最初はダウンロードとインストールだけで30分かかりましたし、暗号化された M3U8 では手動でキーを探さなければならず、非常に面倒でした。

方法2:ズボラさん向けオンラインツール(おすすめ)

その後、M3U8Player というオンラインの M3U8 プレーヤーを見つけました。アドレスは https://m3u8player.link/ です。最初は再生できるかテストするだけのつもりでしたが、なんと M3U8 動画を直接 MP4 としてダウンロードできることがわかりました。

このツールの仕組みはとてもシンプルです。

  1. M3U8 リンクを貼り付けます。
  2. 動画の断片を解析しキャッシュし始めます。
  3. バッファリングが完了したら、右下のダウンロードボタンをクリックし、「MP4 としてダウンロード」を選択するだけです。

以前これを使って公開講座のセットをダウンロードしました。四五十の動画があり、それぞれが数分の M3U8 セグメントになっていましたが、完全自動で結合され、一度で成功しました。広告ポップアップもなく、かなりクリーンでした。

長所:ソフトウェアのインストール不要で、ブラウザ上で操作でき、高速です。
短所:M3U8 が特定の Referer を必要としたり、期限切れになる場合、解析に失敗することがあります(ただし、ほとんどの公開されているものは使用できます)。

そのため、今の私の習慣は、まず M3U8Player を試し、ダメなら ffmpeg を使う、というものです。

方法3:ダウンローダー+ローカル結合

他にも専用の M3U8 ダウンローダーがあります。例えば Chrome 拡張機能の「M3U8 Downloader」や Mac 用の「Downie」です。これらは M3U8 を検出すると自動でダウンロードオプションを表示し、デフォルトで MP4 を出力します。

拡張機能版を試しましたが、便利ではあるものの、結合後に画面がカクついたり音声と映像が同期しないことがよくありました。私のネットワークの問題かもしれません。後で原因を調べるのが面倒になり、結局オンラインツールに任せることにしました。

暗号化とホットリンク防止について

M3U8 動画が再生できない、またはダウンロード後に映像が乱れる場合、大抵は暗号化されています(#EXT-X-KEY フィールドがあります)。この場合、オンラインツールはほぼ役に立たず、ローカルツールとキーファイルを使用する必要があります。ただし、このような動画は通常著作権に関わるため、詳細には触れませんので、各自でご判断ください。

最後にいくつかの注意点

  • どの方法であっても、できるだけパソコンで操作してください。スマートフォンでは成功率が低いです。
  • ダウンロード前にリンクをプレーヤーにコピーして再生できるか確認し、スムーズに再生できることを確認してから変換してください。
  • 一部の M3U8 リンクは有効期限が短く、数分で切れる場合があるので、取得後は速やかに処理してください。

ともあれ、私個人としてはやはり上記の M3U8Player が最もよく使います。ウェブページを開いてリンクを貼るだけで一気に完了します。皆さんもまずこれを試してみて、うまくいかなければコマンドラインを検討してみてください。

以上、私が長い間試行錯誤して得た経験の一部です。お役に立てれば幸いです。もし皆さんも便利なツールをご存知でしたら、ぜひコメントで教えてください。私はまだもっと楽な方法を探しています 😂