Quantcast
Channel: FFmpeg | ニコラボ
Viewing all articles
Browse latest Browse all 311

映像を任意の角度に回転させる rotate

$
0
0

任意の角度に回転でき、時間経過で回転させたり止めたりできる rotate フィルタの使い方。似たフィルタに transpose, hflip, vflip フィルタがある。

上下左右を入れ換える vflip, hflip
ピクセル数はそのままに映像を回転させる transpose

基本コマンド

角度はラジアン指定なので慣れてないと混乱しやすい。1ラジアンは時計回りに約57.3度回転。PI, hypot, min などの書き方。
ffmpeg -i input -vf rotate=a=1 output
ffplay -i input -vf rotate=1

オリジナル

rotate=1

時計回りに45度回転させる。
ffplay -i input -vf rotate=45*PI/180

rotate=45*PI/180

回転しても見切れないように出力解像度を大きくする。
ffplay -i input -vf rotate=45*PI/180:ow='hypot(iw,ih)':oh=ow

rotate=45*PI/180:ow=’hypot(iw,ih)’:oh=ow

回転しても映像が常に映る(余白が表示されない)ように出力解像度を小さくする。
ffplay -i input -vf rotate=t*60*PI/180:ow='min(iw,ih)/sqrt(2)':oh=ow

rotate=t*60*PI/180:ow=’min(iw,ih)/sqrt(2)’:oh=ow

1ラジアン回転させて映像が丁度見切れない解像度に縦横を調節する。
ffplay -i input -vf rotate=1:ow=rotw(1):oh=roth(1)

rotate=1:ow=rotw(1):oh=roth(1)

公式ドキュメント:FFmpeg Filters Documentation : rotate

オプション

特定の時間だけフィルタを当てるならタイムライン編集、特定の時間に角度を変化させるなら評価式を使う。1ラジアンは約57.3度でπが180度。

  • angle, a[string]
    時計回りに回転させる角度のラジアン指定。マイナスで反時計回り。評価式が使える
  • out_w, ow[string]
    出力解像度の横幅。回転したときの余白を調整する。フレーム間でのサイズ変更はできない。評価式が使える
  • out_h, oh[string]
    出力解像度の縦幅。回転したときの余白を調整する。フレーム間でのサイズ変更はできない。評価式が使える
  • fillcolor, c[string]
    余白の色指定。色名指定とRRGGBB形式が使える https://ffmpeg.org/ffmpeg-utils.html#color-syntax
    既定値:black
  • bilinear[boolean]
    回転したときに bilinear で映像補間する
    既定値:1(有効)

評価式

  • n
    映像のフレーム数。0開始
  • t
    映像のタイムスタンプ秒。0開始
  • hsub
    横方向のクロマサブサンプル値。yuv422p なら 2
  • vsub
    縦方向のクロマサブサンプル値。yuv422p なら 1
  • in_w, iw
    入力映像の横幅
  • in_h, ih
    入力映像の縦幅
  • out_w, ow
    出力映像の横幅。out_w, ow で変更できる
  • out_h, oh
    出力映像の縦幅。out_h, oh で変更できる
  • rotw(a)
    out_w, ow で aラジアン回転させた分だけの横幅
  • roth(a)
    out_h, oh で aラジアン回転させた分だけの縦幅

Viewing all articles
Browse latest Browse all 311

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>