Web上のストリーミング動画を保存しようとしたとき、「.m3u8」という形式に遭遇したことはありませんか? さらに、いざダウンロードしようとすると「暗号化」されていて弾かれてしまう……というのもよくある悩みです。
今回は、暗号化の種類(AES-128とDRMの違い)から、最強のツール「FFmpeg」を使った具体的なダウンロード手順まで、実例を交えてサクッと解説します。
そもそも暗号化には種類がある(AES-128とDRMの違い)
「暗号化された動画」といっても、実は大きく分けて2つのレベルがあります。ここを勘違いしていると、いくら頑張ってもダウンロードできないので注意が必要です。
① AES-128(標準的なHLS暗号化) 一般的なWebサイトの多くで採用されている方式です。 例えるなら「箱に南京錠はかかっているけど、鍵はそのすぐ横に置いてある」状態。
動画データ自体は暗号化されていますが、再生用のプレイリスト(.m3u8ファイル)の中に「鍵のURLはここだよ」と書かれています。そのため、後述するFFmpegを使えば自動で鍵を取得し、簡単にロックを解除して保存できます。
② DRM(Widevine / PlayReady など) NetflixやAmazon Prime Videoなどの大手VODで使われる、著作権を守るための強固な保護技術です。 例えるなら「身分証を持った正規会員しか入れない、監視カメラ付きの金庫」。
鍵をもらうために専用のライセンスサーバーによる厳しいチェックが入るため、一般的なダウンロードツールでは門前払いされてしまい、絶対に保存できません。
今回解説する方法でダウンロードできるのは「 AES-128」で暗号化された動画のみです。
FFmpegを使ったダウンロード手順(これ一択でOK)
AES-128のダウンロードにおいて、最も汎用性が高く確実なのは「FFmpeg」です。
コマンドラインツールなので最初は戸惑うかもしれませんが、暗号化キーを自動取得して結合してくれるため非常に強力です。
FFmpegをダウンロードする
まずは公式サイトからFFmpegのファイルをダウンロードし、分かりやすい場所(デスクトップやダウンロードフォルダなど)に保存・展開しておきます。

cd コマンドでフォルダを移動する
次に、ターミナルを開いて以下のコマンドを入力し実行(Enter)します。
cd [FFmpegをダウンロードしたディレクトリ](例: Download/FFmpeg)この cd とは「Change Directory(チェンジ・ディレクトリ)」の略で、その名の通り「作業するフォルダ(ディレクトリ)を移動する」ためのコマンドです。
難しく聞こえるかもしれませんが、やっていることはMacのFinderやWindowsのエクスプローラーで、目的のフォルダをダブルクリックして開くのと同じです。 「これからこのフォルダの中にあるFFmpegを使って作業するよ!」と、パソコンに教えてあげるイメージですね。
FFmpegのコマンドを実行する
無事にFFmpegがあるフォルダへ移動(cd)できたら、下記のダウンロード用のコマンドを貼り付けて実行(Enter)します。これで動画の保存が開始されます。
ffmpeg -i "https://example.com/video.m3u8?auth_key=123456789-987654321&v=3&time=0" -c copy output.mp4-c copy オプションをつけることで、再エンコードなしで超高速に結合・保存されます。鍵の処理はFFmpegが裏で勝手にやってくれます。
実践編:DPlayerなどのパラメータ付きURLを攻略する
実際のWebサイトでは、単純なURLではなく「認証キー」などが付与されていることがよくあります。 今回はDPlayerなどでよく見かける以下のURLを例に実践してみましょう。
Chromeの開発者ツールを開きます。

cmd+Fを押し「m3u8」と検索しm3u8のURLを探します。

以下のURLのような、「https://あああああ.m3u8?auth_key=123456789-987654321」の形式のURLを探してコピーします。
https://あああああ.m3u8?auth_key=123456789-987654321&v=3&time=0認証キー(auth_key)の有効期限: このトークンは数時間〜数日でリンク切れになります。取得したらすぐにダウンロードを開始しましょう。
m3u8のURLの中に& という文字列があれば事前に&に置き換えてください。
あとは下記のコマンドを実行することでAES-128に暗号化されたHLSをダウンロードすることができるようになります。
cd [FFMPEGをダウンロードしたディレクトリ]
./ffmpeg -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \
-i "先ほど取得したURL(例
例:https://あああああ.m3u8?auth_key=123456789-987654321&v=3&time=0)" \
-c copy output.mp4


コメント