M3U8形式の動画をFFmpegでダウンロードする
目次
はじめに
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.exe
とM3U8_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