QT完成RTSP,利用ffmpeg解码

首先在QT 下进行进行工程建立,QT的安装自行去查看,

源代码参考了github上的工程,实际采用RTSP需要采用以下几个库:

#include
#include
#include
#include

这些库文件在工程文件.pro里面已经限定了库的位置

unix:!macx: LIBS += -L /usr/local/lib -lavcodec -lavformat -lswscale -lavutil\

1、编译工程,出现位置找不到libavcodec,查询后发现需要安装ffmpeg库,

参考了这个博客https://blog.csdn.net/luoqiang616477607/article/details/81505897进行下载安装

2、安装过程爆出各种错误,分析后发现是一些依赖库没有装

参考这个博客https://blog.csdn.net/lwsas1/article/details/51131626,安装依赖库,

其实有些依赖库系统会给出提示,只要缺什么,对应sudo apt-get install XX-dev基本没什么问题,一个个去补充

3、对ffmpeg安装位置上,我这里犯了错误,没有注意安装路径

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis

这个方式会在local下面建立ffmpeg,然后ffmpeg再建立一个lib文件

需要修改为--prefix=/usr/local,这样才可以和工程文件对应

5、安装啦ffmpeg后,又出现了QT编译里面说libavcodec.so.58 :cannot open shared object file: No such file or directory,

可是我实际在目录下是有这个东西的

QT完成RTSP,利用ffmpeg解码_第1张图片

这个应该是缺少动态链接库造成的

修改LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

 

sudo ldconfig

也可参考这个博客解决

https://cloud.tencent.com/developer/article/1432498

 

最终结果实现

QT完成RTSP,利用ffmpeg解码_第2张图片

 

 

 

 

 

你可能感兴趣的:(QT,linux)