QT零基础开发RTSP播放器——搭建开发环境
新建一个QT窗口项目
这里编译器我选择msvc2015的 32位
FFMPEGSDK环境搭建
下载FFMPEG SDK
https://github.com/ShiftMediaProject/FFmpeg/releases
我这里选择的是32位的
在我们新创建的qt项目根目录下面创建一个文件夹 命名为ffmpeg
把ffmpegSDK压缩包里面的lib文件夹和include文件夹移动到我们创建的ffmpeg文件夹里面去
双击.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
保存
在我们要调用ffmpeg相关函数的地方添加对应的头文件引用
由于是QT项目 所以引用要写c的导入方式 否则失败
extern "C"
{
#include "libavcodec/avcodec.h"
#include <libavformat/avformat.h>
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
#include <libavutil/frame.h>
#include "libavutil/pixfmt.h"
}
写个FFMPEG的版本输出看看吧
long version = avcodec_version();
qDebug("version:%d",version);
运行发现正常 但是会闪退报错
这是由于我们没有在运行目录添加对应的ffmpeg动态库导致的
打开项目根目录 在debug、release文件夹分别把FFmpeg里面的bin文件夹里的所有东西都复制进去
如果没有这两个目录 建议先点项目对应模式的构建 就有了 放好了就是这样
再执行 就有版本输出了