`

MediaInfo源代码分析 1:整体结构

 
阅读更多

注:此前已经写了一系列分析MediaInfo源代码的文章,列表如下:
MediaInfo源代码分析 1:整体结构
MediaInfo源代码分析 2:API函数
MediaInfo源代码分析 3:Open()函数
MediaInfo源代码分析 4:Inform()函数
MediaInfo源代码分析 5:JPEG解析代码分析

===================

MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码)。之前编程的时候,都是直接调用它提供的Dll,这次突然来了兴趣,想研究一下它内部究竟是怎么实现的。

MediaInfo的源文件可以从Sourceforge上面下载,地址:http://sourceforge.net/projects/mediainfo/

在这里我使用的是 Media Player Classic (MPC-HC)源代码自带的MediaInfo库,内容应该都是一样的。

MPC-HC把MediaInfo整合到了它的“属性”选项卡中。

使用VC2010打开MPC-HC之后,可以看到MediaInfo的库的源代码如下图所示:

展开Source Files(文件太多,截图竟然截不下来= =):

在此首先介绍几个我已知的几个文件夹中的源代码的功能:

Archive:支持的各种压缩文档,由图可见包括7z,rar,zip,tar等格式

Audio:支持的各种音频编码方式,由图可见包括aac,ac3,ape等等

Duplicate:不知道干啥的

Export:设置导出的格式,由图可见可以导出为MPEG7格式

Image:支持的图片压缩编码方式,由图可见包括bmp,jpeg,等格式

Muitiple:支持的文件封转格式。由图可见包括flv,mp4,mkv等格式

Reader:支持的输入方式。我一直以为MediaInfo只支持文件输入,后来发现还支持MMS这样的流媒体输入

Tag:支持的标签,包括idv3等等

Text:支持的文本。这个用的比较少

Video:支持的视频编码。由图可见包括H.264,H.263等。令人瞩目的是,也支持HEVC。

先分析这么多吧,以后有空再写。

分享到:
评论

相关推荐

    MediaInfo调用MFC源码及Lib

    1. **加载文件**:首先,你需要使用`MediaInfo_Open()`函数打开你要分析的多媒体文件,该函数会返回一个句柄,用于后续的操作。 2. **提取信息**:接着,你可以调用`MediaInfo_Inform()`或`MediaInfo_Get()`函数,...

    媒体分析MediaInfo

    1. **MediaInfo简介** MediaInfo是一款开源、跨平台的软件,支持Windows、Mac OS X以及Linux操作系统。它的主要功能是提取并显示多媒体文件的各种元数据,包括视频、音频、字幕等各个层面的技术规格。通过MediaInfo...

    mediainfo_0.7.31.rar

    这个“mediainfo_0.7.31.rar”压缩包包含了mediainfo的源代码,版本为0.7.31,适合开发者用于学习、定制或在Visual Studio环境下进行编译。 Mediainfo的源码是用C++编写的,它的设计目标是提供一个跨平台的解决...

    MediaInfo视频编码分析查询器

    "MediaInfo视频编码分析查询器"是一款专门用于分析和查询视频文件编码信息的工具,它可以帮助用户深入了解视频文件的技术细节,包括编码格式、分辨率、帧率、音频编码、比特率等关键参数。在数字媒体领域,了解这些...

    视频检测 MediaInfo

    MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码,许可协议:GNU GPL/LGPL)。 支持格式:视频:MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2, MPEG-4...

    MediaInfo_GUI_19.09_Windows.exe

    Video: MPEG-1/2 Video, H.263, MPEG-4 Visual (including DivX, XviD), H.264/AVC, H.265/HEVC, FFV1... Audio: MPEG Audio (including MP3), AC3, DTS, AAC, Dolby E, AES3, FLAC... Subtitles: CEA-608, CEA-...

    MediaInfo音视频信息解析类

    MediaInfo是一款强大的多媒体信息分析工具,它能够详细地解析音频和视频文件的各种元数据,包括编码格式、比特率、采样率、声道数等。MediaInfo提供了DLL动态链接库的形式,方便开发者将其集成到自己的应用程序中,...

    MediaInfo_CLI_0.7.99_Windows_x64.zip

    MediaInfo遵循开源许可,可能使用的是GPL或MIT等开放源代码许可证,允许自由使用和分享。 4. **History.txt**:这是一个版本历史记录文件,列出了该版本的更新内容、改进和修复的bug,帮助用户了解软件的发展历程...

    mediainfo媒体分析工具

    **MediaInfo 媒体分析工具** MediaInfo 是一款强大的媒体信息分析工具,它能够提供详尽的多媒体文件元数据信息,包括视频、音频、字幕等不同轨道的数据。这款工具对于媒体处理、流媒体研究、视频编码和解码、内容...

    视频音频编码分析软件MediaInfo0.7.7.6

    MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码,许可协议:GNU GPL/LGPL)。 MediaInfo可以获得多媒体文件的哪些信息? 内容信息:标题,作者,专辑名,音轨号,...

    MediaInfo_software

    MediaInfo 是一款强大的媒体信息查看工具,专门用于分析和提取各种多媒体文件的详细技术信息。这个软件可以帮助用户轻松地了解视频、音频文件的编码格式、分辨率、比特率、采样率等关键参数,从而在处理多媒体文件时...

    Mediainfo获取视频信息

    在Windows环境下,Visual Studio(如VS2010)这样的集成开发环境可以用于编译和调试Mediainfo的源代码,以便根据需要进行定制或扩展。 在具体应用中,Mediainfo可以为我们提供以下关键的视频信息: 1. 视频编码:...

    mediainfo.js:使用emscripten将MediaInfo移植到Web

    它使用从C ++源代码编译而来。演示版在浏览器中尝试mediainfo.js: ://mediainfo.js.org用法浏览器您可以使用CDN将脚本文件直接包含在页面中,也可以使用JavaScript捆绑程序(例如webpack)。 CDN : [removed]...

    linux中编译的mediainfo执行程序

    Linux中的 Mediainfo 执行程序是用于分析多媒体文件元数据的工具,它可以从音频、视频文件中提取出详细的格式和技术信息。 Mediainfo 源码编译后生成的可执行程序可以在各种Linux发行版中运行,这得益于其跨平台的...

    linux下mediainfo和依赖库文件

    1. `libmediainfo.so.0`:这是`Mediainfo`的动态链接库文件,它包含了运行`Mediainfo`所需的函数和数据结构。在Linux系统中,动态链接库可以在程序运行时被加载,而不是在编译时嵌入到可执行文件中,这样可以节省...

    MediaInfo-64位

    MediaInfo的一大优点是开源且跨平台,它的源代码遵循GPLv2许可协议,这意味着用户可以自由查看、修改并分发源代码。此外,MediaInfo还提供了命令行版本和图形用户界面版本,以满足不同用户的需求。 总的来说,...

    各种视频信息查看工具(MediaInfo)

    8. **开源项目**:MediaInfo是开源软件,遵循GPL许可证,这意味着源代码公开,用户可以自由查看、修改和分发。 在实际应用中,MediaInfo的使用场景广泛: - **视频编辑**:在剪辑和后期制作过程中,MediaInfo可以...

    MediaInfo_GUI_21.03_Windows.zip

    MediaInfo是一款强大的多媒体信息分析工具,它主要用于获取和展示各种音视频文件的详细技术信息。这个软件可以帮助用户深入了解媒体文件的编码方式、流信息、元数据等关键参数,对于视频编辑、媒体处理以及问题排查...

    MediaInfo_20.03.dmg.zip

    MediaInfo是一款强大的多媒体信息分析工具,专为用户提供详细的音频、视频文件元数据。这款软件在全球范围内广受欢迎,因其用户友好的界面和免费无限制的特性而备受赞誉。MediaInfo_20.03.dmg.zip是针对Mac OS平台的...

    MediaInfo_GUI_20.03_Windows(多媒体文件分析图形化工具)

    使用MediaInfo可以分析多媒体的信息如下: 内容信息:标题,作者,专辑名,音轨号,日期,总时间…… 视频:编码器,长宽比,帧频率,比特率…… 音频:编码器,采样率,声道数,语言,比特率……

Global site tag (gtag.js) - Google Analytics