【问题标题】:FFMPEG - Get creation and/or modification dateFFMPEG - 获取创建和/或修改日期
【发布时间】:2015-10-11 01:13:22
【问题描述】:

我正在努力从我服务器上托管的 MP4 文件中获取修改日期。

我尝试了以下库:

ffmpeg -i video.mp4

没有任何运气。我得到的只是持续时间和其他一些字段,但我无法获得修改日期。我也试过 ffprobe 也没有。

有什么建议吗??

非常感谢

【问题讨论】:

  • 你的意思是unix mdate吗?或者 mp4 规范中的特定元数据字段 - 在这种情况下:哪个?即元数据字段的四字母代码/标签是什么?
  • 我不确定格式。我需要它来存储视频元数据。
  • 我想我可以得到文件附带的任何东西。在所有元数据之间,总是有创建和修改日期,所以我想我可以得到它。

标签: ffmpeg html5-video 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 的任何引用,因此请考虑使用exiftoolmediainfo

【讨论】:

  • 它说 -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 调查其输出。

      【讨论】:

        猜你喜欢
        • 2016-12-09
        • 2014-06-08
        • 1970-01-01
        • 2017-12-16
        • 2010-09-19
        • 1970-01-01
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多