Ubuntu 下配置 Qt 的 FFmpeg 的开发环境

Posted ShaderJoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 下配置 Qt 的 FFmpeg 的开发环境相关的知识,希望对你有一定的参考价值。


FFmpeg 的 configure 脚本

./configure --prefix="$FFMPEG_PATH/build" \\
--pkg-config-flags="--static" \\
--extra-cflags="-I$FFMPEG_PATH/build/include" \\
--extra-ldflags="-L$FFMPEG_PATH/build/lib" \\
--bindir="$FFMPEG_PATH/build/bin" \\
--enable-gpl \\
--enable-neon \\
--enable-libass \\
--enable-libfdk-aac \\
--enable-libfreetype \\
--enable-libmp3lame \\
--enable-libtheora \\
--enable-libvorbis \\
--enable-libvpx \\
--enable-libx264 \\
--enable-libx265 \\
--enable-nonfree

​​

ps: --enable-neon 可以开启 neon 加速


pro 文件

网上的配置有许多坑,遇到了很多莫名的 undefined reference ... ,所以把自己详细完整的配置发出来,以便其他有类似问题的小伙伴能够少走弯路(ps: 我是编译的支持 aac/x264/x265 的 FFmpeg 静态库) 

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH += /usr/local/include \\
/home/lingyun/CodeEnvironments/FFmpeg-master \\
/home/lingyun/CodeEnvironments/FFmpeg-master/build/include
LIBS += -L/usr/local/lib/ \\
-L/home/lingyun/CodeEnvironments/FFmpeg-master/build/lib/ \\
-lavformat \\
-lavcodec \\
-lswscale \\
-lavutil \\
-lavfilter \\
-lpostproc \\
-lswresample \\
-lavdevice \\
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lva -lva-x11 -lva-drm -lxcb -lxcb-shm\\
-lxcb -lX11 -lasound -lSDL -lpthread -ltheoraenc -ltheoradec \\
-logg -lmp3lame -lfdk-aac -lx264 -lx265 -lvpx \\
-lm -lbz2 -lz -lrt -lvorbis -lvorbisenc -lass -llzma \\
-lrt -lvdpau
SOURCES += \\
main.cpp

c++ 文件

#include <iostream>
using namespace std;
//需要加上 extern "C"
extern "C"

#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"

int main()

cout << "Hello Qt FFmpeg!" << endl;
av_register_all();
//输出版本号
unsigned version = avcodec_version();
cout << "version is:" << version << endl;
return 0;

执行的结果 

Ubuntu


以上是关于Ubuntu 下配置 Qt 的 FFmpeg 的开发环境的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu+Qt+OpenCV+FFMPEG环境搭建

ubuntu qt5.7怎样使用ffmpeg

ffmpeg基础Linux环境下ffmpeg的配置(Ubuntu 18.04)

armubuntu mate下配置qt与opencv最快捷的方法

ubuntu下配置qt+opengl+opencv

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法