youtube-dlを使って動画やLiveをダウンロードする方法
youtube-dlとは
youtube-dlは、YouTubeや他のサイトから動画やLiveなどをダウンロードするコマンドラインプログラムです。
公式サイト: youtube-dl
対応サイト
対応している動画共有サイトの一覧: Supported sites | youtube-dl.org
今現在、ニコニコやInstagramやTwitterもサポートされていることがわかります。
対応サイトは、以下のコマンドを実行することでも確認できます。
youtube-dl --extractor-descriptions
GitHub
GitHubのリポジトリ: youtube-dl | GitHub
コマンドのOptionのリストや説明もこちらにあります。
準備
macOSやWindowsなどの各環境で、各ツールをインストールします。
- youtube-dl
http://ytdl-org.github.io/youtube-dl/download.html
Macの場合はHomebrewを使用してインストールするのが便利です。
brew install youtube-dl
- FFmpeg
https://ffmpeg.org/
動画・音声の変換に必要となる可能性があります。
youtube-dlのバージョン確認方法
youtube-dl --version
YouTubeの動画をダウンロードする方法
例 シンプルな例
下記の<URL>部分に動画やLiveのURLを入れて、実行します。
youtube-dl <URL>
課題
macOSなどでzshを使用しyoutube-dlを実行した際に、以下の表示が出ます。
zsh: no matches found:
解決法
解決法1。
以下のコマンドを実行する。
setopt +o nomatch
解決法2。
以下のコマンドを~/.zshrc
に記述する。
setopt +o nomatch
その後Terminalを再起動する。
または、source ~/.zshrc
を実行し設定を反映する。
例 利用可能な最高のmp4形式をダウンロードするか、もしくは他の最高の形式をダウンロードする例
GitHubのREADME.mdに載っている例です。
youtube-dl <URL> -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
例 ダウンロードした動画をmp4形式に変換する例
youtube-dl <URL>
ffmpeg -i <youtube-dlでダウンロードしたファイル名> <出力ファイル名>.mp4
プレイリストの動画を一括でダウンロードする方法
youtube-dl -i <プレイリストのURL>
-i, --ignore-errors
を使うことで、
プレイリストの動画に再生出来ないものがあって、エラーになっても、ダウンロードを続けます。
複数の動画を一括でダウンロードする方法
youtube-dl -a <FILE>
解説
まず、プレーンテキストに、URLを1行に1つづつ記述して保存しておきます。
そして、<FILE>部分にそのファイルのパス(上記<FILE>)を指定します。
そうすると、一括でダウンロードします。
音声をmp3でダウンロードする方法
youtube-dl -x --audio-format mp3 <URL>
解説
-x
の部分は、動画ファイルを音声ファイルに変換するOptionです。--extract-audio
の省略形。
-x
だけで、音声ファイルがダウンロード可能です。
--audio-format mp3
の部分は、音声ファイルのフォーマットを指定するOption。
mp3
の部分は、別のFormatを指定できます。
ニコニコから動画をダウンロードする方法
PowerShellで実行する例は以下の通りです。
1..10 | % { youtube-dl <ニコニコのURL> }
解説
ニコニコの動画をダウンロードしようとすると、
途中でダウンロードがエラーで止まってしまう可能性があります。
そのため、回避策としてyoutube-dlを10回繰り返して実行するようにしています。
具体的には、以下のようなエラーがでます。
ERROR: unable to download video data: HTTP Error 403: Forbidden
GitHubのIssueはこちらでしょうか。
- https://github.com/ytdl-org/youtube-dl/issues/19261
- https://github.com/ytdl-org/youtube-dl/issues/14582
手動の場合でも、繰り返し実行しつづけると、
100%ダウンロードできます。
おわりに
各サイトの利用規約をご確認ください。
YouTube: https://www.youtube.com/t/terms
niconico: https://account.nicovideo.jp/rules/account
Twitter: https://twitter.com/ja/tos
Instagram: https://ja-jp.facebook.com/help/instagram/581066165581870
FFmpeg: http://www.ffmpeg.org/legal.html
スポンサーリンク