我想知道是否可以使用 将 youtube 播放列表下载为 mp3 youtube-dl
,跳过现有文件。我正在使用这个命令:
youtube-dl --continue --ignore-errors --no-overwrites --extract-audio --audio-format mp3 --output "%(title)s.%(ext)s" [path here]
Run Code Online (Sandbox Code Playgroud)
而且,即使我将其设置为不覆盖,它也会从头开始重新下载所有内容。这可能吗?
Mar*_*ton 76
使用选项--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]
Run Code Online (Sandbox Code Playgroud)
它会在创建列表时重新下载您上次没有保留的任何视频。您现在可以删除它们。
如果您的 MP3 文件已使用默认格式命名,则%(title)s-%(id)s.%(ext)s
您可以通过在 bash 终端中downloaded.txt
从 youtube创建来避免重新下载,%(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
Run Code Online (Sandbox Code Playgroud)
小智 6
这真的很有帮助。如果它对任何人有用,我修改了代码以创建现有的下载列表以包含文件夹中的所有文件。如果下载带有--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
Run Code Online (Sandbox Code Playgroud)
我相信大多数人都可以自己解决这个问题,但并不是每个人都熟悉 bash 脚本。
归档时间: |
|
查看次数: |
57768 次 |
最近记录: |