问题

我一直在尝试弄清楚如何使用FFmpeg旋转视频.我正在使用以肖像模式拍摄的iPhone视频.我知道如何使用 mediainfo (优秀的库,顺便说一句)确定当前的旋转度,但我现在卡在FFmpeg上.

从我读过的内容来看,你需要使用的是一个vfilter选项.根据我看到的,它应该是这样的:

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

但是,我无法让它工作.首先,-vfilters不再存在,它现在只是-vf.其次,我收到此错误:

 No such filter: 'rotate'
Error opening filters!
 

据我所知,我有一个all-options-on构建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.
 

拥有vtraps和htraps的选项很棒,但它们不会让我需要去哪里.我需要能够至少旋转90度的视频.270度也是一个很好的选择.旋转选项在哪里?

  最佳答案

顺时针旋转90:

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

对于转置参数,您可以传递:

 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),或者如果您想要VBR选项,可以查看 H.264编码指南.

解决方案也是使用这个方便脚本.

  相同标签的其他问题

ffmpegrotationvideo-processing