Last modified: Fri Sep 16 00:56:46 JST 2022
[Fire タブレット関係に戻る]YouTube をダウンロードしてオフラインで動画再生なんて法的にアウトだと思っていましたが、調べた結果、そうではないという結論に達し、解説する事と致しました。気になる方は後述の法的側面をご覧ください。
全般的に言える事ですが、YouTubeは「ダウンロードさせまい」と、猫の目のように仕様変更します。そのためか、以前は便利だと評判の良かったダウンロードツールも、追従できなくなって「ダウンロードできず」になっている場合があります。現在はアップデートが活発な yt-dlp しか使っていない (これを使っていれば他の必要性が感じられない) ので、 こちらを紹介します。
Gigazine に記事がありましたので、紹介します。
ネイティブで動く版もありますが、プラットホーム非依存の python 版を使います。そこで
を動かします。これなら、比較的新しいFireタブレットであれば動きます。コマンドラインツールです。これは難易度が高いので、手取り足取り説明しないといけない人なら出来ないだろうから簡単に書きます。こういうやり方が好きという人向けの内容になります。
termux は Google Play からダウンロードしたら駄目です。Google Play 版はサポートが打ち切られており、まだ Play ストアに残っていて新規インストールもできますが、メンテされておらず、本体プログラムもダウンロードできないので動きません。
F-Droid から Termux をダウンロードしてインストールしてください。「F-DROIDをダウンロード」する必要は無く、「APKをダウンロード」で構いません。
Termux を起動すると「Installation bootstrap packages...」と出ます。
なお、Android 5 および 6 向けの termux は、2020年1月をもって既に開発終了となっており、こちらも、古いバージョンをインストールして起動させても bootstrap packages のダウンロードに失敗するので動作しません。「こうすれば Android5や6で動く」とする情報もありましたが、私の方では成功していませんので紹介できません。
root 権限は無いので、ユーザー権限とディレクトリで動かします。
termux-setup-storage
これで、$HOME/storage/ 以下にシンボリックリンクが張られます。例を示します。
ls ~/storage
dcim external-1 music shared
downloads movies pictures
~/.bashrc に
export PATH=$PATH:$HOME/bin |
cat > ~/.bashrc
として書いても構いません。 ~/.bashrc を編集したら
source ~/.bashrc
でパスが bach に反映されます。
例えば youtube の検索で「防災, creativecommons」とすると、クリエイティブ・コモンズライセンスの動画が見つかります。ここでは試しに、防災関係の動画をダウンロードしてみます。
cd ~/storage/movies
yt-dlp https://www.youtube.com/watch?v=aDB9MuUQLaU
すると、以下のようにダウンロードが始まります。
[download] Destination: 100円で買える驚き 便利グッズ!ダイソーのオススメ防災グッズTOP5 [aDB9MuUQLaU].mp4 |
VLC for Android などの再生アプリでダウンロードした YouTube 動画を再生します。VLC は無料で広告も出ず気に入っています。以下はダウンロードした YouTube 動画を VLC で再生した時のスクリーンショットです。
yt-dlp -U |
いかがでしたか? この位で yt-dlp は一応使用可能です。しかし、簡単なスクリプトを書けばいっそう便利になります。
他人が使うことを想定していない、いい加減な作りにはなっていますが、紹介します。スクリプトを書くには vi を入れるか、PC などで書いて転送してください。名は安直に ~/bin/ytm としましょうか。
SAVEDIR=$HOME/storage/movies
yt-dlp -o $SAVEDIR/'%(title)s.%(ext)s' $*
ls -lrt $SAVEDIR/
この、謎の %(title)s.%(ext)s というのは、前述の Gigazine 記事に書かれている通りの python の変数なので、私に聞かないでください。なおシェルからだと、シングルクオーテーションで囲わないと動きませんでした。
ytm https://www.youtube.com/watch?v=aDB9MuUQLaU
などとすると、動画が Movies のフォルダに保存されます。スクリプトを書くと何が便利かというと
※ yt-dlp は、デフォルトでは、ファイルのタイムスタンプを元の動画の時刻に設定するので、今しがたダウンロードした動画は2年前のだった、といった場合は、ls-lrt しても、最後には並びません。この動作が気に入らない場合は yt-dlp のヘルプを見てオプションで変えて下さい。
Android のセキュリティが強化されたため microSD には、termux が使うエリア以外は直接の保存はできません。SAF(Storage Access Framework)の枠組みで書き込む方法も提案されたようですが、本質的に、termux はプログラムが実行可能なシェルなので、それも不適当として採用は見送られました。よって簡便な方法としては、いったん本題の内部ストレージに保存してから Ghost Commandar など、microSD に書き込めるファイルマネージャーで移動してください。
でもやはり microSD のエリアに直接書き込みたい場合は、UserLAndでSDカードにアクセスを参考に、 com.termux のディレクトリを作成しておいてください。これも、Ghost Commandar で作成できます。 (Ghost Commandar は SAF が使用可能なので) 後は
$ ls /storage
15E0-774A emulated self
とすると、端末一台ごとに異なりますが、microSD のマウントポイントが表示されます。この例では 15E0-774A でした。そこで前述のスクリプトの1行目を、例えば以下のように修正します。
SAVEDIR=/storage/15E0-774A/Android/media/com.termux
yt-dlp -o $SAVEDIR/'%(title)s.%(ext)s' $*
ls -lrt $SAVEDIR/
これで YouTube の動画の保存先が microSD になります。Fireタブレットは内蔵ストレージが狭いので、microSD に保存できると便利です。なお VLCプレーヤーは microSD の、Movies フォルダ以外でも保存された動画を再生できます。ですから、YouTube 動画を microSD にどんどん保存して、VLC でそのまま再生する事も可能です。最初からインストールされている Phots でも動画は再生可能と思います。
ftp
open 192.168.10.73 2221
francis
francis
bi
cd どこぞ
prompt
mput *.mp4
bye
YouTube とは違う話ですが、mp4 ファイルがWebサイトからダウンロードできるようになっている場合、curl でダウンロードしても構いませんが、wget を使い慣れている人は、wget をインストールする事も可能です。
yt-dlp を chmod で実行可能に変更する操作が許可されていない Android では、前述のスクリプトを
python $HOME/bin/yt-dlp -o $SAVEDIR/'%(title)s.%(ext)s' $*
などとアレンジしてください。
Installation をご覧ください。
yt-dlp は NHK World に対応しています。しかし、NHK World のサイトは URL が分からない物が多く、一部のオンデマンドで見れる動画しか保存に成功していません。ニュースのオンデマンドは Programs から見るれのですが、こちらは保存に成功していません。
2020年6月成立、2021年1月1日に施行の改正著作権法も考慮しています。
YouTube 側は、コピー可としている動画以外はダウンロードできないとしているものの、個人的に保存することに関しては、以下に説明する、違法な権利侵害コンテンツの場合を除いて著作権保護の侵害とはされないので処罰対象にならない。
ダウンロードするだけで罪になる物
しかしながら、そもそも YouTube には、違法にアップロードされた音楽や映画や漫画作品などは無い。もしあれば、速やかに削除される。
よって、YouTube 側は動画はダウンロードしないでくれとは言っているものの、YouTube には、ユーザーがダウンロードしたら著作権侵害の罪に問われるような動画は無いので (有料で映画が見れる会員等になっている場合は、そのような作品動画に関しては話は別) ダウンロードを禁止する法的根拠は無い。
要するに、音楽映画や漫画など本来は金を払わないと見れないコンテンツを違法にアップロードされたものに関しては、私的利用もへったくれもなくダウンロードしただけで違法となるが、YouTube で無料で見れる「踊ってみた」や著名ユーチューバーの動画、ペットの動画、その他に関しては、ダウンロードは違法ではない。YouTube は法律を作れるわけではなく、著作権法で処罰対象にならない行為を YouTube が勝手に処罰はできない。あくまで「ダウンロードしないで」とお願いしているに過ぎない。そもそも、YouTube にある動画の所有者は、アップロードした作者の物である。作者がアップロードして YouTube のサーバーを借りて公衆送信している物を、YouTube が勝手に「これは俺の物だ、ダウンロードしたら刑事罰だ!」とはできない。
youtube-dl 時代の旧情報はこちらをご覧ください。