我有一个视频文件。 我使用MediaInfo效用打开它,我可以看到具有属性旋转90(与其它的属性,如CodecID标注,比特率等一起)在该文件中的视频流。
现在,我有没有这个属性旋转90另一个视频文件,它不具有旋转属性都没有。
我可以使用ffmpeg.exe因此,它产生的输出文件添加了旋转90属性,并没有其他的变化呢? 我真的不想做任何改变,只是想设置旋转属性。
我已经试过了-metadata
选项都无济于事。
我有一个视频文件。 我使用MediaInfo效用打开它,我可以看到具有属性旋转90(与其它的属性,如CodecID标注,比特率等一起)在该文件中的视频流。
现在,我有没有这个属性旋转90另一个视频文件,它不具有旋转属性都没有。
我可以使用ffmpeg.exe因此,它产生的输出文件添加了旋转90属性,并没有其他的变化呢? 我真的不想做任何改变,只是想设置旋转属性。
我已经试过了-metadata
选项都无济于事。
这适用于最近的FFmpeg:
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4
这将流拷贝的比特流,所以不进行编码。 只有第一视频流的元数据( v:0
)在这里改变,玩家将显示在旋转方式的视频。 (不是所有的玩家都会支持这一点。)
补充说明:
如果你想“物理”旋转视频,您必须使用transpose
过滤器 。 过滤将需要重新编码,所以你将不得不删除-c copy
。
如果省略-c copy
,并希望进行编码,而不是只能重新复用,然后ffmpeg
,如果有任何现有的旋转元数据会自动旋转视频。 您可以禁用这种行为-noautorotate
。