我可以设置旋转领域与FFmpeg的视频流?(Can I set rotation field for

2019-07-21 08:10发布

我有一个视频文件。 我使用MediaInfo效用打开它,我可以看到具有属性旋转90(与其它的属性,如CodecID标注,比特率等一起)在该文件中的视频流。

现在,我有没有这个属性旋转90另一个视频文件,它不具有旋转属性都没有。

我可以使用ffmpeg.exe因此,它产生的输出文件添加了旋转90属性,并没有其他的变化呢? 我真的不想做任何改变,只是想设置旋转属性。

我已经试过了-metadata选项都无济于事。

Answer 1:

这适用于最近的FFmpeg:

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4

这将流拷贝的比特流,所以不进行编码。 只有第一视频流的元数据( v:0 )在这里改变,玩家将显示在旋转方式的视频。 (不是所有的玩家都会支持这一点。)

补充说明:

  • 如果你想“物理”旋转视频,您必须使用transpose过滤器 。 过滤将需要重新编码,所以你将不得不删除-c copy

  • 如果省略-c copy ,并希望进行编码,而不是只能重新复用,然后ffmpeg ,如果有任何现有的旋转元数据会自动旋转视频。 您可以禁用这种行为-noautorotate



文章来源: Can I set rotation field for a video stream with FFmpeg?