youtube-dl を使用して YouTube チャンネル全体をダウンロードし、中断された場合は自動的に再開します

youtube-dl を使用して YouTube チャンネル全体をダウンロードし、中断された場合は自動的に再開します

約 10,000 本のビデオを含む YouTube チャンネル全体をダウンロードしています。「コンテンツが短すぎます」や「接続が中断されました」などのエラーにより、ダウンロードが停止することがあります。ただし、ダウンロードを自動的に再開する方法はありますか? バッチ ファイルを作成できると思いますが、作成方法がわかりません。

ダウンロードに使用するコマンドは次のとおりです:

youtube-dl -f bestvideo+bestaudio ytuser:(Channel) -o "/Videos/lhs/[%(upload_date)s - %(id)s] %(title)s.%(ext)s" --ffmpeg-location %CD%\ffmpeg\bin

答え1

この回答は、古いバージョンの youtube-dl では機能しません。youtube-dl を最新バージョンに更新する必要があります。システムに Python がインストールされている場合は、最新バージョンの youtube-dl を Python 仮想環境内にローカルにインストールするか、最新バージョンの youtube-dl をダウンロードしてグローバルにインストールすることができます。

Ubuntu 14.04 以降では、youtube-dl も snap パッケージです。インストールするには、次のように入力します。

sudo スナップインストール youtube-dl# snap run youtube-dl で起動します

ターミナルを開いて次のように入力します:

youtube-dl -f best -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

...は<url-of-channel>チャンネルの URL に置き換えられます。

注記:多数のビデオをダウンロードする場合は、ダウンロードを開始する前に、ビデオを保存するディレクトリに変更する必要があります。

説明

-f, --format FORMAT
    video format code. The special name "best" will pick the best quality.

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos in a channel 

-w, --no-overwrites
    do not overwrite files

-v, --verbose
    print various debugging information

答え2

youtube-dl のマニュアルページを見ると、部分的なダウンロードを再開するオプションが表示されます。

-c, --continue
           Resume partially downloaded files.

マニュアルページリンク

答え3

おそらくこの議論は質問が出された時点では存在しなかったが、

--ignore-errors

youtube-dl はエラーに関係なくダウンロードを続行します。このような包括的なソリューションは、重要なエラーを見逃した場合に問題を引き起こす可能性があるため、注意して使用してください。ただし、10,000 本のビデオがあるチャンネルでは、いくつかのビデオが正しくダウンロードされなくても気にしない可能性があります。

さらに、

--download-archive archive.log

すでにダウンロードされたものを追跡し、すでにダウンロード済みのビデオをスキップします。そのため、停電などによりスクリプトが停止した場合でも、再度実行したときに最初からすべてを再度ダウンロードしようとはしません。

答え4

役に立つスクリプト:youtube_チャンネル_アーカイバ

関連情報