2015-11-09 5 views
2

Я генерирую цифры png, используя python, а затем использую mencoder для создания фильма. Я использовал оценку, которую я искал в Интернете. Для меня это создает фильм. Но странно, что он использует первый рисунок несколько раз во время всего фильма. Это не то, чего я хочу. Я не знаю, почему. Код ниже:Mencoder генерирует видео, которое использует первый рисунок несколько раз

os.system("mencoder 'mf://_tmp*.png' -mf type=png:fps=10.0 -ovc vcodec=wmv2 -oac copy -o " + filename + ".mpg") 
+0

Как ваши файлы называются? Является первым фреймом '_tmp1.png' или' _tmp00001.png'? Если первый, попробуйте поместить все номера ваших кадров на фиксированную длину и посмотреть, исправляет ли это это. –

+0

они называются _tmp100.png, _tmp200.png и так далее. – user5473110

+0

ОК, а '_tmp900.png' следует за' _tmp1000.png'? –

ответ

0

Я не проверял, но я подозреваю, что MEncoder сортирует ваши кадры по имени файла, как строки. То есть, порядок сортировки будет начать так:

_tmp1.png 
_tmp10.png 
_tmp100.png 
_tmp101.png 
_tmp102.png 
... 
_tmp109.png 
_tmp11.png 
_tmp110.png 
_tmp111.png 
_tmp112.png 
... 

(В комментариях вы говорите, что ваши имена файлы на самом деле выглядят как _tmp100.png, _tmp200.png и т.д., но дополнительные нули хвостовых не должны иметь никакого значения.)

Очевидно, что это приведет к тому, что каждый десятый кадр в вашем конечном видео будет неправильно настроен.

В этом случае zero-padding the frame numbers в ваших именах файлов фиксированной длины должен исправить его.