rk3588 ffmpeg使用硬件解码

这篇具有很好参考价值的文章主要介绍了rk3588 ffmpeg使用硬件解码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装ffmpeg最新的静态构建版本

在https://johnvansickle.com/ffmpeg/下载最新的版本然后解压

tar xvf ffmpeg-git-arm64-static.tar.xz

将ffmpeg移动到/usr/local/bin文件夹
命令行输入ffmpeg没有报错就安装好了

方法1

安装rkmpp

git下载mpp包

git clone https://github.com/rockchip-linux/mpp

编译安装

cd mpp/build/linux/aarch64  
./make-Makefiles.bash
make -j8
sudo make install

安装264

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --prefix=/usr/local/my/x264 --disable-opencl --enable-static --enable-shared
make -j8
sudo  make install

安装libdrm

wget https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.bz2
tar -jxvf libdrm-2.4.89.tar.bz2
./configure --prefix=/usr/local/my/libdrm --host=aarch64-linux-gnu
make -j8
sudo make install

解压
–prefix 指定安装目录
–host 当前编译工具链的前缀 ll /usr/bin/gcc*查看

下载ffmpeg源码

git clone https://git.ffmpeg.org/ffmpeg.git 

编译指令

./configure --prefix=/usr/local/my/ffmpeg --enable-version3 --enable-libdrm --enable-rkmpp --enable-libx264 --enable-nonfree --enable-gpl

–enable-gpl 允许使用GPL代码,生成的库和二进制文件将在GPL下[no]
–enable-version3 升级(L)GPL到版本3 [no]
–enable-nonfree 允许使用非自由代码,生成的库 和二进制文件将是不可分发的[不]
直接./configure会报错
rk3588 ffmpeg使用硬件解码
应该设置一下PKG_CONFIG_PATH

sudo find / -name pkgconfig

找到需要的x264 libdrm的pkgconfig文件夹,rockchip_mpp.pc 被安装在了/usr/local/lib/pkgconfig这里

export PKG_CONFIG_PATH=/usr/local/my/x264/lib/pkgconfig:/usr/local/my/libdrm/lib/pkgconfig:/usr/local/lib/pkgconfig

查看一下

echo $PKG_CONFIG_PATH
/usr/local/my/x264/lib/pkgconfig:/usr/local/my/libdrm/lib/pkgconfig:/usr/local/lib/pkgconfig

下一步可以安装了

./configure --prefix=/usr/local/my/ffmpeg --enable-version3 --enable-rkmpp --enable-libx264 --enable-libdrm --enable-nonfree --enable-gpl
make -j8
sudo make install

竟然四分钟就编译好了,运行ffmpeg报错
rk3588 ffmpeg使用硬件解码
rk3588 ffmpeg使用硬件解码
提示找不到librockchip_mpp.so、libx264.so ,使用find命令分别找到这些文件在哪个文件夹,
然后更改配置文件/etc/ld.so.conf

sudo vim /etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf
#复制下面内容
/usr/local/lib #librockchip_mpp.so
/usr/local/my/x264/lib #lib264.so

然后执行sudo ldconfig命令生效
将ffmpeg路经添加到PATH

sudo vim .bashrc
#最后一行添加自己的ffmpeg路经
export PATH=$PATH:/usr/local/my/ffmpeg/bin

然后执行source .bashrc生效
查看一下系统PATH,可以看到已经将ffmpeg添加好了
rk3588 ffmpeg使用硬件解码
执行ffmpeg
rk3588 ffmpeg使用硬件解码
查看支持的编解码器

ffmpeg configure -codecs | grep h264

decoders: h264 h264_v4l2m2m h264_rkmpp
encoders: libx264 libx264rgb h264_v4l2m2m

方法2

ppa搜索需要的软件包

在https://launchpad.net/上搜索软件名+ppa
找到需要的包后下面命令安装

sudo add-apt-repository ppa:george-coolpi/multimedia
sudo apt update

如果不需要了下面命令删除

sudo add-apt-repository -r ppa:george-coolpi/multimedia
sudo apt-get update

安装支持rkmpp硬件解码的ffmpeg

sudo apt-get install ffmpeg

查看所有解/编码器文章来源地址https://www.toymoban.com/news/detail-440776.html

ffmpeg -codecs | grep h264
(decoders: h264_rkmpp h264 )
 encoders: libx264 libx264rgb h264_omx h264_v4l2m2m

