其实具体的代码ffmpeg的官方demo做的功能已经很完善了,自己也就修修补补,下面直接上代码
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <tchar.h>
//这里是个坑,不加extern "C",死活编译不过
extern "C"
{
#include "libavformat/avformat.h"
};
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
AVOutputFormat *ofmt = NULL;
//创建输入AVFormatContext对象和输出AVFormatContext对象
AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;
AVPacket pkt;
const char *in_filename;
int ret, i;
int stream_index = 0;
int *stream_mapping = NULL;
int stream_mapping_size = 0;
in_filename = “C:\\test.h264”;
//产生对应的录像文件名
SYSTEMTIME systime;
GetLocalTime(&systime);
char cTime[128];
sprintf(cTime,"%4d/%02d/%02d %02d:%02d:%02d.%03d\n",
systime.wYear,systime.wMonth,systime.wDay,systime.wHour,
systime.wMinute, systime.wSecond,systime.wMilliseconds);
char ou