web-dev-qa-db-ja.com

任意の角度で画像を回転させるFFmpegフィルター

わずかに垂直から外れた角度で取り付けられたWebカメラからタイムラプスビデオを作成する必要があり、画像を反時計回りに約3度回転させる必要があります。 (ウェブカメラは事実上アクセスできない場所にあり、天候のために角度を修正したとしても、最終的に斜めに蹴られる可能性があるため、ソフトウェアで修正する必要があります。)

コマンドラインオプションでImageMagickの変換ツールを使用して成功しました:

  convert infile.jpg -distort ScaleRotateTranslate 750,50,-3  outfile.jpg

しかしもちろん、変換するのは痛々しいほど遅いです。 FFmpegフィルターを使用して、他に必要なすべてのこと(画像のロゴのトリミングとオーバーレイ)を実行できますが、画像を任意の角度(90または180度)だけ回転できるフィルターはないようです。

おそらく、これを行うことができるある種の一般的な線形変換フィルターがありますか?

助けてくれてありがとう。

11
Tom

rotate フィルターが 最近追加されました FFmpegに追加されました。これにより、任意の角度での回転が可能になります。これを使用するには、 gitから最新バージョンをビルド または ダウンロード 最近のスナップショットビルドを使用できます。

角度はラジアンで指定されます。正は時計回り、負は反時計回りです。度がある場合は、PI/180を掛けてラジアンに変換します。たとえば、反時計回りに3°回転するには:

ffmpeg -i in.mp4 -vf "rotate=-3*PI/180" out.mp4

詳細と追加の例については、 ドキュメント を確認してください。

17
mark4o