到了这里,关于rk3588 ffmpeg使用硬件解码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ffmpeg cuda硬件解码后处理使用opengl渲染,全硬件流程

    使用硬件解码后不要transfer到内存,使用cuda转化nv12 - bgr24 转化完毕后cuda里面存了一份bgr24 如果需要opencv gpumat直接使用cuda内存,则可以手动构造gpumat 可以使用gpumat的各种函数 ptr(0)、ptr(1)和ptr(2)分别获取了R、G、B三个通道的数据指针。 使用reinterpret_cast将uchar 指针转换为ucha

    2024年04月12日
    浏览(47)
  • rk3588 mpp 视频硬编解码测试

    rk3588 mpp demo 使用记录。 MPP 源代码发布官方地址:https://github.com/rockchip-linux/mpp 发布分支为 release 分支,开发分支为 develop 分支,默认为开发分支。 下载命令:git clone https://github.com/rockchip-linux/mpp.git MPP 源代码编译脚本为 cmake,需要依赖 2.8.12 以上的版本,建议使用 2.8.12 版,

    2024年02月07日
    浏览(70)
  • RK3588芯片支持8K视频的硬编解码

    RK3588是一款采用8nm制程工艺的高端通用型SoC,CPU采用四核A76和四核A55的八核架构,GPU采用Mail G610MP4,集成6TOPS独立NPU,支持四通道LPDDR5,有效保证了RK3588芯片的性能输出。RK3588在视频编解码方面也十分突出,支持8K视频的硬编硬解,非常适合VR(虚拟现实)、AR(增强现实)、

    2024年02月12日
    浏览(45)
  • nvidia jetson 平台使用 ffmpeg nvmpi 硬件编解码

    首先目前ffmpeg不支持在nvidia jetson 平台上进行使用硬件编解码加速,但是由于nvidia 提供了相对的硬件编解码加速的api,故可以将api集成到ffmpeg实现。 好在国外大神多,在github上已经有人实现了。 GitHub - jocover/jetson-ffmpeg: ffmpeg support on jetson nano 这个是实现的jetson api 的c++ 工程,

    2024年02月16日
    浏览(48)
  • RK3588之ArmSoM-W3 + MPP实现多路硬解码拉流

    学习完MPP的解码Demo之后,想必大家都想通过一个项目来进行RK3588-MPP的解码实战。 本篇文章就基于ArmSoM-W3开发板,开发一个多路硬解码项目,实现四路MPP硬解码拉流显示 实现的效果如下: RK3588四路MPP硬解码拉流 硬件环境: ArmSoM-W3 RK3588开发板 软件版本: OS:ArmSoM-W3 Debian11

    2024年02月06日
    浏览(51)
  • ArmSoM-W3之RK3588-MPP实现多路硬解码拉流

    学习完MPP的解码Demo之后,想必大家都想通过一个项目来进行RK3588-MPP的解码实战。 本篇文章就基于ArmSoM-W3开发板,开发一个多路硬解码项目,实现四路MPP硬解码拉流显示 实现的效果如下: RK3588四路MPP硬解码拉流 硬件环境: ArmSoM-W3 RK3588开发板 软件版本: OS:ArmSoM-W3 Debian11

    2024年02月05日
    浏览(52)
  • ArmSoM-RK3588编解码之mpp解码demo解析:mpi_dec_test

    [RK3588从入门到精通] 专栏总目录 mpi_dec_test 是rockchip官方解码 demo 本篇文章进行mpi_dec_test 的代码解析,解码流程解析 硬件环境: ArmSoM-W3 RK3588开发板 软件版本: OS:ArmSoM-W3 Debian11 mpp_create :获取 MppCtx 实例以及 MppApi 结构体 mpp_init: 初始化MppCtx 的编解码类型与格式 mpi-control:

    2024年02月04日
    浏览(51)
  • 53、RK3588测试视频编解码和 POE OAK Camera编码结合开发

    基本思想:一直想学rk3588的视频编解码,奈何没有设备,最近获得机会,利用空闲时间好好研究一番,正好手中的深度相机oak camera支持视频编码,逐想用软解编码和瑞芯微的mpp硬解码去走一波,本实验使用的poe-rj45接口和usb低电压接口测试 测试数据

    2024年02月06日
    浏览(86)
  • RK3588平台开发系列讲解(视频篇)ffmpeg 的移植

    沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ffmpeg 是一种多媒体音视频处理工具,具备视频采集功能、视频抓取图像、视频格式转换、给视频加水印并能将视频转化为流等诸多强大的功能。它采用 LGPL 或 GPL 许可证,是一种开源程序。 FFmpeg主要特点和功能: 多媒

    2024年02月21日
    浏览(48)
  • RK3588 编解码盒子 之 RTL8211FS-CG光口调试

    [RK3588从入门到精通] 专栏总目录 本文是基于RK3588平台,SDK版本:RK3588_ANDROID12.0 RTL8211FS-CG光口调试总结。 视频桥接芯片:RTL8211FS-CG 驱动代码:“kernel/drivers/net/phy/realtek.c” 本次调试的方案功能:RK3588 调试RTL8211FS-CG 转接出光口 硬件工程师参考RTL8211FS-CG发布的设计图设计 以下

    2023年04月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包