将文件创建日期复制到 ffmpeg 中的元数据

将文件创建日期复制到 ffmpeg 中的元数据

我想将 mp4 文件的文件创建日期复制到文件的元数据中。我很确定这可以通过 ffmpeg 和一些漂亮的 Linux 命令来完成。

答案1

使用 exiftool 的部分答案。

exiftool -tagsFromFile inputfile.mov -MediaCreateDate outputfile.mp4

这可以在 ffmpeg 转换后完成。

这不依赖于文件修改时间,而是依赖于视频创建时间,这可能与文件创建时间不同。

根据创建视频元数据的设备,元数据可以是 DateTimeOriginal、MediaCreateDate、ContentCreateDate 等。检查与

exiftool -s -time:all inputfile.mov

答案2

您可以通过参数使用 FFmpeg 设置元-metadata数据

MP4 支持年份属性,但我只让它与 VLC 中显示的“日期”字段(如果只有一年)和 MPlayer 和 Winamp 中显示的完整日期没有问题。

date通过 VLC 设置年份并使用 FFmpeg 转储元数据找到了该属性

要将日期设置为上次修改的时间(作为完整日期,如2014-11-13),请使用以下内容:

ffmpeg -i inputfile.mp4 -metadata date="$(stat --printf='%y' inputfile.mp4 | cut -d ' ' -f1)" -codec copy outputfile.mp4

最后修改的检测肯定可以做得更好,另外,我不确定日期元数据的使用有多广泛,但它在我的情况下有效。

相关内容