連番でない PNG 画像をとにかく動画に変換
指定されたディレクトリの PNG 画像を連番ファイル名にリネームしたあげく、ffmpeg を使って MP4 動画に変換してしまう Python コード。encode.py とでも名前を付けて
python encode hoge foo
のように使えば、hoge ディレクトリの PNG 画像から foo.mp4 ができる。
連番の桁数や ffmpeg のパラメータは適当に変更すべし。
import glob import os import subprocess import sys wd = '.' out = 'out' argc = len(sys.argv) if(argc > 1): wd = sys.argv[1] if(argc > 2): out = sys.argv[2] files = glob.glob(wd + '/*.png') i = 0 for f in files: print f os.rename(f, wd + '/%03d.png' % i) i += 1 cmd = 'ffmpeg -r 10 -i ' \ + wd + '/%03d.png -r 10 -vcodec libx264 ' \ + out + '.mp4' print cmd subprocess.call(cmd, shell=True)