您的位置:首页 > 编程语言 > Qt开发

0基础学习音视频编程技术(三)Qt+ffmpeg开发环境搭建+简单QT项目调用ffmpeg

2018-09-20 16:34 696 查看

一、ffmpeg下载 
ffmpeg源码可在其官网上下载,网址:https://ffmpeg.zeranoe.com/builds/ 
在官网上从左到右选择版本和系统,然后点击右侧的static,shared和dev,分别下载到本地。

 二、解压ffmpeg 
将下载下来的三个包分别解压,并分别对应命名为static,shared,dev(重新命名是为了后面配置简化)。之后,将这三个文件夹复制到自己指定的目录下,我的是D盘的ffmpeg文件夹下。

三、配置环境变量 
在系统环境path中加入一下类似的路径,只需配置shared的即可:

四、建立QT工程

 然后如图将之前解压的dev下的lib和include两个文件夹拷贝到新建项目下,修改QT工程的pro文件即可:

pro中添加如下代码:

[code]INCLUDEPATH += $$PWD/ffmpeg/include
[code] 
[code]LIBS += $$PWD/ffmpeg/lib/avcodec.lib
[code]        $$PWD/ffmpeg/lib/avdevice.lib
[code]        $$PWD/ffmpeg/lib/avfilter.lib
[code]        $$PWD/ffmpeg/lib/avformat.lib
[code]        $$PWD/ffmpeg/lib/avutil.lib
[code]        $$PWD/ffmpeg/lib/postproc.lib
[code]        $$PWD/ffmpeg/lib/swresample.lib
[code]        $$PWD/ffmpeg/lib/swscale.lib

 

main.cpp实现如下:

[code]#include <iostream>
[code] 
[code]using namespace std;
[code]#define __STDC_CONSTANT_MACROS
[code]extern "C"
[code]{
[code]    #include <libavcodec/avcodec.h>
[code]    #include <libavformat/avformat.h>
[code]    #include <libswscale/swscale.h>
[code]    #include <libavdevice/avdevice.h>
[code]    #include <libavformat/version.h>
[code]    #include <libavutil/time.h>
[code]    #include <libavutil/mathematics.h>
[code]}
[code]///由于我们建立的是C++的工程
[code]///编译的时候使用的C++的编译器编译
[code]///而FFMPEG是C的库
[code]///因此这里需要加上extern "C"
[code]///否则会提示各种未定义
[code] 
[code]int main()
[code]{
[code]    //这里简单的输出一个版本号
[code]    cout << "Hello FFmpeg!" << endl;
[code]//    av_register_all();
[code]//    avcodec_register_all();
[code]//    avdevice_register_all();
[code]    unsigned version = avcodec_version();
[code]    cout << "version is:" << version;
[code]    return 0;
[code]}

运行结果:

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