YouTube-dl 私のお気に入りで好ましいコマンドラインダウンロードマネージャーです。インターネットからオーディオ、ビデオ、映画をダウンロードするためによく使用します。今日、Linuxデスクトップからyoudtube-dlを使用してYouTubeからビデオをダウンロードしようとしましたが、次のエラーメッセージが表示されました-ビデオデータをダウンロードできません:HTTPエラー403:禁止 。通常、ほとんどのyoutube-dlエラーは、youtube-dlの更新後に修正されます。そこで、コマンドを使用してyoutube-dlを更新しました:
$ sudo youtube-dl -U
すでに更新されています!最新バージョンを持っています。
次に、コマンドを使用してビデオを再度ダウンロードしようとしました:
$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc
しかし、同じエラーが発生します:
[youtube] 4jTy5jnMkYc: Downloading webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. ERROR: unable to download video data: HTTP Error 403: Forbidden
このエラーが発生した場合は、以下の手順に従って修正してください。
LinuxでYoutube-dlを使用してメディアファイルをダウンロードする際の「ビデオデータをダウンロードできません:HTTPエラー403:禁止」エラーを修正
このエラーは、Youtube-dlキャッシュが原因で発生する可能性があります。これを修正するには、次のコマンドを使用してyoutube-dlのキャッシュを削除します。
$ youtube-dl --rm-cache-dir
このコマンドコマンドは、youtube-dlのローカルキャッシュディレクトリを削除します。私の場合、次のディレクトリが削除されました:
Removing cache dir /home/sk/.cache/youtube-dl ...
PythonコードでYoutube-dlを使用する場合は、次の方法でこのエラーを修正できます。
# 'cachedir': False -> don't use a local caching dir (~/.cache/youtube-dl) ydl_opts = {..., 'cachedir': False } with youtube_dl.YoutubeDL(ydl_opts) as ydl: result = ydl.extract_info(url)
これで、問題なくYouTube動画をダウンロードできるようになりました。
$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc
[youtube] 4jTy5jnMkYc: Downloading webpage [youtube] 4jTy5jnMkYc: Downloading js player vflset [youtube] 4jTy5jnMkYc: Downloading js player vflset WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f137.mp4 [download] 100% of 29.87MiB in 00:24 [download] Destination: Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f251.webm [download] 100% of 5.10MiB in 00:04 [ffmpeg] Merging formats into "Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.mkv" Deleting original file Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f137.mp4 (pass -k to keep) Deleting original file Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f251.webm (pass -k to keep)
お気づきかもしれませんが、上記のコマンドには警告メッセージがあります。
[...] WARNING: Requested formats are incompatible for merge and will be merged into mkv. [...]
これは実際には問題ではありませんが、youtube-dlコマンドで予想される動作です。デフォルトでは、youtube-dlは利用可能な最高品質のオーディオと最高品質のビデオストリームをダウンロードしてから、mkv、mp4などの互換性のあるコンテナに結合します。これらのオーディオストリームとビデオストリームがmp4コンテナにうまく収まらない場合は、youtube -dlはそれらをmkvコンテナにパックし、上記の警告メッセージを表示します。このような場合、mkv警告を無視して、最高品質のビデオと最高品質のオーディオをmp4コンテナでのみダウンロードできます。 以下のように、望ましい最高品質のオーディオおよびビデオ形式を明示的に言及することによって:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' https://www.youtube.com/watch?v=4jTy5jnMkYc
その他のYoutube-dlコマンドの例については、次のガイドを参照してください。
- 初心者向けの例を含むYoutube-dlチュートリアル
これがお役に立てば幸いです。