Linux 下Qt+ffmpeg开发环境配置
一、安装Qt
这里我使用的是Qt5.8,没有选择最新版本是怕其依赖的其它库版本太低而安装失败。
首先需要从官网获取安装包:https://download.qt.io/official_releases/qt/
直接进入5.8的文件夹,找到你对应的包就行。我选择的是下图的版本:
Linux 64位版本下载完成后,将工作目录切换到安装包所在的位置,依次执行:
# 确保安装包拥有可执行权限
chmod a+x qt-opensource-linux-x64-5.8.0.run
# 执行安装
./qt-opensource-linux-x64-5.8.0.run
然后会出现安装引导界面,到这里就跟Windows下安装程序很像了。一路next/skip就可以了。
安装引导界面等安装完成后,再进行一些配置。
首先打开default.conf,在命令行中输入:sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
然后将qt的安装路径添加进去:
# 把*******改为你的家目录名称即可
/home/*******/Qt5.8.0/5.8/gcc_64/bin
/home/*******/Qt5.8.0
最后,安装libgl1-mesa-dev,在命令行中输入:sudo apt-get install libgl1-mesa-dev
现在可以打开qt creator软件了。
二、安装ffmpeg
第一步:是下载ffmpeg: http://ffmpeg.org/releases/,最新版本即可。
第二步:安装依赖,运行命令:sudo apt-get -y install libass-dev libfreetype6-dev libmp3lame-dev libtheora-dev libvorbis-dev libopus-dev libx264-dev yasm
安装依赖的时候,发现一些编译教程说的不一样,这里贴出了我的,如果不行可以换换其他的试试。
第三部:编译ffmpeg。首先解压缩,然后cd到解压目录,依次执行:
./configure --enable-shared --prefix=/home/*******/ffmpeg
make
makeinstall
第四步:配置。配置是为了执行bin目录下的可执行文件。
执行命令: vim /etc/ld.so.conf.d/ffmpeg.conf
添加内容到文件: /home/*******/ffmpeg/lib ,然后保存并退出
执行 sudo ldconfig 使配置生效
现在可以执行 ./ffmpeg -version ,如果不报错就成功了。
三、Qt中使用ffmpeg
可以参考这个:http://blog.yundiantech.com/?log=blog&id=33
我的配置是这样的:
INCLUDEPATH += /home/******/ffmpeg/include \
#/home/******/SDL2/include \
LIBS += /home/******/ffmpeg/lib/libavcodec.so \
/home/******/ffmpeg/lib/libavdevice.so \
/home/******/ffmpeg/lib/libavfilter.so \
/home/******/ffmpeg/lib/libavformat.so \
/home/******/ffmpeg/lib/libavutil.so \
/home/******/ffmpeg/lib/libswresample.so \
/home/******/ffmpeg/lib/libswscale.so \
#/home/******/SDL2/lib/x86/SDL2.lib
关于sdl还没开始研究,先注释掉。
将路径全部替换为绝对路径。
将以.lib结尾的文件名改为lib开始的.so文件名。
在include的时候,还需要加上extern C标志,因为的是c++的编译器,如下:
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}
其中main.cpp的代码如下:
main.cpp最后,保存,编译,运行。结果如下:
ffmpeg版本最后,列出我参考的主要博客:
https://blog.csdn.net/hhrock/article/details/61621044