解决firefly rk3399使用ffmpeg硬解码rga报错的问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

注意:这篇文章只对firefly rk3399有效,可能对rk3568和rk3588有效!

Device:firefly rk3399

OS:Ubuntu-20.04

如果你不是Ubuntu-20.04你最好刷成Ubuntu-20.04,理论上对Ubuntu-18.04也是适用的,只不过我需要使用Ubuntu-20.04,所以就在Ubuntu-20.04上测试了。


一、检查环境

1.firefly源

因为ffmpeg和rkmpp的结合是需要另外改ffmpeg源代码并编译的,这里我们不需要,firefly已经给我们弄好了,可能需要略改下。

如果这个方法对你不适用,你可能需要手动改下ffmpeg源代码和rkmpp一起编译了!受限于受伤没有合适的板子,所以就没有深入研究这个方法。

bash 复制代码
ls /etc/apt/source.list.d

cat /etc/apt/source.list

这两个都看下,直到找到deb http://wiki.t-firefly.com/firefly-ubuntu-repo focal main类似的字眼,focal就是Ubuntu-20.04的代号,bionic是Ubuntu-18.04的代号,以此类推。

2.ffmpeg版本

bash 复制代码
ffmpeg

ffmpeg version 4.2.4-1ubuntu1.0firefly3 Copyright (c) 2000-2020 the FFmpeg developers

带firefly字样的是firefly自己编的版本,不带这个字样的就是通用版本,是不带rkmpp的。

如果你属于后者,就按照我的的这样做,先卸载ffmpeg然后将firefly的源加到列表里,重新安装就是firefly的版本了。

二、开始测试

编写ffmpeg解码代码进行测试,解码器选择h264_rkmpp,测试解码速度,如果正常就说明rga没问题,如果调用了软解码,就说明rga有问题。

1.查看rga版本

需要用到rga,所以要看下rga有没有安装。

bash 复制代码
dpkg -l | grep rga

librga-dev
librga2

如果是上面的包,大概率是rga库不匹配的问题了,这个时候需要卸载这两个包:

bash 复制代码
sudp dpkg -r --force-all librga-dev librga2

安装匹配包:

bash 复制代码
sudo apt install -y librga2-rk356x librga-dev-rk356x

这个bug真的很清奇,感觉是打包系统镜像的时候没有测试才会出这种问题。纯粹版本不兼容导致的,我的系统安装了上面的包之后就可以正常硬解码了。

感兴趣的也可以去看下我的另一篇文章,比较适合不想去研究mpp的人,使用ffmpeg直接硬解码还是容易很多。

firefly rk3399使用ffmpeg硬解码


总结

相关推荐
Android系统攻城狮19 分钟前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
智能直播2 小时前
MEDAI-W2_OpenGL绿幕扣图_DRMBUF_HDMI送显_CSDN文章
实时音视频·视频编解码
菜鸟小芯2 小时前
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
ffmpeg·嵌入式
智能直播3 小时前
MEDAI-W2_FFmpeg多协议归一拉流_CSDN文章
视频编解码
智能直播3 小时前
MEDAI-W2_Tinyalsa音频_HDMI输出_CSDN文章
音视频·实时音视频·视频编解码
Android系统攻城狮1 天前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_find_decoder调用流程与实战(十二)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Hommy881 天前
【直播切片工作台】第23章:媒体探测与转码:ffprobe 与 ffmpeg 封装
人工智能·ffmpeg·直播切片
码匠许师傅1 天前
【C++三方组件】FFmpeg:音视频处理的瑞士军刀
c++·ffmpeg·音视频