У меня есть два набора изображений, которые я без проблем комбинирую по отдельности с помощью 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
#