我有两组图像,我可以毫无问题地分别与 avconv 组合(使用 -r 具有不同的速率)一组为 -r .20(将一个图像扩展到五秒的视频),另一组以常规帧速率设置为以正常速度组装视频。
当我尝试将这些单独的 avi 文件与 avconv 或 avimerge 组合时,生成的视频只有第一个视频的帧速率(-r .20)
有没有办法将这两个序列结合起来,并且两个序列都在它们导出的帧速率中?
这是我在这里整理的草率代码:
try:
p = subprocess.Popen(["avconv" , "-y" , "-r" , ".20" , "-i" , "head%03d.jpg" , "-i" , audio , head_video_filename], universal_newlines=True, stdout=subprocess.PIPE)
out, err = p.communicate()
retcode = p.wait()
except IOError:
pass
else:
print "] ENCODING OF HEADER.AVI FINISHED:" + str(retcode)
try:
p = subprocess.Popen(["avconv" , "-y" , "-i" , "tail%03d.jpg" , "-r" , "25" , tail_video_filename], universal_newlines=True, stdout=subprocess.PIPE)
out, err = p.communicate()
retcode = p.wait()
except IOError:
pass
else:
print "] ENCODING OF TAIL.AVI FINISHED:" + str(retcode)
try:
group_of_videos = "concat:"+head_video_filename+"|"+tail_video_filename
p = subprocess.Popen(["avconv" , "-i" , group_of_videos , "-c" , "copy" , full_video_filename] , universal_newlines=True, stdout=subprocess.PIPE)
out, err = p.communicate()
retcode = p.wait()
except IOError:
pass
else:
print "] ENCODING OF FULL_VIDEO.AVI FINISHED:" + str(retcode)
return
#