FFmpeg でビデオを回転する [closed] 質問する

FFmpeg でビデオを回転する [closed] 質問する

私はFFmpegで動画を回転させる方法を見つけようとしています。私はiPhoneの縦向きモードで撮影した動画を扱っています。現在の回転角度を判定する方法は知っています。メディア情報(ちなみに、素晴らしいライブラリです) しかし、私は現在 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.

vfliphflipのオプションがあるのは素晴らしいことですが、それだけでは必要な機能が得られません。少なくともビデオを 90 度回転させる機能が必要です。270 度回転できるオプションがあればさらに素晴らしいでしょう。回転オプションはどこに行ったのでしょうか?

ベストアンサー1

時計回りに90度回転します。

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

転置パラメータには以下を渡すことができます:

0 = 90° counterclockwise and vertical flip (default)
1 = 90° clockwise
2 = 90° counterclockwise
3 = 90° clockwise and vertical flip

-vf "transpose=2,transpose=2"180度で使用します。

必ず最新のFFmpegバージョンを使用してくださいここから(静的ビルドは問題なく動作します)。

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

解決策としては、これを使うことも便利なスクリプト

おすすめ記事