ffmpeg 中的电影密钥元数据不正确

ffmpeg 中的电影密钥元数据不正确

看来 ffmpeg 错误地将密钥元数据复制到了 UserData atom,而 macOS 14 QuickTime 播放器或照片无法读取它。

例如:input.movmacOS 14 QuickTime 播放器和照片显示的作者、标题、描述、关键字、GPS、日期的 Keys 标签:

exiftool -a -G1 -s -n -Keys:All input.mov
[Keys]          Author                          : Author
[Keys]          Description                     : Description
[Keys]          Keywords                        : Keyword 1,Keyword 2
[Keys]          UserRating                      : 3
[Keys]          Title                           : Title
[Keys]          GPSCoordinates                  : -36.6101 -66.91515 119.9
[Keys]          CreationDate                    : 2001:01:01 12:00:00+02:00

.MP4然后使用 ffmpeg 的选项重新编码应该保存元数据:

ffmpeg -i input.mov -c:v libx265 -tag:v hvc1 -c:a aac -movflags use_metadata_tags -map_metadata 0 output.mp4

但 QuickTime 播放器和照片不再显示这些标签output.mp4

一种解决方法是使用 exiftool 修复错误的密钥元数据:

exiftool -m -overwrite_original -api LargeFileSupport=1 -Keys:All= -tagsFromFile @ -Keys:All output.mp4

https://exiftool.org/forum/index.php?topic=15418.msg82847#msg82847

因此看来 ffmpeg '-movflags use_metadata_tags' 错误地复制了这些密钥,而 '-map_metadata 0' 仅保留了 'QuickTime:CreateDate'。

问题:是否有选项可以使用 ffmpeg 正确保存 .mp4、.m4v 和 .mov 中的 Keys 元数据?

相关内容