linux下QT开发FFMPEG SDL2环境搭建及测试

说明:开发环境和安装软件版本如下:linux:Ubuntu16.04FFMPEG:ffmpeg-4.1.3SDL:SDL2-2.0.9lame:lame-3.100x264:x264-snapshot-20190610-2245QT:qt-opensource-linux-x64-5.9.0.runQT:优良的跨平台特性:支持Windows,Linux,iOS、Android、WP等等系统。面向对...

linux下QT开发FFMPEG SDL2环境搭建及测试
说明:

开发环境和安装软件版本如下:
linux: Ubuntu16.04
FFMPEG: ffmpeg-4.1.3
SDL: SDL2-2.0.9
lame: lame-3.100
x264: x264-snapshot-20190610-2245
QT: qt-opensource-linux-x64-5.9.0.run

QT:

优良的跨平台特性:支持 Windows,Linux,iOS、Android、WP等等系统。
面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。
Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
丰富的 API;支持 2D/3D 图形渲染,支持 OpenGL;大量的开发文档;XML 支持。

FFMPEG:

FFMPEG是一个集成了各种编解码器的库,可以说是一个全能型的工具,从视频采集、视频编码到视频传输(包括RTP、RTCP、RTMP、RTSP等等协议)都可以直接使用FFMPEG来完成,更重要的一点FFMPEG是跨平台的,Windows、Linux、Aandroid、IOS这些主流系统通吃。因此FFMPEG是音视频开发比较常用的工具。

SDL:

1.网上资料多,学习起来方便
2.跨平台,Windows、Linux、Android、IOS系统上都可以使用。
3.库体积相对比较小
SDL有一个缺点就是不能够采集音频,但是像安卓、IOS这样的系统,在采集音频的时候还是推荐直接用他们的API采集,因此我们完全可以容忍SDL不能采集音频这个缺点,并且FFMPEG是支持采集音频的,必要的时候我们也可以直接使用FFMPEG采集。
SDL本身是一个多媒体库,其最强大的地方不是在音频上,而是在图形图形上

环境安装搭建:

QT的安装网上有很多,这里不介绍。
FFMPEG 和SDL2 安装可以参考博客:《linux FFMPEG 完整安装》

环境测试:

� � Qtcreator中新建一个C 工程,添加FFMPEG和SDL2的头文件和库文件,测试程序直接使用的是叶海辉的《testFFmpeg SDL(Windows下FFMPEG解码AAC文件并使用SDL播放)》,他的这个程序适用的是Windows的库,我将他替换成了我自己编译的linux库。

工程下载目录:testFFmpegSDL2.tar.gz

参考博客:http://blog.yundiantech.com/?log=blog&scat=182

源文地址:https://www.guoxiongfei.cn/csdn/5112.html