Toybrick

rk3588 python硬件解码怎么做?

zyan

新手上路

积分
23
楼主
发表于 2023-9-18 09:41:09    查看: 4759|回复: 11 | [复制链接]    打印 | 只看该作者
有相关api的文档么?
回复

使用道具 举报

1281854907@qq.c

中级会员

积分
212
沙发
发表于 2023-9-18 10:37:30 | 只看该作者
python不懂c++是可以的
回复

使用道具 举报

zyan

新手上路

积分
23
板凳
 楼主| 发表于 2023-9-18 12:02:07 | 只看该作者
1281854907@qq.c 发表于 2023-9-18 10:37
python不懂c++是可以的

老师好,c++也可以,但是我不懂视频编解码,mpi_dec_test有点看不明白,我的输入是mp4文件,mpi_dec_test的输入是h264,这两个怎么转换?解码完h264得到的frame怎么用?有具体例子或教程吗。
回复

使用道具 举报

jefferyzhang

版主

积分
12940
地板
发表于 2023-9-18 15:27:36 | 只看该作者
zyan 发表于 2023-9-18 12:02
老师好,c++也可以,但是我不懂视频编解码,mpi_dec_test有点看不明白,我的输入是mp4文件,mpi_dec_test ...

这种情况我建议你用android系统,写java会好一点。
c/c++比较底层,如果不具备这种知识android提供的api会更上层更好理解,网上demo也更多一点
回复

使用道具 举报

zyan

新手上路

积分
23
5#
 楼主| 发表于 2023-9-20 15:25:55 | 只看该作者
jefferyzhang 发表于 2023-9-18 15:27
这种情况我建议你用android系统,写java会好一点。
c/c++比较底层,如果不具备这种知识android提供的api ...

感谢回复,这两天学习了一下,用gst+mpp插件的方法实现了python硬件解码。发现YUV转bgr这一步cpu消耗比较高,这一步转换有硬件的方法吗?  
  1. gstreamer_pipeline = (
  2.         f'filesrc location={video_path} ! qtdemux ! queue ! h264parse ! mppvideodec ! videoconvert ! video/x-raw,format=BGR ! appsink'
  3. )
复制代码
回复

使用道具 举报

jefferyzhang

版主

积分
12940
6#
发表于 2023-9-20 17:12:53 | 只看该作者
本帖最后由 jefferyzhang 于 2024-2-18 09:04 编辑
zyan 发表于 2023-9-20 15:25
感谢回复,这两天学习了一下,用gst+mpp插件的方法实现了python硬件解码。发现YUV转bgr这一步cpu消耗比较 ...

格式转换可以用RGA,编解码可以用VPU,其他图像算法可以用GPU。
很多硬件可以做,但第三方库都是CPU做的,你要慢慢改,改到0拷贝完全没有cpu参与,cpu只负责调度,就可以发挥最高性能
回复

使用道具 举报

星火

新手上路

积分
7
7#
发表于 2023-9-28 11:04:05 | 只看该作者
jefferyzhang 发表于 2023-9-18 15:27
这种情况我建议你用android系统,写java会好一点。
c/c++比较底层,如果不具备这种知识android提供的api ...

老师,项目场景需要创建销毁多路不同的分辨率、码率、帧率的编码器。Android系统中每次创建5个编码器,手动调用mediacodec.stop()和mediacodec.release()进行释放。测试了十次后,发现不能继续创建编码器了,想问一下什么原因。按说每次都调用释放的
回复

使用道具 举报

jefferyzhang

版主

积分
12940
8#
发表于 2023-9-28 11:15:44 | 只看该作者
星火 发表于 2023-9-28 11:04
老师,项目场景需要创建销毁多路不同的分辨率、码率、帧率的编码器。Android系统中每次创建5个编码器,手 ...

不太可能,请检查自己代码,如果你自己有安卓手机的话,也可以拿出来跑下试试,或者模拟器上先试试
回复

使用道具 举报

waing

新手上路

积分
12
9#
发表于 2024-1-29 14:49:04 | 只看该作者
zyan 发表于 2023-9-20 15:25
感谢回复,这两天学习了一下,用gst+mpp插件的方法实现了python硬件解码。发现YUV转bgr这一步cpu消耗比较 ...

你好,请教一下你编译的opencv版本和gstreamer版本是多少,opencv4.8.1和gstreamer1.20.3,一直不行。
回复

使用道具 举报

18113121251

新手上路

积分
6
10#
发表于 2024-1-29 16:18:55 | 只看该作者
zyan 发表于 2023-9-20 15:25
感谢回复,这两天学习了一下,用gst+mpp插件的方法实现了python硬件解码。发现YUV转bgr这一步cpu消耗比较 ...

楼主能分享一下代码吗?我也想看下用python试下gst+mpp是怎么用的 ,感谢我的邮箱 xum@innorev.com.cn
回复

使用道具 举报

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

本版积分规则

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


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