我正在寻找使用if
和elif
语句下载一部分视频(大约30秒),并在下面给出的代码中实现。目前,只有我的第一个和第二个选项有效,但我不知道如何应用第三个选项。
当前,我的实现是:
import youtube_dl
def switch_demo(x):
switcher = {
1: "With Subtitles",
2: "Without Subtitles",
3: "Download short video(take 30 sec)",
}
return switcher.get(x,"Invalid Option")
x = int(input("Select the option\n1.With Subtitles\n2.Without Subtitles\n3.Download short video(take 30 sec)\n\n"))
print(switch_demo(x))
link=input('Please enter a url link\n')
if (x == 1):
ydl_opts = {"writesubtitles": True}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([link])
elif ( x == 2):
ydl_opt = {}
with youtube_dl.YoutubeDL(ydl_opt) as ydl:
ydl.download([link])
elif (x == 3):
ffmpeg (youtube-dl -g ([link)] | sed "s/.*/-ss 10 -i &/") -t 60 -c copy test3.mkv
我尝试使用ffmpeg这样的命令行实用程序,但是它无法正常工作,我不知道如何在上面的代码中应用它。
我希望能够下载带或不带字幕的视频,或者仅下载一部分视频(最长30秒),并且所有选项都起作用。