よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

コマンドでYouTube動画をダウンロード保存する方法

コマンドでYouTube動画をダウンロードする方法のメモ。

実行環境


Androidスマホ
termux

準備するもの


youtube-dlというCUIソフトを使いますのでインストールします。

pip install youtube-dl

これで準備完了。

実行の前に

ダウンロードは法に触れないの?


幾つかのプログラミング教育サービス業者が堂々とサイトでYouTube動画のダウンロード方法を解説しているので、全てが違法なわけではなさそうです。しかし注意が要ります。

いわゆる海賊版のような、無許可で勝手に複製品を上げているものはそもそもアップロードが違法で、ダウンロードも違法とのこと。
捕まるので両方ともやめておこう。

ミュージシャン等が公式アカウントでアップロードしているものや動画制作者が公式に上げているものなどに関しては、著作権法で私的利用の複製は認められているようなので大丈夫みたいです。
ただし、それを他人に配布したり売ったり、または編集してアップロードしたりするのは御法度とか。警察や裁判所のお世話になるのでこれはやめときましょう。



参考
YouTube動画のダウンロードは違法?端末別簡単ダウンロード方法と注意点 | 3分で分かるに変わる!パソコンインストラクターが教える情報サイト | ワカルニ
【全攻略】YouTubeダウンロード違法?違法と合法見分け方とダウンロード方法を詳細に!
YouTubeの違法アップロード動画の視聴は犯罪?違法動画の見分け方も解説! | アプリやWebの疑問に答えるメディア

コマンドでの実行手順


ためしに2019年のPyConJPの動画を使って実行してみます。

まずは保存するディレクトリに移動します。termuxでAndroidスマホのDownloadフォルダに保存する例ですと次のコマンド。

cd storage/shared/Download



次に保存したいYouTube動画のURLをYouTubeサイトやアプリからコピーします。 https://youtu.be/lCQWLAJf6xQ



そしたら次、動画にはサイズなど幾つか種類があるので先に調べます。次のコマンドを実行。
youtube-dl -F https://youtu.be/lCQWLAJf6xQ


コマンドオプションの「-F」は大文字で。小文字だとエラーになる。



実行すると以下のような文がズラリと表示される。

[youtube] lCQWLAJf6xQ: Downloading webpage [youtube] lCQWLAJf6xQ: Downloading video info webpage [youtube] lCQWLAJf6xQ: Downloading MPD manifest [info] Available formats for lCQWLAJf6xQ: format code extension resolution note 139 m4a audio only DASH audio 51k , m4a_dash container, mp4a.40.5@ 48k (22050Hz) 251 webm audio only DASH audio 109k , webm_dash container, opus @160k (48000Hz) 140 m4a audio only DASH audio 131k , m4a_dash container, mp4a.40.2@128k (44100Hz) (略) 18 mp4 640x360 360p 335k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 83.35MiB 22 mp4 1280x720 720p 489k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)


行の先頭に「139」「251」「140」など数字がついているモノがいくつかある。
下から2番目の「18」から始まるものなら、640×360サイズで83.35MBの容量のmp4動画。スマホで見るのならこれでOK。PCなら「22」の分かな。
この番号「18」を覚えておきます。



最後に、次のコマンドで動画をダウンロード保存します。コマンド引数に先ほどの番号を使います。

youtube-dl -f 18 https://youtu.be/lCQWLAJf6xQ


コマンドオプションの「-f」は今度は小文字です。大文字だとエラーが出ます。

実行すると下のような表示が出てダウンロードが始まります。

[youtube] lCQWLAJf6xQ: Downloading webpage [youtube] lCQWLAJf6xQ: Downloading video info webpage [youtube] lCQWLAJf6xQ: Downloading MPD manifest [download] Destination: 02-502_Pythonでライ ブをしよう -FoxDotを使った新時代のPython活用法-(田中 慎太郎)-lCQWLAJf6xQ.mp4 [download] 0.0% of 83.35MiB at 10.17KiB/s

これで作業中のディレクトリに動画が保存されました。



以上。