Phil Harvey提供了一些使用Exiftool在http://owl.phy.queensu.ca/~phil/exiftool/exiftool_pod.html#writing_examples处写照片元数据的优秀示例。
根据Phil的例子,我在更新JPG的现有元数据字段时没有任何问题。但是,我现在正试图将相同的逻辑应用于视频元数据(MOV包装的H.264),但没有取得任何成功。根据拍摄的iPhone 5(iOS 7.1),我有一个颠倒的视频 - 旋转值为180而不是0.所以我正在执行“exiftool -Rotation = 0 [文件名]”但是我得到的结果是:
更新了0个图像文件
1个图像文件不变
视频元数据是否有根本不同的东西?这可能是权限问题吗?我的执行声明不正确吗?是否有更好的方法?
谢谢!
截至7月10日更新: 根据Exiftool网站http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Composite.html再次提到,我发现旋转字段无法编辑:
标记名称:旋转
可写:N
派生自:QuickTime:MatrixStructure,QuickTime:HandlerType
不幸的是,当我尝试通过Exiftool更新MatrixStructure(也显示为“Matrix Structure”)时,它也失败了 - “警告:抱歉,MatrixStructure不可写。”
所以看起来不可能在这里编辑相关的元数据。然而,虽然我正在使用的VLC和视频转码器兼容iPhone文件,但Adobe Premiere Pro CC和QuickTime播放器都正常使用该文件。因此,除了轮换之外,当前元数据中肯定存在某些东西。
再次感谢。
答案 0 :(得分:3)
Phil Harvey 解释了更新该特定代码here的问题。 。
作为替代解决方案,我设法使用
获取mp4文件的无损旋转ffmpeg -i input.mp4 -metadata:s:v rotate="180" -codec copy output.mp4
适用于我颠倒的GoPro视频。
视频在VLC上播放正确但不是Mediaplayer classic。
答案 1 :(得分:2)
您可以使用最新的Exiftool来旋转MOV。
https://www.sno.phy.queensu.ca/~phil/exiftool/
exiftool -Rotation=0 *.mov
请参考下表设置旋转。 它将应用QuickTime MOV的Track1中的值。
MatrixStructure 0 1 0 -1 0 0 1080 0 1
垂直,主页按钮关闭,旋转= 90
MatrixStructure 1 0 0 0 1 0 0 0 1
水平,主页按钮为右,旋转= 0
MatrixStructure 0 -1 0 1 0 0 0 1920 1
垂直,主页按钮启用,旋转= 270
MatrixStructure -1 0 0 0 -1 0 1920 1080 1
水平,主页按钮,旋转= 180