私は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.
vflipとhflipのオプションがあるのは素晴らしいことですが、それだけでは必要な機能が得られません。少なくともビデオを 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 オプションが必要な場合。
解決策としては、これを使うことも便利なスクリプト。