首页 > 解决方案 > ffmpeg 在视频编码时忽略 -metadata 选项

问题描述

我有一个包含以下元数据的视频:

rotate : 90

我正在使用ffmpeg(从官方网站下载的Windows 4.0二进制文件)对其进行编码,我想删除此元数据信息。

如果我这样做:
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate= output.mp4
输出将删除元数据。

但如果我这样做:
ffmpeg -i input.mp4 -c:v libx264 -metadata:s:v:0 rotate= output.mp4
那么我仍然有不想要的元数据。

有没有办法在编码时删除元数据?

标签: videoencodingffmpegmetadatalibx264

解决方案


我遇到了与您看到的相同的问题,并发现了这个跟踪的问题:https ://trac.ffmpeg.org/ticket/6370

它证实了您所说的,编码时保留元数据字段,即使您试图删除它。

将补丁应用到作为注释附加的 ffmpeg 构建对我有用,即使在编码时,我也能够设置 rotate=0。https://trac.ffmpeg.org/attachment/ticket/6370/0001-Fix-rotation-metadata-override-when-transcoding.patch(至少在发布版本修复此问题之前)


推荐阅读