博客地址:http://blog.csdn.net/leixiaohua1020/article/details/12016231
?
=====================================================
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。
先分析這么多吧,以后有空再寫。