我创建了一个脚本来下载YouTube视频并从中提取每个时段的图像
screenshotvideo
def screenshotvideo(url,interval,id,fullduration,title,quality): interval = int(interval) parsed_t = isodate.parse_duration(fullduration) durationseconds=parsed_t.total_seconds() iterat=int(durationseconds/int(interval)) for i in range(0,iterat): print(str(id)) print(str(i)) print(str(i*interval)) part(url,time.strftime('%H:%M:%s',time.gmtime(int(i*interval))),"00:00:01",title+"-"+str(id),quality)
部分
def part(url,starttime,duration,name,quality): f = os.popen("ffmpeg $(youtube-dl -f "+quality+" -g '"+url+"' | sed 's/.*/-ss "+starttime+" -i &/') -t "+duration+" -c copy "+name+".mp4") Now = f.read() print(Now) f = os.popen("ffmpeg -i "+name+".mp4 -ss 00:00:00 -vframes 1 "+name+".jpg") Now = f.read() print(Now) f = os.popen("rm -rf "+name+".mp4") Now = f.read() print(Now)
[mp4 @ 0x55d537f64240] Could not find tag for codec vp8 in stream #0,codec not currently supported in container.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument