我只想更改 .mp4 视频文件中的旋转标志。存在许多类似的问题,大多数答案建议使用
ffmpeg -i input.mp4 -map_metadata 0 -metadata:s:v rotate=90 -codec copy output.mp4
Run Code Online (Sandbox Code Playgroud)
我对这些解决方案的问题是,即使它复制了大部分元数据,也会丢失一些部分,并且文件小 700kb。附件是来自 ffprobe 和 exifer 的元数据之前和之后。
另一个奇怪的发现是 ffmpeg rotate=90 命令进行 ccw 旋转,在 ffprobe 中元数据中为 (cw) 270°,但在 displaymatrix 侧数据中为 (ccw)90°。
= equal attributes
* altered attributes
- removed attributes
+ added attributes
Run Code Online (Sandbox Code Playgroud)
*Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\input.mp4':
= Metadata:
* major_brand : avc1
* minor_version : 0
* compatible_brands: avc1isom
= creation_time : 2016-10-29T12:10:41.000000Z
- firmware : HD3.11.03.03
* Duration: 00:00:06.01, start: 0.000000, bitrate: …Run Code Online (Sandbox Code Playgroud) 我想更改 JPEG 图像中的 EXIF 方向标签,但不实际旋转它们。我想这样做是为了将它们用作我制作的应用程序的测试用例。
我如何在 Linux 中做到这一点?我可以用exiftool吗?如果是这样,如何?
我知道如何手动完成。现在我想根据 EXIF 数据自动执行该操作。我已经exiftool安装了,但是貌似只能读取数据,不能旋转图片。
在 SU 上有一个关于 Ubuntu 的类似问题。但我正在寻找使用 OSX 的可能解决方案。
我想在 Gimp 中编辑 JPG EXIF 数据。也许我需要一个插件什么的,但我不知道如何搜索和下载插件。另外,当 Gimp 打开 JPG 时,它会将其转换为 XCF 格式。希望当我再次导出它时,EXIF 数据仍然存在。谢谢。
目前我使用带有-all=选项的exiftool,它会从我的照片中删除所有 EXIF 数据:
exiftool -overwrite_original -all= /Users/andyl/photos/*.jpg
Run Code Online (Sandbox Code Playgroud)
现在我希望 exiftool 删除所有 EXIF 信息,但不删除照片的标题、标题和关键字。
我怎么能做到这一点?
使用时exiftool -all:all= file.pdf出现此消息:
ExifTool PDF 编辑是可逆的。删除的标签可能会被恢复!
使用 ExifTool 时可以阻止标签恢复吗?它可以在不保存以前的信息的情况下擦除/覆盖它们吗?
PDF就是一个例子。我知道 MAT2,但我不想像 MAT2 那样重建和光栅化文件。
我有一些视频文件已转换为 MP4,但不完全正确。当我使用 exiftool 检查元数据时,我看到以下元数据值:
Duration : 0:11:23
Track Duration : 0:11:23
Media Duration : 0:04:13
Run Code Online (Sandbox Code Playgroud)
最后一项是不正确的。在 VLC 媒体播放器中,视频播放得很好,但我用来在网络应用程序中播放视频的工具 (Flowplayer) 会认真对待“媒体持续时间”值并截断视频。
为了修复我尝试过的元数据
exiftool -"Media Duration"="0:11:23" video_1.mp4
Run Code Online (Sandbox Code Playgroud)
但我得到了
Warning: Sorry, Media is not writable
Nothing to do.
Run Code Online (Sandbox Code Playgroud)
须藤没有帮助。根据其手册页和网站,exiftool可以读取和写入 MP4 文件上的元数据,但“如果 ExifTool 检测到文件格式存在重大问题,则它不会重写文件。”
我该如何修复这些文件?
编辑:我对 ffmpeg 或 mediainfo 没有运气。
当用来exiftool分析我拥有的一些视频时,我注意到许多视频本身创建所固有的日期标签(因此不是像上次访问或修改日期这样的日期)。也就是说,这是我发现的:
Create Date (CreateDate)
Track Create Date (TrackCreateDate)
Media Create Date (MediaCreateDate)
CreationDate (CreationDate)
Run Code Online (Sandbox Code Playgroud)
前三个似乎完全相同,而最后一个似乎在日期和时间之后还包含时区(例如,2017:06:22 16:36:20+01:00)。
所有这些之间有什么区别?如果我想根据捕获的日期/时间重命名文件,哪一个是最“可靠”的?
我一直在尝试使用 exiftool 更改 mp4 文件中的元数据日期。我只能让它更改 Windows 文件资源管理器中显示的“日期”(无论是什么)和“媒体创建”字段。但是,我使用 Photoshop Elements 组织我的图片和视频,这似乎只能读取“创建日期”和“修改日期”字段。这些字段似乎抵制了我使用“exiftool”-modifydate 修改它们的所有尝试
好吧,20 小时后了。感谢大家的有用回复。Photoshop 似乎读取系统日期(日期、修改日期、创建日期),现在我明白为什么 exiftool 不会写入这些日期。相反,我找到了一个免费工具 - Bulk File Changer - 除其他外,它允许您更改创建、修改和访问日期,并可以选择从各个文件名中读取所需的日期,这正是我想要的,因为我的所有文件名都以原始创作的日期和时间!我还没有弄清楚 UTC 的问题,但由于我住在英国,时间离 UTC 永远不会太远 - 足够近来编录家庭照片和视频。
对于几千个 .docx 和 .pdf 文件,我只丢失了文件名末尾的文件扩展名。那么如何使用 ExifTool 将它们批量附加到现有 FileName 的末尾?
注意 1. 文件没有任何改变,只是文件扩展名丢失。我可以通过 ExifTool.exe 将文件一一拖放来查看文件的文件类型,但这需要很长时间。
注意2.我使用的是Windows,所以我需要它的Windows版本。
谢谢
我正在尝试制作一个执行以下 DOS 命令的批处理文件:
exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S.%%e" "C:\Users\Tom\Desktop\belvedere"
Run Code Online (Sandbox Code Playgroud)
(仅供参考,exiftool.exe 是从数码照片中提取 EXIF 数据的脚本。在上面的命令中,我告诉它查看我的桌面\belvedere 目录并使用 Date_Time.extension 重命名所有照片,例如 20120131_113015.jpg)
如果我将上面的命令粘贴到 DOS 命令提示符中,它工作正常。但是,如果我将此命令粘贴到文本文件中,将其命名为 something.bat 并运行此批处理文件,则效果不佳(它将一张照片重命名为“mHS.JPG”,然后出现错误。我相信 % 字符是问题。有谁知道我如何制作一个有用的 .bat 文件来运行这个命令?
我使用的是 Windows 7,如果这有区别的话。提前致谢。
有时我有我想要包含某个 DPI 设置的图像文件。请注意,我的意思只是 DPI 值,即图像元数据中的值。我不想调整实际图像的大小。因此,例如,更高的 DPI 将导致以厘米为单位的更小尺寸,以及相同数量的像素。
我知道我可以使用convert带有-density参数的ImageMagick 设置或更改图像的 DPI ,但这会重新编码图像。我想避免这种情况。
有没有办法,使用 ImageMagick 或其他东西(例如 ExifTool 或其他东西)来显式设置 JPEG 的 DPI 值而不更改实际的压缩图像内容本身?
请注意,我正在使用 OS X 并寻找一个命令行工具来执行此操作(我想在 shell 脚本中使用它)。
ExifTool是一个用于修改图像元数据的强大工具。指定图像的日期和时间的简单命令行是什么?