1. ホーム
  2. ffmpeg

[解決済み] FFmpegで動画を回転させる

2022-03-19 06:46:23

質問

FFmpegで動画を回転させる方法を考えています。私はポートレートモードで撮影されたiPhoneのビデオで作業しています。私は使用して回転の現在の学位を決定する方法を知っている メディア情報 (素晴らしいライブラリです、btw) しかし、私は今、FFmpegで立ち往生しています。

私が読んだところでは、使用する必要があるのは vfilter オプションで指定します。見たところ、以下のような感じでいいみたいです。

ffmpeg -vfilters "rotate=90" -i input.mp4 output.mp4

しかし、これがうまくいきません。まず -vfilters はもう存在せず、今はただの -vf . 次に、こんなエラーが出ます。

No such filter: 'rotate'
Error opening filters!

私が知る限り、FFmpegのオールオプションオンビルドがあります。実行中 ffmpeg -filters はこれを表示します。

Filters:
anull            Pass the source unchanged to the output.
aspect           Set the frame aspect ratio.
crop             Crop the input video to x:y:width:height.
fifo             Buffer input images and send them when they are requested.
format           Convert the input video to one of the specified pixel formats.
hflip            Horizontally flip the input video.
noformat         Force libavfilter not to use any of the specified pixel formats
 for the input to the next filter.
null             Pass the source unchanged to the output.
pad              Pad input image to width:height[:x:y[:color]] (default x and y:
 0, default color: black).
pixdesctest      Test pixel format definitions.
pixelaspect      Set the pixel aspect ratio.
scale            Scale the input video to width:height size and/or convert the i
mage format.
slicify          Pass the images of input video on to next video filter as multi
ple slices.
unsharp          Sharpen or blur the input video.
vflip            Flip the input video vertically.
buffer           Buffer video frames, and make them accessible to the filterchai
n.
color            Provide an uniformly colored input, syntax is: [color[:size[:ra
te]]]
nullsrc          Null video source, never return images.
nullsink         Do absolutely nothing with the input video.

のオプションがあること。 vflip フリップ は素晴らしいものですが、私が行くべき場所にはたどり着けません。最低でも動画を90度回転させる機能が必要です。270度回転もあれば最高です。回転のオプションはどこに行ってしまったのでしょうか?

解決方法は?

時計回りに90回転させる。

ffmpeg -i in.mov -vf "transpose=1" out.mov

transposeパラメータに、渡すことができます。

0 = 90CounterCLockwise and Vertical Flip (default)
1 = 90Clockwise
2 = 90CounterClockwise
3 = 90Clockwise and Vertical Flip

使用方法 -vf "transpose=2,transpose=2" は180度分です。

ffmpegの最新版を使用していることを確認してください。 ここから (スタティックビルドで問題ありません)。

音声と動画の部分を再エンコードすることに注意してください。 . 通常、音声に触れることなくコピーすることができます。 -c:a copy . 映像の品質を変更するには、ビットレートを設定します(たとえば -b:v 1M をご覧ください。 H.264エンコーディングガイド VBRのオプションが必要な場合。

また、解決策として、この コンビニエンススクリプト .