13
私はまた私のように最終的にはPILを使って画像をトリミングしていMP4ビデオにHTML5のビデオを変換しようとしていると時間パイプPIL画像 - Pythonの
上PhantomJSて撮影画面でそうやっていますコードはおおよそ次のとおりです。
while time() < end_time:
screenshot_list.append(phantom.get_screenshot_as_base64())
.
.
for screenshot in screenshot_list:
im = Image.open(BytesIO(base64.b64decode(screenshot)))
im = im.crop((left, top, right, bottom))
今私は、ディスクにすべてのそれらの画像を保存し、保存されたファイルからffmpegのを使用しています:
os.system('ffmpeg -r {fps} -f image2 -s {width}x{height} -i {screenshots_dir}%04d.png -vf scale={width}:-2 '
'-vcodec libx264 -crf 25 -vb 20M -pix_fmt yuv420p {output}'.format(fps=fps, width=width,
screenshots_dir=screenshots_dir,
height=height, output=output))
しかし、私が代わりにそれらの保存されたファイルを使用するので欲しい、できるようにするにはPIL.Imagesディレクティブをffmpegにパイプするにはどうしたらいいですか?
ffmpegの部分は 'ffmpeg -f image2pipe -vcodec png -i - -vf ....'のように開始する必要があります。 PILが適切なPNG構文を出力する場合は、入力イメージのサイズを指定する必要はありません。 – Mulvya
いつか2で割り切れないし、それで問題が発生するので扱い、それを指定するので、私は指定します – bluesummers
スケールフィルタの引数はmod 2要件を処理します。画像を取り込むことには関係ありません。 – Mulvya