Pythonista3 で YouTubeの動画をダウンロードする。(1)
以前、Pythonista3で「Requests」の get ( ) メソッドでURLを指定して画像ファイルをダウンロードするコードを書きましたが、なんと、Youtube の動画をダウンロードするライブラリがあるとか。。。
というわけで、早速試してみることにします。
※ 本記事は違法ダウンロードを助長するための目的で公開するものではないことを申し上げておきます。あくまでもプログラムスキルの向上を目指しているものであることをご了承ください。(違法ダウンロードについては、記事の最後で触れています。)
(1) youtube-dl をインストールする。
youtube-dl というPython製の外部ライブラリを使って動画をダウンロードできます。( YouTubeの他にも多数の動画サイトに対応しています。)
シェルコマンド StaSh の pipコマンドを使ってインストールできます。
Pythonista3 のインタラクティブコンソールから次のコマンドを入力します。インストール時のコマンド際は、「 -(ハイフン)」ではなく「 _ (アンダーバー)」にしてください。
pip install youtube_dl
(2) youtube-dl とは?
youtube-dl は、 YouTube などの動画共有サービスから動画のダウンロードや音声の抽出を行うコマンドラインライブラリです。 Pythonで作成されており、クロスプラットフォームツールとして様々な環境から利用することができます。UnixでもWindowsでもmacOSでも動作します。
YouTubeの他にも多数の動画サイトに対応しています。(参照不能)
https://rg3.github.io/youtube-dl/supportedsites.html
※ 2020年10月24日現在、アメリカレコード協会が提出したDMCA(デジタルミレニアム著作権法)テイクダウン申請により、GitHub上での公開が停止される事態となっています。
事態の経緯はこちら。
[全米レコード協会がYouTubeダウンローダーに目を付けた | TechCrunch Japan]
(3) コマンドラインで youtube-dl を操作する。
コマンド入力によるYouTube動画のダウンロードを試してみます。シェルコマンド StaSh を起動して次のコマンドを入力するだけで iPad上に mp4 で YouTube動画がダウンロードされます。
youtube-dl 動画のURL
保存先は StaSh の起動ディレクトリである This iPadフォルダになります。
youtube-dl では。YouTube動画から音声のみダウンロードして保存することもできます。以下のコマンドを入力します。
youtube-dl —extract-audio 動画のURL
しかし、拡張子が「 .webm」 で保存されるので再生できません。。。
ffmpeg というライブラリがインストールされていれば以下のコマンドで mp3形式でダウンロードできるとの情報がありましたが、Pythonista3 は ffmpeg に対応していないようです。
youtube-dl ——extract-audio audio-format mp3 動画のURL
ffmpeg をインストールしていないと以下のようなエラーが表示されます。
ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
pipコマンドで ffmpeg のインストール自体は問題なく完了したんですけどね。
(4) ffmpegとは?
様々な音声・動画形式に対応しているマルチメディアコンバータ及びライブラリ群です。クロスプラットフォームであり、libavcodec(動画・音声のコーデックライブラリ)、libavformat(動画・音声のコンテナライブラリ)、libswscale(色空間・サイズ変換ライブラリ)、libavfilter(動画のフィルタリングライブラリ)などを含んでいます。コマンドライン から使用することができ、対応コーデック が多く、多彩なオプションを使用可能なため幅広く利用されています。
(5) YouTubeで動画をダウンロードするのは違法?
違法ダウンロードに関する法律として2010年1月1日より著作権法が改正され、音声及び映像に関する違法コンテンツのダウンロードが違法となりました。この改正により動画についても、違法コンテンツと認識していながら違法にアップロードされた動画をダウンロードする行為は処罰の対象となります。
【処罰の対象】
・違法にアップロードされた動画・音声をダウンロードすること
・ダウンロードした動画・音声を再配布すること
【個人で視聴するためにダウンロードするのは違法とはならない。】
YouTubeの動画をダウンロードすること自体に違法性はありませんが、YouTubeの規定によりダウンロードすることは利用規約により制限されています。
以下は YouTube 利用規約の抜粋です。
お客様は、「ダウンロード」または同様のリンクが本コンテンツについて本サービス上でYouTubeにより表示されている場合を除き、いかなる本コンテンツもダウンロードしてはなりません。
また、YouTubeにアップロードされている音楽・映画・TVコンテンツの動画をダウンロードすることは例外なく違法となります。YouTubeのユーザーはこれらコンテンツの著作権を所持していないからです。そもそもYouTubeで公開されている音楽や映画などのコンテンツが合法的であるという保証はどこにもありません。
ただし、公式チャンネルが公開している動画のダウンロードは違法ではありません。公式チャンネルの動画は合法であり、多くの人がダウンロードしたとしてもアップロードした側の利益を損なうことがないからです。
プログラムスキル向上のためとは言え、これらの法的解釈等については確実に認識しておく必要があります。
次回は、Pythonスクリプトで動画をダウンロードするコードを勉強していきます。
この記事が気に入ったらサポートをしてみませんか?