MediaInfo 获取视频 文件的相关信息
MediaInfo是个开源的软件,它可以获取视频的相关参数信息。其地址为:
https://sourceforge.net/projects/mediainfo/files/source/mediainfo/
我们可以把它下载下来,只使用其中的MediaInfoDLL.h 和 MediaInfo.dll .我用的是2017年5月23号最新的那个。
将它引用到你的工程下面,引用头文件,将MediaInfo.dll 放到你的运行程序的目录之下。
#include "stdafx.h"
#include "MediaInfoDLL.h"
#include <iostream>
using namespace MediaInfoDLL;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
MediaInfo MI;
MI.Open("test2.mp4");
MI.Option("Complete");
std::string p = MI.Inform();
std::string str1("Codec ID");
//std::wstring kk = s2ws(str);
std::string str = MI.Get(Stream_General,0,"OverallBitRate");
MI.Close();
std::cout<<p;
int i = 100;
return 0;
}
注意这里你的工程最好要设置一下字符集,要么用UNicode,要么不用。我没用,麻烦!
上面的代码中,用Get函数获取某个字段的值,这个字段到底是什么呢?去哪里查看?
假如我想获取当前码率,
- 1去E:\tools\mediainfo_0.7.95_AllInclusive\mediainfo_AllInclusive\MediaInfoLib\Source\Resource\Text\Stream
目录下,找到 General.csv 文件,这个目录下的文件,分别对应每个group中参数的值们。
- 2打开General.csv 文件找对应的字段,比如说码率(混合码率)Overall bit rate 对应的字段是OverallBitRate
然后在get函数中使用就可以了。