FFMPEG - 获取创建和/或修改日期
Posted
技术标签:
【中文标题】FFMPEG - 获取创建和/或修改日期【英文标题】:FFMPEG - Get creation and/or modification date 【发布时间】:2015-10-11 01:13:22 【问题描述】:我正在努力从我服务器上托管的 MP4 文件中获取修改日期。
我尝试了以下库:
ffmpeg -i video.mp4
没有任何运气。我得到的只是持续时间和其他一些字段,但我无法获得修改日期。我也试过 ffprobe 也没有。
有什么建议吗??
非常感谢
【问题讨论】:
你的意思是unix mdate吗?或者 mp4 规范中的特定元数据字段 - 在这种情况下:哪个?即元数据字段的四字母代码/标签是什么? 我不确定格式。我需要它来存储视频元数据。 我想我可以得到文件附带的任何东西。在所有元数据之间,总是有创建和修改日期,所以我想我可以得到它。 【参考方案1】:用ffprobe
获取creation_time
:
ffprobe -v quiet input.mp4 -print_format json -show_entries stream=index,codec_type:stream_tags=creation_time:format_tags=creation_time
查看所有标签:
ffprobe -v quiet input.mp4 -print_format json -show_entries stream_tags:format_tags
我找不到对modification_time
的任何引用,因此请考虑使用exiftool 或mediainfo。
【讨论】:
它说 -v 不是 ffprobe 的选项,当我删除它时,它说 -print_format 也是如此 您可能使用的是旧版本。我向您保证,这些参数对于最新版本是正确的。检查ffmpeg.org/ffprobe.html 我没有在输出中得到creation_time
。
@RichardWiseman 只有在格式元数据中才会显示它【参考方案2】:
我检查了你,确实,mp4 在 MDHD 中有一个修改时间条目,但它没有导出(参见 code)。您可以提交enhancement request 以将此元数据功能添加到 FFmpeg,但现在它对您没有帮助,您需要其他工具来读取此字段。
【讨论】:
【参考方案3】:在输出方面比 aergistal 更简单的替代方法是
$ ffprobe -v quiet -select_streams v:0 -show_entries stream_tags=creation_time -of default=noprint_wrappers=1:nokey=1 input.mp4
它只会像这样打印创建时间:
2020-07-23T11:51:02.000000Z
【讨论】:
【参考方案4】:如果 ffmpeg 没有为您提供创建日期元数据,则它可能根本不存在于文件中。实用程序“mediainfo”可以显示更多信息,可能值得针对您的 mp4 调查其输出。
【讨论】:
以上是关于FFMPEG - 获取创建和/或修改日期的主要内容,如果未能解决你的问题,请参考以下文章