4

我需要从视频文件中提取元数据信息以及该文件的缩略图。为此,我尝试了 ffmpeg,元数据(例如持续时间、分辨率、编解码器、creation_time 等)可以在标准输出上看到。如果我需要使用这些,我应该解析标准输出并提取我需要的元数据。

我还阅读了有关提供元数据的 MediaInfo 实用程序的信息。我不确定它是否可以提供缩略图。我还知道 MediaInfo 在后台不使用 ffmpeg。

我想知道是否有人同时具备 ffmpeg 和 MediaInfo 的工作知识,以及关于我上面提到的要求,是否有人可以建议两者中的哪一个更适合。

两者的内存占用比较也很好。

4

3 回答 3

7

您应该按照其他答案中的说明直接使用底层库。

但是,为了完整起见,如果您坚持使用单独的 shell 进程,请不要解析 FFmpeg 的输出。相反,请使用FFprobe,这是一种鲜为人知的工具,专门用于补充 FFmpeg 并简化元数据提取。

此外,可以使用 FFmpeg 或多或少地像这样生成缩略图:

ffmpeg [-ss 10] -i input.avi -vframes 1 -s 320x240 thumbnail.png

调整大小以适应口味,并使用可选-ss参数从视频开头以外的某个点抓取图像。

于 2012-07-13T22:59:25.233 回答
3

正确答案既不是 ffmpeg 也不是 mediainfo。好吧,无论如何都不是完整的可执行文件。

ffmpeg 由一系列库组成,包括libavformat允许您使用多媒体容器格式的库。Martin Böhme 的使用 libavformat 和 libavcodec应该会给你一个很好的介绍。

于 2012-07-11T08:08:48.140 回答
2

据我所知,MediaInfo 是开源的(见这里),它的库可以在 C++ 或 C# 的 Windows 环境(它是一个 dll)中使用。无需解析输出。它有开发人员的文档和一些示例。

我不认为它可以提取缩略图。

于 2012-07-11T10:19:56.693 回答