使用MediaInfo.dll获取是媒体文件信息

MediaInfo是一款专门用来分析音视频文件编码和内容信息的开源软件,提供的形式有多种:桌面应用程序,命令行下的使用,动态库。

动态库的下载方式:
官网地址MediaInfo
在这里插入图片描述
在这里插入图片描述

下载完成之后解压后有一下文件,主要用的东西在MediaInfoLib中,剩下两个文件是辅助库。
在这里插入图片描述
找到MediaInfo.dll 和MediaInfoDLL.h文件(可能文件下面没有dll文件,这是可以自己打开里面已有的vs工程,自己主动编译一遍就有了)。
在这里插入图片描述

下面介绍一下简单的使用:

#include <iostream>
#include <String>
#include "MediaInfoDLL.h"
using namespace MediaInfoDLL;
using namespace std;

int main(int argc, char **argv)
{
	MediaInfo MI;             //创建对象
	MI.Open(__T("test.mp4")); //打开一个音频或者视频文件,参数类型不是const char*,是个String类型,需要用__T字符集转换一下
	
	String toDisplay_CompleteInfo;
	String toDisPlay_Duration;
	String toDisPlay_AudioFormat;
	String toDisPlay_BitRate;

	MI.Option(__T("Complete")); //获取媒体的完全信息
	toDisplay_CompleteInfo = MI.Inform();

	wcout << toDisplay_CompleteInfo << endl;

	toDisPlay_Duration    = MI.Get(stream_t::Stream_Video, 0, __T("Duration"));//获取视频的时长信息
	toDisPlay_AudioFormat = MI.Get(stream_t::Stream_Video, 0, __T("Format"));  //获取视频格式
	toDisPlay_BitRate     = MI.Get(stream_t::Stream_Video, 0, __T("BitRate")); //获取视频码率
	
	wcout << toDisPlay_Duration << endl;
	wcout << toDisPlay_AudioFormat << endl;
	wcout << toDisPlay_BitRate << endl;
	
	MI.Close();  //关闭文件

	system("pause");
	return 0;
}

在这里插入图片描述

可以看到已经获取到我们想要的信息的信息了~;我们平常使用并不会用什么Inform。我们一般是取某个标签的值,比如格式、时长等等…;

每种格式的文件,它头文件的格式不一样,包含的标签数也不一样
获取标签信息的时候最麻烦的就是传递参数不知道是什么,一面有一篇博客总结了所有的参数;MediaInfo参数大全

其实MediaInfo官网也有文档,方便我们查看:
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值