開発したアプリなど一覧

ffmpeg で m3u8 を mp4 等の動画に変換する方法

記事内にアフィリエイトリンクを含む場合があります

Web 上から動画をダウンロードしたと思ったら m3u8 形式だったという事は無いだろうか。 m3u8 はプレイリスト情報が書かれたテキストファイルとなっており、動画ファイルそのものではない。

このようにテキストエディタで開くと動画の元データの URL が列挙されている。元データの URL といっても動画ファイルを分割した ts ファイルが列挙されており、再生の状況に合わせて随時ダウンロード・再生していくことになっている。主に動画配信サイト等で利用されている形式のため、普段扱う機会の無いファイルではある。

このページでは m3u8 ファイルを mp4 などの動画に変換する方法を紹介しよう。

動画配信サービスによっては動画のダウンロードは規約で禁止しているところもある。利用規約を確認した上で自己責任で行ってほしい。

ffmpeg で m3u8 を mp4 等の動画に変換する方法

ffmpeg では以下のコマンドで動画を変換することができる。

$ ffmpeg.exe -i input output

しかし、m3u8 形式のファイルを扱う際はこのコマンドを利用すると、以下のようなエラーが発生する。

Protocol 'https' not on whitelist 'file,crypto,data'! Unable to open resource: https://example.com

https プロトコルがホワイトリストにないと言われている。どうやら ffmpeg のデフォルトでは、m3u8 ファイル内に含まれている URL を扱えないようだ。

この問題を解決するには、ホワイトリストに https を追加してやれば良い。最終的なコマンドは以下のような感じだ。

$ ffmpeg.exe -protocol_whitelist file,http,https,crypto,data,tls,tcp -i .\example.m3u8 example.mp4

protocol_whitelist に https, tls, tcp を追加してやればネット上のファイルも ffmpeg で扱えるようになる。これで m3u8 から mp4 が生成されたと思う。動画プレイヤーなどで開いて確認してみよう。

Sponsored Link

コメント

タイトルとURLをコピーしました