最新のyoutube-dlコマンドをインストールするには?

Linuxで「youtube-dl」コマンドを使って動画をダウンロードしようとすると、以下のようなエラーを出力して終了する場合があります。

$ youtube-dl aAAaaAAAAaA
[youtube] aAAaaAAAAaA: Downloading webpage
[youtube] aAAaaAAAAaA: Downloading video info webpage
ERROR: aAAaaAAAAaA: YouTube said: Invalid parameters.

以下のようなエラーが出る場合もあります。

$ youtube-dl aAAaaAAAAaA
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

こうしたエラーは、youtube-dlのバージョンが古く、YouTubeなど各動画サイトの現行仕様に対応していない場合に発生します。そのため、最新のyoutube-dlをインストールすることで解決します。

各ディストリビューションの公式レポジトリからyoutube-dlをインストールしている場合は、まず削除しましょう。UbuntuでAPTを使ってインストールしているなら、以下のコマンドで削除できます。

sudo apt remove -y youtube-dl

youtube-dlコマンドの実行には、「python」コマンドが必要です。「/usr/bin/python」や「/usr/local/bin/python」がインストールされていない場合は、インストールしておく必要があります。Pythonのバージョンは2でも3でも問題ありません。

Ubuntu 18.04 LTSや20.04 LTSの場合、デフォルトでインストールされるのは「/usr/bin/python3」なので、このままでは動作しません。以下のコマンドで「/usr/local/bin/python」にシンボリックリンクを作成すれば、動作させることができるようになります。

sudo ln -s /usr/bin/python3 /usr/local/bin/python

他に、「python」パッケージでPython2をインストールする方法もあります。Ubuntu 20.04 LTSなら、「python-is-python3」パッケージをインストールすることで、「/usr/bin/python3」へのシンボリックリンク「/usr/bin/python」を作ることもできます。

pythonコマンドが準備できたら、以下のコマンドで最新のyoutube-dlコマンドがインストールできます。

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
hash -r

なお、一度この手順でインストールすれば、以降は以下のコマンドで最新版にアップグレードできます。

sudo youtube-dl -U