buildroot配置ffmpeg使用硬件编解码,关于采用buildroot编译树莓派镜像请看我的其他文章,有详细的介绍
1、树莓派配置硬件编码可以用buildroot上的配置直接启用
2、配置过程
1、首先配置ffmpeg启用,然后ffpmeg上面配置
Target packages->
-------Audio and video applications —>
-------------ffmpeg —>
2、配置树莓派的硬件选项
Target packages->
--------Hardware handling —>
-------------- Firmware —>
------------------- [] rpi-firmware
--------------------[] rpi-userland
3、其他自动配置选项
以上两处为必要的硬件配置选项,配置完成后Target packages->Libraries —>Audio/Sound —>-*- alsa-lib 会自动选用为必须启动
以上配置完成后再编译的文件系统中ffmpeg就会自动包含如下配置项目
–enable-mmal --enable-omx --enable-omx-rpi
4、ffmpeg启动命令
ffmpeg -f v4l2 -s 640x480 -r 20 -i /dev/video0 -c:v h264 -f flv rtmp://192.168.1.72:1935/live/my
然后就对打印h264_omx信息
5、启用ffmpeg后会出现错误
显示/opt/vc/lib/libopenmaxil.so not found
其实这个库已经在文件系统中了,这个库不是由buildroot编译完成的,是rpi-userlan带来的,直接解压在了/lib路径下面,程序按照代码写死的位置(/opt/vc/lib/libopenmaxil.so )去找并没有找到,修改源代码即可
修改程序文件buildroot-2019.02.3/output/build/ffmpeg-3.4.5/libavcodec/omx.c,在144行注视掉原来的库寻找路径,更换为系统的路径即可
omx.c修改部分