gpt4 book ai didi

bash - 在 FFMPEG 中包含 Youtube-dl 在 Bash (OSX) 中不起作用

转载 作者:行者123 更新时间:2023-12-04 23:02:28 25 4
gpt4 key购买 nike

我正在尝试下载 5 秒的样本以获取 youtube 视频列表。传统方法是使用“youtube-dl”下载整个文件,然后使用“ffmpeg”将其拆分为您想要的任何内容。

我正在尝试使用以下方法:https://github.com/ytdl-org/youtube-dl/issues/622#issuecomment-162337869

当我在命令中包含变量时它确实有效,例如:

ffmpeg -ss 0 -i $(youtube-dl -f best --get-url https://www.youtube.com/watch?v=ySVi-0RS5vI&t=5s) -t 10 -c:v copy -c:a copy title2.mp4

但是,我在尝试使系统自动化时遇到问题。具体来说,我希望 ffmpeg 和 youtube-dl 读取文件并使用这些值。我创建了包含以下代码的文件“youtube.txt”:
440.8,https://www.youtube.com/watch?v=0-4wOE_DNeA,661.2,881.6,0-4wOE_DNeA
330,https://www.youtube.com/watch?v=0-AMWW6tHzw,495,660,0-AMWW6tHzw
509.2,https://www.youtube.com/watch?v=0-Rmto2rgMw,763.8,1018.4,0-Rmto2rgMw
427.6,https://www.youtube.com/watch?v=0-U53qm45cA,641.4,855.2,0-U53qm45cA
320.4,https://www.youtube.com/watch?v=0-dja9Ys4Sg,480.6,640.8,0-dja9Ys4Sg
343.6,https://www.youtube.com/watch?v=0-g_PulsqtM,515.4,687.2,0-g_PulsqtM
415.6,https://www.youtube.com/watch?v=0-nniRyn7dU,623.4,831.2,0-nniRyn7dU
431.2,https://www.youtube.com/watch?v=006BQU3BFxw,646.8,862.4,006BQU3BFxw

我正在使用以下命令:
parallel -j 6 --colsep ',' ffmpeg -ss {1} -i $(youtube-dl -f best --get-url {2}) --t 5 -c:v copy -c:a copy {5} :::: youtube.txt

但是,我收到以下错误:
ERROR: '{2}' is not a valid URL. Set --default-search "ytsearch" (or run  youtube-dl "ytsearch:{2}" ) to search YouTube
--t: No such file or directory

你介意帮助我吗?

谢谢!

最佳答案

这是一个使用 python2 的解决方案,所以这应该适用于 MacOS 附带的 python 版本。由于某种原因,我原来的 bash 脚本在读取 csv 行时卡住了。将此脚本添加到 getvids.py在与您的youtube.txt 相同的目录中,然后运行 ​​chmod +x getvids.py当你准备好松开它时./getvids.py

#!/usr/bin/python

import csv, os

with open('youtube.txt') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
starttimes = [row[0], row[2], row[3]]
yturl = os.popen('youtube-dl -f best --get-url '+row[1]).read().strip()
for thistime in starttimes:
print(row[1] + ' @time='+thistime)
os.system('ffmpeg -hide_banner -loglevel panic -ss '
+thistime+' -i "'+yturl+'" -t 5 -c copy '+row[4]+'['+thistime+'s].mp4')

关于bash - 在 FFMPEG 中包含 Youtube-dl 在 Bash (OSX) 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022762/

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