今回紹介するのはFFmpegでm3u8動画を保存する方法です。結論からお伝えすると、m3u8動画は、FFmpegというソフトをインストールしてm3u8動画のURLを含んだコマンドをコピペするだけで簡単にMP4としてダウンロードできます。
本記事では、FFmpegでm3u8動画を保存する方法だけでなく、そもそもFFmpegやm3u8とは?という点まで解説していくので、「保存した動画がm3u8で観れない!」という方はぜひお読みください。
【基本】そもそも「FFmpeg」「m3u8」とは
端的にいえば、FFmpegは動画処理を実行できるフリーツールで、m3u8はテキストファイルです。FFmpegを使うことで、動画ダウンロードやカットができるようになります。ここでは「FFmpeg」「m3u8」の定義を押さえていきましょう。
FFmpegとは?使い方も解説
FFmpegとは動画をダウンロードしたりカットできるフリーソフトで「コマンド」と呼ばれる命令を打ち込むだけで処理ができます。ちなみに、コマンドを指定する画面を「コマンドライン」といいますが、コマンドラインとはテキストで命令を出して、コンピューターと対話するように操作するものです。コマンドラインはWindowsでは「プロンプト」、Macでは「ターミナル」と呼ばれます。
FFmpegでは動画のリサイズができる
FFmpegでは動画のリサイズができます。各コマンドは「-i=入力ファイルの指定」「-vf=エフェクトの内容を指定(後述)」「-c:v=動画のコーデックの指定」「-q:v=JPEG画像の品質(1〜32)」です。
FFmpegでは動画のカットができる
FFmpegでは動画の指定した部分をカットできます。各コマンドの例を挙げると「-ss=切り出したい、動画の再生開始位置(秒)」「-i=入力ファイルの指定」「-t=切り出したい、動画の長さ(秒)=「-q:v=JPEG画像の品質(1〜32)」「-r=切り出したい画像の1秒あたりの枚数(フレームレート)」などがあります。
FFmpegでは動画の切り出しができる
動画ファイルは何枚かの画像ファイルで成り立っており、コマンド指定すれば静止画として切り出せます。例えば「-i=入力ファイルの指定」「-ss=静止画に変換したい、動画の再生開始位置(秒)」「-t=静止画に変換したい、動画の長さ(秒)」などがあります。
FFmpegではウォーターマーク表示ができる
動画にウォーターマークを入れるには、-vfオプションにmovie=やorverlay=を指定して実行します。
FFmpegでは音声の無効や上書きができる
FFmpegでは「-an=音声を無効にする」「-y=確認なしに出力ファイルを上書きする」といったコマンドを使うと、音声をスムーズにカット&上書きできます。
m3u8とは
m3u8とは簡単にいうとプレイリスト情報を記しただけのテキストファイルになります。MP4のようにさまざまなデバイスとの互換性がありませんので、m3u8単体での再生はできません。そのため、一度変換ソフトなどでMP4へ変換しておくのがおすすめです。
FFmpegでm3u8動画をMP4としてダウンロードする方法
FFmpegは公式サイトからダウンロードでき、Macの場合はHomebrewからもダウンロードできます。m3u8動画をMP4としてダウンロードするのも、コマンドをコピーして貼り付けるだけなので簡単です。
【Mac / Windows】FFmpegを公式サイトからダウンロードする
FFmpegは公式サイト(https://www.ffmpeg.org/)からダウンロードできます。今回はMacで操作しました。
「Download」をクリックし「Static builds for macOS 64-bit」をクリックします。Windowsの方はWindowsのボタンをクリックしてくださいね。
拡張子が「.7z」というファイルがありますので圧縮ダウンロードしましょう。
ダウンロードされたらファイルを解凍します。
Macの場合はダブルクリックするだけで解凍できますね。
【Mac】FFmpegをHomebrewを使ってダウンロードする
まずはHomebrewをダウンロードします。以下をコピーしてターミナルに貼り付けましょう。ターミナルはLaunchpadで「ターミナル」と検索すれば出てきますよ。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
パスワードを求められるのでMacにログインするときのパスワードを入れます。打っても文字が表示されませんが、ターミナルではパスワードは非表示なのでそのままエンターを押してください。
続いて
brew install ffmpeg
と入力して実行します。これでダウンロードは完了です。
FFmpegでm3u8動画をMP4としてダウンロードする方法
FFmpegでm3u8動画をダウンロードするコマンドは
ffmpeg -i "URL" -c copy output.mp4
です。もう少し具体的に書くと、
ffmpeg -i "http://〜〜〜.m3u8" -c copy output.mp4
みたいな感じですね。
Macならターミナルに、Windowsならコマンドプロンプトにコマンドを打ち込むと、実行されます。
プログラムが実行され、MP4で保存できました!
もちろん再生もできます。MP4なのでスマホでも簡単に再生できますよ!
FFmpegでm3u8をダウンロードしたい人のためのQ&A
ここからはFFmpegでm3u8をダウンロードするために知っておきたい知識を解説していきます。より深く知りたい方はぜひお読みください。
WOWOW動画でm3u8を抽出してFFmpegでダウンロードできる?
WOWOW動画にはコピーガードがあるため、FFmpegでm3u8を抽出してダウンロードはできません。
FFmpegではm3u8の生配信もダウンロードできる?
生配信のm3u8を取得すれば、FFmpegを使って生配信を保存できます。
Windowsの場合、生配信のm3u8URLを取得するためには、ライブ再生ページで「F12」キーを押して「デベロッパーツール」を表示しましょう。
続いて「Network」をクリックし、Search欄に「m3u8」と入力してEnter。表示された項目をクリックした後、「Headers」をクリックするとURLが表示されます。
生配信を保存するには、最初に新しいフォルダを作ります。新しいフォルダを開いた状態でアドレスバーに「cmd」と入力して「Enter」キーを押しましょう。すると、コマンドプロンプトが起動するので、「ffmpeg -i "URL" -c copy output.ts」コードを入力します。URLの部分には取得したm3u8URLを入力してください。「output」はファイル名です。
「ts」はファイルの拡張子になります。MP4などに変更することも可能です。任意でそれぞれ入力したあと「Enter」キーを押すと、保存が始まります。
まとめ
FFmpegは無料であるにもかかわらず、コマンドを打つだけで使える便利なソフトです。最初は英語のプログラムが表示されて混乱するかもしれませんが、コピペするだけですので心配はいりません。ちなみにFFmpegを使えばMP4以外にも.tsなどさまざまなファイル形式でダウンロードができます。ぜひ本記事を参考に、m3u8ファイルをダウンロードしてみてください。