M3U8形式の動画をFFmpegでダウンロードする

toc目次

はじめに

M3U8形式の動画をFFmpegでダウンロードする方法のメモです。

M3U8とは

M3U8は、HTTP Live Streaming (HLS) プロトコルで使用されるメディアプレイリストフォーマットです。

M3U8ファイルは、ストリーミングする動画や音声のセグメント(断片)のURLや、それらのセグメントの再生順序を含むプレイリストを定義しています。

このプレイリストは、HLSプレーヤーによって解析され、メディアを連続的に再生するために使用されます。

FFmpegとは

FFmpeg(Fast Forward MPEG)は、オープンソースのマルチメディアフレームワークであり、動画や音声などのマルチメディアデータをエンコード、デコード、変換、ストリーム処理するためのツールです。

FFmpegはコマンドラインツールとして提供され、さまざまなプラットフォームで利用可能です。

M3U8形式の動画をFFmpegでダウンロードする

FFmpegをインストール後、以下のコマンドでM3U8形式の動画をダウンロードできます。

ffmpeg -i {M3U8形式のURL} -c copy {出力ファイル名.ts}

MP4形式でダウンロードする場合は、拡張子の.ts.mp4に変更します。

ffmpeg -i {M3U8形式のURL} -c copy {出力ファイル名.mp4}

バッチを作成してダウンロードする

コマンドを毎回書くのが面倒な場合は、バッチファイル(M3U8_Download.bat)を作成するとバッチ実行で動画をダウンロードできるようになります。

バッチでダウンロードする場合は、ffmpeg.exeM3U8_Download.batを同じ階層に置きます。

/
├─ ffmpeg.exe
└─ M3U8_Download.bat

M3U8_Download.batは以下のとおりです。
URLに動画のURL、OUTPUTに出力ファイル名を設定します。

@echo off

:: 動画のURL
set "URL=https://exapmle.com/XXXXX.m3u8"

:: 出力ファイル名
set "OUTPUT=XXXXX.mp4"

ffmpeg -i %URL% -c copy %OUTPUT%

pause

バッチを実行すると、バッチと同一階層に動画ファイルがダウンロードされます。

/
├─ ffmpeg.exe
├─ M3U8_Download.bat
└─ XXXXX.mp4