youtube-dlを使用してyoutubeプレイリストをダウンロードし、既存のファイルをスキップする


22

youtube-dl既存のファイルをスキップして、を使用してyoutubeプレイリストをmp3としてダウンロードできるかどうか疑問に思っていました。私はこのコマンドを使用しています:

youtube-dl --continue --ignore-errors --no-overwrites --extract-audio --audio-format mp3 --output "%(title)s.%(ext)s" [path here]

そして、上書きしないように設定しても、すべてを最初から再ダウンロードします。これは可能ですか?


再ダウンロードしても、そのオプションが設定されていなくても、通常はデフォルトでファイルの書き込みをスキップします
mchid

OK、ダウンロードしたビデオをmp3ファイルと一緒に保存すると、スキップ機能は正常に動作します。必要なものではありませんが、大丈夫です。
戦士

回答:


45

オプション--download-archive FILE youtube-dlを使用すると、再度ダウンロードしないファイルのリストを読み取り、追加します。ファイルが正常にダウンロードされるたびに、そのビデオIDがに追加されFILEます。

次のように使用できます。

youtube-dl --download-archive downloaded.txt --no-post-overwrites -ciwx --audio-format mp3 -o "%(title)s.%(ext)s" [path here]

リストを作成するときに最後に保持しなかった前のビデオを再ダウンロードします。これで削除できます。

MP3ファイルの名前がデフォルトの形式で%(title)s-%(id)s.%(ext)sある場合は、次のようにbashターミナルでdownloaded.txtyoutubeから作成することにより、再ダウンロードを回避でき%(id)sます。

for n in *.mp3
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.mp3$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done

1
ここで貴重な答え。それは私の問題を解決します。ありがとうございました。
戦士

-cwixここは何ですか?
bteo

2
-cwix短い代替手段です--continue --no-overwrites --ignore-errors --extract-audio
マーティンソーントン

1
これはYouTubeには完全に機能しますが、youtube-dlは、-xオプションが出力を壊していると思われる他のサイト(Soundcloudなど)でも機能します。オーディオソースからダウンロードする場合は、そのフラグを安全に削除できます。
christianbundy

2

これは本当に役に立ちます。誰でも使用できる場合は、コードを変更して既存のダウンロードリストを作成し、フォルダー内のすべてのファイルを含めます。--extract-audioおよび--audio-quality "best"フラグ付きの音声をダウンロードする場合に便利です

for n in *.*
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.*$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done

ほとんどの人が自分で解決できたと思いますが、誰もがbashスクリプトに夢中になっているわけではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.