HeyCHのブログ

慢性疲労のへいちゃんです

srcがblobで始まっている動画をダウンロードする方法

某Xなんちゃらとかで動画を保存したいってなった場合、Chrome等の検証機能でElementsを見ると、
videoタグのsrcにblob:https://~~~みたいなのが設定されていて、それをブラウザに打ち込んでもダウンロードすることができません。

f:id:HeyCH:20211107234218p:plain
画像はBraveの物です

以下にダウンロードする手順を記載します。
※すべての動画を保存できる保証はありません
※この方法でダウンロードするのが規約的、法律的にアウトな場合があります
※ダウンロードする場合、全て自己責任で行ってください

F12または右クリックメニューの「検証」を押す

こうする事で、デベロッパーツールがブラウザに表示されます。(表示されない場合、ChromeやBraveを使ってください)

Networkタブをクリックする

Networkにはブラウザがダウンロードしたファイル等が表示されます。
※動画をダウンロードする場合「.m3u8ファイル」を見つける必要があります。

リロード&動画を再生する

Networkタブを表示した段階で既に動画を再生していた場合、再生する動画のプレイリストが既に流れているのでリロード(再読み込み)します。
また、動画を再生しないとプレイリストをダウンロードしない(と思われる)ので動画を再生します。

「.m3u8」でフィルターにかけ、必要な「.m3u8ファイル」のURLをゲット

「Filter」の欄に「.m3u8」と入力すると、いくつかの「.m3u8ファイル」が見つかると思います。
どれがダウンロードに必要な「.m3u8ファイル」なのかは、ダウンロードして見てみればわかるかもしれません。

m3u8Tomp4とFFmpegをダウンロードする

FFmpegは検索してダウンロードしてください。
m3u8Tomp4は以下からダウンロードしてください。
GitHub - Hey-CH/m3u8Tomp4: xHamなんちゃら等のm3u8ファイルを取得して、1個のmp4に変換するツール(ffmpegを使うので別途ダウンロードが必要)

URL:に「.m3u8ファイル」のURLを
DIR:に保存先のフォルダパスを
NAME:にファイル名(拡張子.mp4をつけてください)を
ffmpeg:にffmpeg.exeのパスを
入力して、Convertボタンを押すとダウンロードできます。

追記

instagram(他は知らない)で同じように動画をダウンロードしようとしてもできませんでした。
そこでちょっと調べてみたのですが、instagramでは「.m3u8」ではなく、直接「.mp4」をFilterにしてください。
そうすると、「https://~~~.mp4?~~~bytestart=xxx&byteend=yyy」という感じのURLが取得できると思います。
複数出てくると思いますが「yyy」が最大の物を見つけ、「xxx」を「0」にてブラウザにURLを打ち込んでみてください。
instagramにおいては、videoタグのsrcに直接mp4が設定されている場合もあります。