いくつか試して実際にできたのが、Pillowで画像を生成し、PyAVというffmpeg/avconvのライブラリlibavのPythonラッパーで動画化するという方法。ちなみに試してたのはUbuntu 14.04。
準備
依存ライブラリインストール
sudo apt-get install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-devPillowに必要なパッケージが他にあったかも。
Pythonライブラリのインストール
pip install Pillow pip install avpipはvirtualenv下のやつを使うのがいいと思う。requirements.txt作れって?
すると、こんなスクリプトで生成できる。drawのところをちょいちょい変えたり、backgroundの色を調整したりすればいいかな。
けっこうローレベルな触りかたをしてしまった…
PyAVはimageにto_string()を呼んでくるのだけど、Pillowにはないので、tobytesを呼ばせるHackをしてある。
ちなみに、以下の感じでも目標が達成できることは後でわかった。なお音入り。avconvでもtestsrcはできるけど、sineはない。
ffmpeg -y -filter_complex testsrc=size=1280x720:rate=ntsc -filter_complex sine=f=440 /tmp/hoge.avi
0 件のコメント:
コメントを投稿