ページ

2020年12月12日土曜日

【Youtube動画ダウンロード】 youtube-dlでエラーが発生したら最新のツールに置き換えよう

動画をダウンロードしようとして久しぶりにコマンド叩いたら,以下のようなエラーが発生してダウンロードに失敗した.
 $ youtube-dl https://www.youtube.com/watch?v=HogeHoge
 [youtube] HogeHoge: Downloading webpage
 [youtube] HogeHoge: Downloading video info webpage
 ERROR: HogeHoge: YouTube said: Invalid parameters.
(動画のIDはHogeHogeに変更しています)

ツールが最新ではない場合,上記のようなエラーが発生することがあるようだ.

apt update && apt upgrade してもツールが更新されない場合は,そもそもリポジトリが配信しているバージョンが古いので,公式からツールをダウンロードする.
 $ wget https://yt-dl.org/downloads/latest/youtube-dl

実行権限を付与して,再実行すると今度はダウンロードに成功した.
 $ chmod +x youtube-dl
 $ ./youtube-dl https://www.youtube.com/watch?v=HogeHoge
 [youtube] HogeHoge: Downloading webpage
 [youtube] HogeHoge: Downloading MPD manifest
 [dashsegments] Total fragments: 100
 [download] Destination: (動画の名前)-HogeHoge.f248.webm
 [download] 100% of 91.06MiB in 00:44
 [dashsegments] Total fragments: 54
 [download] Destination: (動画の名前)-HogeHoge.f251.webm
 [download] 100% of 11.31MiB in 00:03
 [ffmpeg] Merging formats into "(動画の名前)-HogeHoge.webm"
 Deleting original file (動画の名前)-HogeHoge.f248.webm (pass -k to keep)
 Deleting original file (動画の名前)-HogeHoge.f251.webm (pass -k to keep)

アップデートはUオプションを付与してコマンドを実行することで可能.冒頭のようなエラーが発生した場合は,これからは以下を実行するだけで良い.
 $ ./youtube-dl -U
 youtube-dl is up-to-date (2020.12.12)



とりあえず使うだけならばこれで十分だが,リポジトリからインストールしたコマンドと置き換える場合は,公式からダウンロードしたyoutube-dlをパスが通ったディレクトリに移動する.

例えば,/usr/local/bin
 $ sudo mv -i youtube-dl /usr/local/bin

例えば,/opt
 $ sudo mkdir -p /opt/youtube-dl
 $ sudo mv -i youtube-dl /opt/youtube-dl/

例えば,~/bin
 $ mkdir -p ~/bin
 $ mv -i youtube-dl ~/bin


移動先のディレクトリが,リポジトリからのインストール先(/usr/bin)よりも参照先として上位にあれば,whichコマンドの結果が置き換わる.
 $ which youtube-dl
 /usr/local/bin/youtube-dl

リポジトリからインストールしたyoutube-dlをアンインストールしない理由は,manを見れる環境は残しておきたいから.
(manのバージョンと,実際に使用するツールのバージョンが異なることになるので注意)

whichコマンドの結果が変化しない場合は,パスの定義を変更するか,仕方無しにリポジトリからインストールしたyoutube-dlをアンインストールする.(パスの定義変更方法は環境によって異なるので割愛する)
 $ sudo apt remove youtube-dl

0 件のコメント:

コメントを投稿