exiftool -v命令下Rotation属性缺失,FFmpeg转码元数据同步异常
解决方案
一、修正FFmpeg转码命令,同步元数据并保留视频方向
你的FFmpeg命令存在几个问题,导致元数据丢失和方向错误:
-c copy放在视频编码器之前,会被后续的-c:v hevc_qsv覆盖,虽然音频的-c:a copy有效,但参数顺序需要调整;- FFmpeg默认会自动应用旋转元数据将画面转成横屏,但不会保留旋转标签,导致输出文件丢失方向信息;
movflags use_metadata_tags仅同步部分基础元数据,GPS等复杂元数据需要额外参数支持。
修正后的命令:
ffmpeg -hwaccel qsv -i "VID_20220629_201116.mp4" \ -crf 27 -c:v hevc_qsv -global_quality 25 -vf "scale_qsv=1920:1080" \ -c:a copy -preset slow \ -map_metadata 0 -movflags use_metadata_tags+write_colr \ -autorotate 0 -metadata:s:v rotate="90" \ "VID_20220629_201116_h265 (2).mp4"
参数说明:
-map_metadata 0:完整同步源文件的所有元数据(包括GPS);-movflags use_metadata_tags+write_colr:增强元数据写入支持,覆盖更多标签类型;-autorotate 0:禁止FFmpeg自动旋转画面,保留原始方向标签让播放器识别;-metadata:s:v rotate="90":手动写入旋转元数据(对应源文件的90度竖屏)。
如果希望直接输出竖屏画面而非依赖播放器旋转,可去掉-autorotate 0,在滤镜后添加transpose=clock(对应90度顺时针旋转)。
二、解决PyExifTool无法捕获Rotation的问题
你手动执行exiftool看到的Rotation是工具计算生成的虚拟标签,并非文件中存储的原始标签。MP4视频的方向信息实际存在于QuickTime的Orientation标签中,取值与旋转角度的映射关系为:
- 1 = 正常(0度)
- 6 = 顺时针90度
- 8 = 逆时针90度
- 3 = 180度
在PyExifTool中,需要读取Orientation标签来获取方向信息,示例代码:
import exiftool with exiftool.ExifTool() as et: source_meta = et.get_metadata("VID_20220629_201116.mp4") # 获取原始Orientation值 orientation = source_meta.get("QuickTime:Orientation") # 映射为旋转角度 rotation_map = {1:0, 6:90, 8:270, 3:180} rotation = rotation_map.get(orientation, 0)
通过这种方式就能正确获取旋转角度,再将其写入目标文件的元数据中。
三、更优的元数据同步方案
如果FFmpeg的元数据同步仍有缺失,推荐用exiftool直接全量同步元数据,步骤如下:
- 先用FFmpeg完成转码(无需处理元数据,简化命令):
ffmpeg -hwaccel qsv -i "VID_20220629_201116.mp4" \ -crf 27 -c:v hevc_qsv -global_quality 25 -vf scale_qsv=1920:1080 \ -c:a copy -preset slow \ "VID_20220629_201116_h265 (2).mp4"
- 用exiftool将源文件的所有元数据复制到目标文件:
exiftool -TagsFromFile "VID_20220629_201116.mp4" -all:all "VID_20220629_201116_h265 (2).mp4"
该命令会完整复制源文件的GPS、方向、时间戳等所有元数据,覆盖目标文件的对应标签。如果需要保留转码后视频的编码信息,可添加-overwrite_original_in_place并排除特定标签:
exiftool -TagsFromFile "VID_20220629_201116.mp4" -all:all -exclude:VideoCodec -exclude:AudioCodec -overwrite_original_in_place "VID_20220629_201116_h265 (2).mp4"
内容的提问来源于stack exchange,提问作者SShah
相关产品推荐
相关产品推荐

