約 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_チャンネル_アーカイバ