mediaInfo

来源:互联网 发布:group_concat mysql 编辑:程序博客网 时间:2024/05/16 15:17

MediaInfo

一、简介

MediaInfo 用来分析视频和音频文件的编码和内容信息。

MediaInfo可以获得多媒体文件的哪些信息?

内容信息:标题,作者,专辑名,音轨号,日期,总时间……

视频:编码器,长宽比,帧频率,比特率……

音频:编码器,采样率,声道数,语言,比特率……

文本:语言和字幕

段落:段落数,列表



MediaInfo支持哪些文件格式?

视频:MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2, MPEG-4, DVD (VOB)... (编码器:DivX, XviD, MSMPEG4, ASP, H.264, AVC...)

音频:OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...

字幕:SRT, SSA, ASS, SAMI...



MediaInfo有哪些主要功能和特点?

支持众多视频和音频文件格式

多种查看方式:文本,表格,树形图,网页……

自定义查看方式

信息导出:文本,CSV,HTML……

三种发布版本:图形界面,命令行,DLL(动态链接库)

与Windows资源管理器整合:拖放,右键菜单

国际化:有多种界面语言供选择 (软件界面)轻松实现本地化 (需要志愿者翻译语言文件)

MediaInfo主界面截图



二、源码获取途径

MediaInfo英文主页:

http://mediainfo.sourceforge.net/

MediaInfo中文主页:

http://mediainfo.sourceforge.net/zh-CN

MediaInfo开发者主页:

http://sourceforge.net/projects/mediainfo

源码svn下载地址:

https://mediainfo.svn.sourceforge.net/svnroot/mediainfo



三、使用指南

1. MediaInfo编译指南

支持Windows和Linux平台

推荐使用ms visual studio 2005。

    * MSVC : Microsoft Visual C++ 9 (aka 2005) (for Visual Studio 7 (aka 2002) or 8 (aka 2003), you can edit .sln and .xxproj to be compatible. - .sln : "...Format Version 9.00" to 7.00 - .xxproj : "Version="8.00" or "Version="7.10" to 7.00 This is not always tested, but you should easily be able to adapt them for your compiler)
    * BCB : Borland C++ Builder 6
    * DevCpp : Dev-C++ (Dev-Cpp is an IDE for MinGW) (I am working on this release, not stable)
    * MinGW : MinGW on Windows (I am working on this release, not stable)
    * GCC : Linux GCC (I am working on this release, not stable)

2. MediaInfo SDK

MediaInfo除了有GUI和CMD两种使用方法,还可以在程序中使用MediaInfo库。

MediaInfo库有静态链接和动态链接两种方式,MediaInfo SDK的相关官方资料如下:

    * Read this first (supported languages, versioning, conventions)
    * Different ways of using the library
    * How to begin quickly with MediaInfo
    * More information about the programming interface
    * The Doxygen documentation (full C++ API interface)



二、典型应用

MediaInfo的典型应用是使用其DLL库,用来提取媒体文件的信息。其特点是,支持的格式全、提取的信息丰富。当然,MediaInfo本身是开源的,其DLL库可以进行二次开发,可以扩充自定义格式,增加自定义功能。对于工程使用,MediaInfo模块和其它功能可以独立,使用上非常便捷,是一个值得推荐的开源工程。



三、相关源码

关于媒体信息解析,ffmpeg的libformat是用于媒体文件解析的,是parser的功能,支持格式也非常全,和MediaInfo有想通之处,在使用MediaInfo时遇到问题可以借鉴libformat的源码。