youtube-dl派生のyt-dlpでYoutubeを高速ダウンロード

投稿者: | 2022年1月25日

各動画サイトのダウンロードに、Clibgrubと共に愛用しているyoutube-dlのYoutubeでのダウンロードがとても遅いことに気づき、公式サイトをチェックしてみると最近はあまりアップデートが無い状態に。そこで本家から派生して熱心に開発が続いているyt-dlpを試してみました。

youtube-dlの近況

以前、YoutubeやTVerなどの動画ダウンロード用に導入したyoutube-dlですが、いつの頃からかダウンロード速度が使い物にならないほど遅くなっていました。

 

Ubuntu 18.04のyoutube-dl

こうした場合にまず更新がリリースされていないか確認するものですが、その前に今、Ubuntu 18.04で使っているyoutube-dlのバージョンを確認します。

実はこのマシンには前回、youtube-dlのGitHubから手動インストールしたバイナリの他に、LaunchpadレポジトリにあるUbuntu謹製のパッケージ版も混在しており、実際に両者のバージョンを確認してみると、前者の方が新しいものの、それでも半年程度前のリリースでした。

 

yt-dlpを導入

youtube-dlの公式GitHubにも以降にリリースされた更新も無いことから、対処方法を調べていたところ、同じくYoutubeからのダウンロード時における速度に不満が挙がっていたこちらのフォーラムで、yt-dlpを勧める声がいくつも見受けられました。

yt-dlpはyoutube-dlのフォークであるyoutube-dlcからさらにフォークアウトしたもので、そのオプション体系は源流であるyoutube-dlに準じているのが何より嬉しいところ。更新が止まってしまったyoutube-dl ver.2021.06.06をベースに、Youtube向けにもさまざまな改善を織り込んでいるようです。

図1.yt-dlp GitHubページ

図1.yt-dlp GitHubページ

Linux版は、GitHubのリリースページにある拡張子のないバイナリファイルをダウンロードして、実行権限を付与するだけで取り敢えず試してみることができます。

本記事冒頭で、youtube-dlでは8時間程度掛かる見込みとされていたYoutube動画が、yt-dlpでは20分程度で完走してしまいました。

きちんとインストールするのであれば、GitHubのINSTALLATION項に解説されているようにyoutube-dlの時同様、 curl コマンドなどで /usr/local/bin/ へバイナリをダウンロードして、実行権限を付与します(管理者権限にて)。

 

TVerのダウンロードにも対応

もちろん、YoutubeのみならずTVerのダウンロードにも対応しています。TVerは日本国外からブラウザでは「tver player_err_geo_restricted」と出て再生することが出来ませんが、再生2時間程度の番組動画を途中のタイムアウトにも粘り強いリトライを経て、1時間強で完走しました。

 

yt-dlpの自己更新チェック

最新に保つことがことさら重要なダウンローダ、yt-dlpにはアップデート用のオプションも用意されていて便利です。

 

Aria2との連携

以前、Baidu Panからのダウンロードに使ったり、Synology NASへ導入したこともあるマルチダウンローダ 、Aria2をyt-dlpの外部ダウンローダとして指定することが出来るようなので、両者の連携による高速複数同時ダウンロードを試してみましょう。

yt-dlpで指定するオプションは以下の2つ、外部ダウンローダ名とそのオプション文字列のみ。もちろん、システムに既にAria2がインストールされていることが前提です。aria2cへ渡しているオプションの詳細については、以前の記事を参照ください。

Youtubeにある再生時間2時間弱の動画を例に、早速yt-dlp+aria2cによる高速複数同時ダウンロードを実行してみると、平均して1MB/s前後の速度を維持して22分で完走。

同じ動画をyt-dlp単体でダウンロードしてみると倍の時間が掛かったことから、aria2を外部ダウンローダとすることによる高速化は十分有効であると言ってよいでしょう。

しかしながらダウンロード先によっては帯域制限を喰らうことにもなりかねないことや、単体でも十分な速度が得られることから、「こういう使い方もある」と知っておく程度にしておいた方が良さそうです。

 

ClipGrabもyt-dlpをサポート

ちなみに、以前よりyoutube-dlをバックグラウンドのダウンローダとしてサポートしていた、ClipGrab(AppImage版 ver.3.9.7)もyt-dlpに対応しているようで、ある日の起動時に必要なバイナリをダウンロードするよう促されました。

図2.yt-dlpのダウンロードを促すClipGrab

図2.yt-dlpのダウンロードを促すClipGrab

 

2022.04追記

2022年4月1日のTVerサイト大幅リニューアル以降、新しい構造のURLを付与すると Unsupported URL でエラー終了するようになりました。

4月4日現在、まだバイナリはリリースされていませんが、GitHubではTVer向けスクリプトを改修が進んでいたので、別途こちらの記事で試してみました。

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA