基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中

  1. 新建一个新项目基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第1张图片
    除了名字需要修改,其他都默认基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第2张图片
    基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第3张图片
    基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第4张图片

基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第5张图片
2. 将 FFmpeg 和 SDL2 文件复制到项目文件夹中基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第6张图片
到这里需要注意一下,复制完文件后,并不意味着 FFmpeg 和 SDL2 可以直接使用,还需要在项目对应的Debug包中添加 .ddl 文件
基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第7张图片
SDL2 只有一个需要复制

  1. 在项目的 .pro 中添加对应路径,将源代码加入到我们的项目中进行直接引用
    基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第8张图片

这里需要注意,一定要【重新构建】,然后【qmake】
基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第9张图片

基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第10张图片
4. 修改 main函数,打印 FFmpeg 版本号

#include "mainwindow.h"
#include 

#include 
using namespace std;

extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}
///由于我们建立的是C++的工程
///编译的时候使用的C++的编译器编译
///而FFMPEG是C的库
///因此这里需要加上extern "C"
///否则会提示各种未定义

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();



    //这里简单的输出一个版本号
    cout << "Hello FFmpeg!" << endl;
    av_register_all();
    unsigned version = avcodec_version();
    cout << "version is:" << version;
//    return 0;

    return a.exec();
}

如下图所示,则 ffmpeg 引用成功
基于FFmpeg和SDL的视频播放器——将FFmpeg和SDL添加到QT项目中_第11张图片

你可能感兴趣的:(音视频播放器,ffmpeg,qt,sdl,c++)