当我转换.MOV从iPhone 4的文件和.3gp使用在Android与FFMPEG。 我需要旋转视频90辈分,但iPhone 4S需要180个辈分...
有没有什么办法解决这一问题?
当我转换.MOV从iPhone 4的文件和.3gp使用在Android与FFMPEG。 我需要旋转视频90辈分,但iPhone 4S需要180个辈分...
有没有什么办法解决这一问题?
我不记得的Android如何处理这一点,但在MOV文件元数据的iPhone记录方位信息。 根据相机是如何保持在录制时,视频可能需要0,90,180,甚至270旋转转换后直立玩。 到目前为止,我不知道任何添加到FFmpeg的解析这个元数据,所以你必须做手工用 ffprobe -show_streams
或类似的东西,然后适当地设置旋转。
更新 :作为执黑执白指出的ffmpeg现在所做的检测,视频旋转,但还没有提供自动旋转修复。 相反,你仍然必须解析出旋转的信息和使用的组合transpose
, vflip
和hflip
视频滤波器正确旋转视频。
较新的ffmpeg返回旋转:元数据标头(当您运行ffmpeg -i
),指定视频是旋转的角度,所以你不必自己分析旋转矩阵,可以仅仅通过使用FFmpeg的过滤器旋转视频。
例如,如果ffmpeg的输出旋转:90那么您可以运行类似:
ffmpeg -y -i rotated_vid.mov -vf "transpose=1" correct_video.avi
我使用的程序调用的MediaInfo谁显示方位角,并把在FFmpeg的选项:
-vf%ROTATE%
在FFMPEG的情况下,95%的理解方向,但也有一些情况下,在一些硬件...