gpt4 book ai didi

python - Linux shell 中 youtube-dl 的简单队列

转载 作者:太空狗 更新时间:2023-10-29 21:04:17 24 4
gpt4 key购买 nike

youtube-dl是一个允许下载 YouTube 视频的 Python 脚本。它支持批量下载选项:

-a FILE, --batch-file=FILE
file containing URLs to download ('-' for stdin)

我想设置某种队列,这样我就可以简单地将 URL 附加到文件并让 youtube-dl 处理它们。目前,它不会从批处理文件中删除文件。我看到了“-”标准输入的选项,但不知道我是否可以利用它来发挥我的优势。

实际上,我想将 youtube-dl 作为某种形式的守护进程运行,它将检查队列文件并下载包含的文件名。

我该怎么做?

最佳答案

tail -f 将不起作用,因为脚本会一次读取所有输入。

如果您修改脚本以执行批处理文件的连续读取,它将起作用。

然后简单地运行脚本:

% ./youtube-dl -a batch.txt -c

当您将一些数据附加到 batch.txt 时,说:

% echo "http://www.youtube.com/watch?v=j9SgDoypXcI" >>batch.txt

脚本将开始将附加视频下载到批处理中。

这是你应该应用到最新版本的“youtube-dl”的补丁:

2278,2286d2277
< while True:
< batchurls = batchfd.readlines()
< if not batchurls:
< time.sleep(1)
< continue
< batchurls = [x.strip() for x in batchurls]
< batchurls = [x for x in batchurls if len(x) > 0]
< for bb in batchurls:
< retcode = fd.download([bb])

希望对你有帮助看视频开心;)

注意:由于代码重组,此补丁将不再有效。有兴趣看看是否可以将其添加到上游代码中。

关于python - Linux shell 中 youtube-dl 的简单队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com