Toybrick

楼主: jefferyzhang

RK3399Pro入门教程(6)硬件编解码器MPP库的使用

 

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-21 09:37:31 | 显示全部楼层
jefferyzhang 发表于 2019-8-21 09:09
这个我真不知道- -# 因为这个库是另外一个部门维护的,你们可以直接在github上的issues里问他们问题。
我 ...

好的,收到!
多谢大神的耐心解答~
么么哒
                     ——抠脚大汉
回复

使用道具 举报

kiwi

中级会员

积分
418
QQ
发表于 2019-8-21 10:23:08 | 显示全部楼层
zhouzhouzlove 发表于 2019-8-20 16:20
首先多谢大神的耐心回复!

--enable-rkmpp           enable Rockchip Media Process Platform code [n ...

你这个想法,我之前做过同样的事情,编译ffmpeg打开--enable-rkmpp需要先编译安装mpp,然后配置好mpp的pkgconfig,然后配置ffmpeg能查找到mpp的pkgconfig才能编译成功。
不过最后我用ffmpeg来解码明显还是调用不到vpu,建议还是直接使用mpp的api来解码,这样百分百能调用到vpu。
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-21 17:21:25 | 显示全部楼层
kiwi 发表于 2019-8-21 10:23
你这个想法,我之前做过同样的事情,编译ffmpeg打开--enable-rkmpp需要先编译安装mpp,然后配置好mpp的pk ...

然后配置好mpp的pkgconfig
少侠,这句话可以具体一点么?
回复

使用道具 举报

kiwi

中级会员

积分
418
QQ
发表于 2019-8-22 16:04:50 | 显示全部楼层
zhouzhouzlove 发表于 2019-8-21 17:21
然后配置好mpp的pkgconfig
少侠,这句话可以具体一点么?

就是配置其lib下的pkgconfig目录下的pc文件
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-23 10:27:52 | 显示全部楼层
kiwi 发表于 2019-8-22 16:04
就是配置其lib下的pkgconfig目录下的pc文件

多谢少侠的回复!
我做了个实验:
1、只安装ffmpeg官网的ffmpeg4.0版本,用自己的程序去测试(解码rtsp流),发现可以软解;
2、只安装瑞芯微的ffmpeg4.0版本,提示无法找到解码器,打开流失败;
3、安装了mpp,同样提示无法找到解码器,打开流失败。
结论如下:我不知道怎么配置ffmpeg和mpp,才能使得ffmpeg可以调用到VPU。
希望官方能够给出一个教程,否则只说怎么调用API,但是如果不会配置安装的话,这都是没用的。

强烈建议楼主给出相关部门人员的帖子链接或者联系方式,以便留言询问,自github上提了问题,但是感觉应该没人看。



报错截图如下:27是codec_id,在3。3的版本下是28,但是4.0以上就是27了,不知道为什么,但是应该不打紧。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

kiwi

中级会员

积分
418
QQ
发表于 2019-8-23 14:10:26 | 显示全部楼层
zhouzhouzlove 发表于 2019-8-23 10:27
多谢少侠的回复!
我做了个实验:
1、只安装ffmpeg官网的ffmpeg4.0版本,用自己的程序去测试(解码rtsp流 ...

建议别捣鼓ffmpeg了,他们也只是对接了api,据说是有bug的,也不会提供ffmpeg的支持,用mpp是最好的,官方也只管这个,mpp的解码器需要类型需要自己配置,也并没有支持rtsp取流的,自己rtsp取流后把packet送给mpp去解码
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-23 14:13:21 | 显示全部楼层
kiwi 发表于 2019-8-23 14:10
建议别捣鼓ffmpeg了,他们也只是对接了api,据说是有bug的,也不会提供ffmpeg的支持,用mpp是最好的,官 ...

我现在在看mpp开发手册,感觉需要例子,也正在网上找,大神有没有小例子,我想这样可能会快点,随便硬解码的编解码例子都行,我看下流程和各个api的使用。
当然,工作中的内容涉及保密的话,就算了。。。。
还是希望能够得到你的帮助,,,,,
回复

使用道具 举报

kiwi

中级会员

积分
418
QQ
发表于 2019-8-23 14:16:13 | 显示全部楼层
zhouzhouzlove 发表于 2019-8-23 14:13
我现在在看mpp开发手册,感觉需要例子,也正在网上找,大神有没有小例子,我想这样可能会快点,随便硬解 ...

https://github.com/rockchip-linux/mpp
里面有相应的例子,结合mpp开发文档,容易理解
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-23 14:40:58 | 显示全部楼层
kiwi 发表于 2019-8-23 14:16
https://github.com/rockchip-linux/mpp
里面有相应的例子,结合mpp开发文档,容易理解 ...

好的,多谢~
么么哒~~~~~
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
591
发表于 2019-8-23 17:43:08 | 显示全部楼层
本帖最后由 zhouzhouzlove 于 2019-8-23 19:40 编辑

大神,我安装mpp的步骤是这样的,请看下是是否正确:
1、瑞芯微github下载mpp,
2、修改mpp/build/linux/aarch64/arm.linux.cross.cmake,修改了gcc和g++还有armv8-a这三条。修改完后,执行同目录下的make-Makefiles.bash,然后make ,sudo make install。
        SET(CMAKE_SYSTEM_NAME Linux)
        SET(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
        #SET(CMAKE_C_COMPILER "arm-linux-gnueabi-gcc")
        SET(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
        #SET(CMAKE_CXX_COMPILER "arm-linux-gnueabi-g++")
        SET(CMAKE_SYSTEM_PROCESSOR "armv8-a")
        #SET(CMAKE_SYSTEM_PROCESSOR "armv7-a_hardfp")
配置时有警告:
CMake Warning:
  Manually-specified variables were not used by the project:

    RKPLATFORM
3、默认的安装路径是/usr/local/,修改/etc/profile,添加环境变量,并且执行sudo ldconfig使之生效
        LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
        export LD_LIBRARY_PATH

        export PATH =$PATH:/usr/local/bin

        C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/rockchip
        export C_INCLUDE_PATH

        CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/rockchip
        export CPLUS_INCLUDE_PATH
4、执行mpi_dec_test程序,提示信息正常,当下载了h264文件进行测试时,sudo mpi_dec_test -t 7 -i ~/128x128.264 -n 10
输出如下:
mpi_dec_test: cmd parse result:
mpi_dec_test: input  file name: /home/perfxlab/128x128.264
mpi_dec_test: output file name:
mpi_dec_test: config file name:
mpi_dec_test: width      :    0
mpi_dec_test: height     :    0
mpi_dec_test: type       : 7
mpi_dec_test: debug flag : 0
mpi_dec_test: max frames : 10
mpi_dec_test: mpi_dec_test start
mpi_dec_test: input file size 174416
mpi_dec_test: mpi_dec_test decoder test start w 0 h 0 type 7
mpi: mpp version: Without VCS info
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
h264d_dpb: dpb_size error.
mpi_dec_test: decode_get_frame get info changed found
mpi_dec_test: decoder require buffer w:h [128:128] stride [128:128] buf_size 32768
mpi_dec_test: decode_get_frame get frame 1
mpi_dec_test: decode_get_frame get frame 2
mpi_dec_test: decode_get_frame get frame 3
mpi_dec_test: decode_get_frame get frame 4
mpi_dec_test: decode_get_frame get frame 5
mpi_dec_test: decode_get_frame get frame 6
mpi_dec_test: decode_get_frame get frame 7
mpi_dec_test: decode_get_frame get frame 8
mpi_dec_test: decode_get_frame get frame 9
mpi_dec_test: decode_get_frame get frame 10
mpi_dec_test: reach max frame number 10
mpi_dec_test: test success max memory 0.16 MB





请问,这个mpp库的安装有问题吗?rochip-ffmpeg的安装过程有没有详细教程?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表