QT-ffmpeg环境搭建及使用

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010749732/article/details/81570095

1.下载ffmpeg

下载地址:https://ffmpeg.zeranoe.com/builds/

我是64位系统,之前下载的64位不能用,只能下载32位了。

Static,Shared,Dev三个都需要下载,下载后解压。

2. 添加库文件

在Qt工程的.pro文件中添加如下库,其中$$PWD为当前程序工作目录

3.  添加头文件

extern "C"
{
    #include <libavcodec/avcodec.h>
    #include <libavformat/avformat.h>
    #include <libswscale/swscale.h>
    #include <libavdevice/avdevice.h>
    #include <libavformat/version.h>
    #include <libavutil/time.h>
    #include <libavutil/mathematics.h>
}

4. ffmpeg测试

测试代码如下:

qDebug()<<QString(avcodec_configuration());
qDebug()<<"version:"<<QString::number(avcodec_version());;

测试结果:

"--disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth"

version: "3805796"

5. 编译错误

1.error: #error missing -D__STDC_CONSTANT_MACROS / 

2.*\include\libavutil\common.h:183: error: 'UINT64_C' was not declared in this scope

措施:

在comm.h文件中添加如下代码,注意在文件最前面添加

#ifdef __cplusplus
 #define __STDC_CONSTANT_MACROS
 #ifdef _STDINT_H
  #undef _STDINT_H
 #endif
 # include <stdint.h>
#endif

展开阅读全文

没有更多推荐了,返回首页