ffmpegで動画を90度や180度に回転させる方法を解説します。ffmpegでは、transposeオプションに0〜3の値を指定することによって、元の動画を回転させることができます。

後半では、応用例としてスマートフォン閲覧用の縦動画を作成する方法についても説明します。回転と同時に、圧縮を行い動画サイズを軽くしてきます。また、ffmpegでよく使うコマンド一覧やインストール方法については、以下が参考になります。

ffmpegの使い方やコマンド一覧をまとめました。動画リサイズ・静止画変換・フレーム補間について

目次

動画を回転させるコマンド

ffmpegで動画を回転するには-vfオプションを指定します。

bash
1
2
3
4
$ ffmpeg \
-i inputMovie.mp4 \
-vf "transpose=1" \
outputMovie.mp4

上記のコマンドでは、回転と動画ファイルの圧縮を行っています。各オプションは次の通りです。

オプション 説明
-i 入力ファイルの指定
-vf "transpose=1"で90度時計回り方向に回転させる

transposeオプションで指定できる回転は次の通りです。

  • 1 → 90度 時計まわりに回転
  • 2 → 90度 時計反まわりに回転
  • 3 → 90度 時計まわり回転後、上下を反転
  • 0 → 90度 時計反まわり回転後、上下を反転
スポンサーリンク

スマートフォン向けに回転させた動画を書き出す

続いて応用例です。ffmpegで動画を回転させた後、動画サイズを軽くする圧縮処理を行う方法を見ていきたいと思います。次の例ではinputMovie.mp4を90度回転させたあと、動画を75%程度のサイズに圧縮する例です。

bash
1
2
3
4
5
$ ffmpeg \
-i inputMovie.mp4 \
-vf "transpose=1" \
-crf 26 \
outputMovie.mp4

-crfオプションに値を指定すると動画が圧縮されます。

オプション 説明
-crf 動画ファイルの圧縮。値が高いほど高圧縮されファイルサイズが小さくなる

-crfで指定する値は30を指定すると、変換前の半分程度にまで圧縮されるようです。

最近では、InstagramでIGTVという動画サービスが開始されました。私も動画を投稿することが増えてきたのですが、IGTVでは16:9のアスペクト比である横長の動画を投稿することができません。縦長サイズである9:16の動画として変換する必要があります。

そんな時にffmpegコマンドで動画回転させるのはいかがでしょうか。

スポンサーリンク
 記事名とURLをコピーする

ffmpegで動画を回転する方法を解説。transposeオプション https://photo-tea.com/p/1810/ffmpeg-90-rotation/

 関連する記事
 作例掲載
 記事を書いてる人
gravatar
tea (てぃー)

自然風景や人物の写真撮影を行っています。その他は音楽や映像・メダカの鑑賞も好きです。ブログでは気になったことをメモ代わりにまとめていますので気軽にご覧ください(^^)

 お問い合わせ

 ポートフォリオ

 著者・運営者について