基本
Clipboxはかなり昔からある動画をダウンロードするアプリです。
使い方は単純で、Clipboxを立ち上げて「ブラウザ」からダウンロードしたいサイトに移動して、「+」マークを押して、「OK」を押すだけです。
埋め込み動画だとダウンロード出来ない?
便利なClipboxですが、時折動画をダウンロード出来ないことがあります。
例えば、「+」マークを押しても「OK」が押せないなどです。
これは埋め込み動画である可能性が高いです。埋め込み動画とは動画がそのサイトに保存されている訳ではなく、サイトにコードだけ埋め込んでおき、そこから別のサイトに保存されている動画を参照するというものです。
この場合Clipboxが参照先の動画リンクを解析出来ずにダウンロード可能な動画として認識されない場合があります。
埋め込み動画のダウンロード方法その1
Clipboxで埋め込み動画をダウンロード出来ない場合は、埋め込み先の動画リンクを抽出すると正常にダウンロード出来る場合があります。
動画のサムネイルの右上などに「<>」といったマークが置かれているサイトなら、それを触れると動画のURLが取得出来ます。
それをコピーしてClipboxで入力するとダウンロード可能なことがあります。
また、Chromeの「検証」からsrc
属性などで指定されているURLを取得出来ることもあり、その場合はsrc
のURLからClipboxで動画をダウンロードしてみて下さい。
埋め込み動画のダウンロード方法その2
続いて動画がダウンロード出来ない理由として多いのは、動画のロード待機時間を抑えるために、動画を分割配信しているサイトの場合です。
例えば30分の動画を1分毎にファイルを分割すると、ダウンロードしたものを再生しながら逐次残りの動画ファイルをダウンロードさせることが出来ます。
この場合は動画のURLが分割ファイル毎に変わってしまうので、Clipboxでは保存が出来ません。
少し面倒ですがシェルスクリプトで対応が出来ます。
まずChromeのディベロッパツールを開いてください。
動画を再生しながら「Network」タブを開くと分割ファイルをダウンロードしている様子が確認出来るかと思います。
.ts
とか.mp4
でフィルタリングすると分かりやすいです。
表示されている「Name」をダブルクリックすると勝手にダウンロードされるので、繰り返してもいいのですが、面倒なので自動化します。
一度左クリックしてURLを控えます。
#!/bin/bash
# usage: sh hoge.sh https://example.com/XXX ts 0 100
# usage: sh hoge.sh [URL] [FileType] [StartIndex] [EndIndex]
for i in `seq ${3} ${4}`
do
sleep 2
wget ${1}${i}.${2} -O ${i}.${2}
done
sh hoge.sh [URL] [FileType] [StartIndex] [EndIndex]
というように使用します。
引数に渡すURLは拡張子とインデックス番号を削ったものを使用するように注意して下さい。
完了すると沢山の動画ファイルが生まれるかと思います。あとはこれらを一つのファイルに連結しましょう。.ts
ファイルならば、TSSplitterというのが簡単でおすすめです。
例外について
最近では、上の方法でも回避出来ない場合があります。
これはスクリプトで動画を取得・再生しているサイトの場合です。
これはサイト内のスクリプトからでしか動画にアクセス出来ないように制限をしていて、更に参照URLをユーザーに見せないようにしているサイトがあるのです。
こういったサイトの場合は対応が難しいです。
後日談
分割されたストリーミング動画を保存する拡張機能がありました。「ストリームレコーダー」というものを利用すると簡単です。
使い方は、まず該当の動画ページに行きます。ダウンロード可能な場合は拡張機能のアイコンが変化するのでクリックする。すると別タブが開き処理が開始されます。この処理が完了したら、「保存」を押すと結合された動画ファイルがダウンロードされます。