树莓派3B+ 编译使用ffmpeg-4.1 libx264以及在QT中的集成

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zz531987464/article/details/86514035

编译x264和ffmpeg,生成动态库和静态库(我在使用ffmpeg的静态库时发现有问题,因为默认的x264和ffmpeg不编译动态库,所以我们需要加上编译动态库的条件 "--enable-shared" 生成动态so库供使用)

libx264

libx264下载地址https://www.videolan.org/developers/x264.html

libx264编译命令:

./configure --enable-shared --enable-static --enable-strip --disable-cli

sudo make -j4

sudo make install

libx264最终会安装到/usr/local/lib目录下

ffmpeg-4.1

ffmpeg下载地址https://ffmpeg.org/download.html,我们这里下载最新版的ffmpeg-4.1.tar.bz2

ffmpeg编译命令:

./configure --arch=armel --target-os=linux  --enable-shared   --enable-gpl --enable-libx264 --enable-nonfree --enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-mmal --enable-hwaccel=h264_mmal --enable-decoder=h264_mmal

如果显示报错 “error: OMX_Core.h not found”,则执行:sudo apt-get install libomxil-bellagio-dev

sudo make

sudo make install

ffmpeg最终也是安装到/usr/local/lib目录下

执行 ffmpeg最终显示如下:

接下来修改 ld.so.conf 文件

sudo vi /etc/ld.so.conf

添加一行 /usr/local/lib

最后执行sudo ldconfig

####################################

接下来我们将树莓派上生成的ffmpeg和x264同步到pc主机上,用于在pc上进行树莓派QT程序的开发

1.首先我们将树莓派上的一些用于QT开发的配置文件同步到pc主机的sysroot目录中,主机中执行以下命令

使用rsync命令将树莓派下的/usr/local同步到电脑本地的sysroot中

sudo rsync -avz [email protected]:/usr/local sysroot/usr

再次主机重新和树莓派同步

rsync -avz [email protected]:/lib sysroot
rsync -avz [email protected]:/usr/include sysroot/usr
rsync -avz [email protected]:/usr/lib sysroot/usr
rsync -avz [email protected]:/opt/vc sysroot/opt

2. 新建树莓派QT demo程序

在pro文件中加入:

INCLUDEPATH += /home/ubuntu/raspi/sysroot/usr/local/include
LIBS += -L/home/galaxy/raspi/sysroot/usr/local/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswscale -lswresample

在调用的文件中添加头文件:

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>
}

即可。

参考以下博客:

https://trac.ffmpeg.org/wiki/CompilationGuide/RaspberryPi

https://www.jianshu.com/p/35129395fb45

https://zhuanlan.zhihu.com/p/36311427

猜你喜欢

转载自blog.csdn.net/zz531987464/article/details/86514035