============================================================================
ffmpeg视频H264压缩,rtsp推流课程教学视频:
https://edu.csdn.net/course/detail/27795
课件中里面提供源码可以直接下载运行!
============================================================================
一、 添加库 和 lib 以及头文件
在.pro中添加
INCLUDEPATH += $$PWD/ffmpeg/include
LIBS += $$PWD/ffmpeg/lib/avcodec.lib \
$$PWD/ffmpeg/lib/avdevice.lib\
$$PWD/ffmpeg/lib/avfilter.lib\
$$PWD/ffmpeg/lib/avformat.lib\
$$PWD/ffmpeg/lib/avutil.lib\
$$PWD/ffmpeg/lib/postproc.lib\
$$PWD/ffmpeg/lib/swresample.lib\
$$PWD/ffmpeg/lib/swscale.lib
在main.c中添加
#include <iostream>
#include <stdio.h>
#include <Windows.h>
using namespace std;
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
#include "libavutil/pixfmt.h"
}
二、FFMPEG初始化操作
av_register_all(); //初始化FFMPEG 调用了这个才能正常适用编码器和解码器
//=========================== 创建AVFormatContext结构体 ===============================//
//分配一个AVFormatContext,FFMPEG所有的操作都要通过这个AVFormatContext来进行
AVFormatContext *pFormatCtx = avformat_alloc_context();
//==================================== 打开文件 ======================================//
char *file_path = "E:/QT/test_ffmpegSavePic/ffmpeg/test.avi";//这里必须使用左斜杠
int ret = avformat_open_input(&pFormatCtx, file_path, NULL, NU