天天看点

【ffmpeg】(二)——打开文件打印视频信息

code

#include<iostream>

extern "C" {
#include "libavformat\avformat.h"		// 声明部分
}

#pragma comment(lib, "avformat.lib")
#pragma comment(lib, "avutil.lib")

using namespace std;

int Xerror(int ret) {
	char buf[1024] = { 0 };
	av_strerror(ret, buf, sizeof(buf));
	printf(buf);
	getchar();

	return -1;
}

int main(int argc, char* argv[]) {

	char* inUrl = "./test.mp4";

	// 1. 注册
	//av_register_all();

	// 2. 初始化网络
	//avformat_network_init();

	// 3. 打开文件
	AVFormatContext* ictx = NULL;

	int ret = avformat_open_input(&ictx, inUrl, 0, 0);
	if (ret != 0)
	{
		return Xerror(ret);
	}
	else
	{
		printf("open %s successfully \n", inUrl);
	}

	// 获取视频流信息
	avformat_find_stream_info(ictx, 0);

	// 打印信息
	av_dump_format(ictx, 0, inUrl, 0);
	

	printf("test ffmpeg register finish \n");

	getchar();
	return 0;
}
           

继续阅读