目次 >> ffmpeg >> 動画を回転させてエンコードする
transposeオプションを使う
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
0:90度反時計回りに回転したのち上下反転
1:90度時計回り
2:90度反時計回り
3:90度時計回りののち上下反転
rotateオプションを使う。角度はラジアンで指定するので、時計回りに45度回転させる場合は、
ffmpeg -i input.mp4 -vf "rotate=45*PI/180" output.mp4
反時計回りに45度回転させる場合は、
ffmpeg -i input.mp4 -vf "rotate=-45*PI/180" output.mp4
rotateオプションで、tを使うと、tには、時間が秒で入っている。例えば、
ffmpeg -i input.mp4 -vf "rotate=2*PI*t/10" output.mp4
とすると、10秒間に時計回りに一回転する動画作成される。
回転させてできる動画の縦と横は、元の動画のそれと同じである。
その為、任意の角度で回転させると、切れてしまう部分と、黒いバックグランドで埋められる部分が出てくる。
回転させた際に、すべての画像が表示されるようにするには
ow='hypot(iw,ih)':oh=ow
を、余白が作られなうようにするには、
ow='min(iw,ih)/sqrt(2)':oh=ow:c=none
を追加すればよい。具体的には、
ffmpeg -i input.mp4 -vf "rotate=2*PI*t/10:ow='hypot(iw,ih)':oh=ow" output.mp4 ffmpeg -i input.mp4 -vf "rotate=2*PI*t/10:ow='min(iw,ih)/sqrt(2)':oh=ow:c=none" output.mp4
のようになる。
最終更新日