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;
}