Firefly开源社区

打印 上一主题 下一主题

[技术讨论] ROC-RK3588S Debian拉流硬解码失败

14

积分

0

威望

0

贡献

技术小白

积分
14

ROC-RK3588S Debian拉流硬解码失败

发表于 2022-11-2 10:59:47      浏览:2757 | 回复:1        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
1. 使用gst-launch-1.0命令行,利用rtsp进行拉流并且展示在屏幕上,cpu的占用率符合我们的预期,4K视频拉流是30%占用率,1080P视频是7%的占用率,感觉上是符合瑞芯微官方的宣传的。gst-launch-1.0的命令行是:
  1. gst-launch-1.0 rtspsrc location="rtsp:/********" ! rtph264depay ! h264parse ! mppvideodec ! autovideosink sync=false
复制代码

2. 使用OpenCV(4.5.1)版本进行拉流,加上Gstreamer(如下代码),效果和没有加一样。取流不是实时的,并且cpu占用率很高。
  1. capture.open(url, cv::CAP_GSTREAMER);
复制代码

Pipeline如下所示:
  1. string url = "rtspsrc location=" + url_ + " latency=0 ! rtph264depay ! h264parse ! mppvideodec ! videoconvert ! video/x-raw,format=(string)BGR  ! appsink sync=false"
复制代码

这里怀疑pipeline的写法有问题或者是需要安装额外的gstreamer插件,请各位大佬指教
3. 使用rtsp+ffmpeg+mpp
ret= mpi->decode_get_frame(ctx, &frame); 运行结果是ret=0。但是err_info= mpp_frame_get_errinfo(frame) 是err_info是1。有没有可能是mpp驱动有问题,或者是mpp版本有问题?复现代码链接如下[rtsp+ffmpeg+mpp](https://github.com/MUZLATAN/ffmpeg_rtsp_mpp)
4. 使用rtsp(socket)拉流+mpp
ret= mpi->decode_get_frame(ctx, &frame); 运行结果是ret=0。但是frame的值一直为0x0。复现代码链接如下[rtsp(socket)+mpp](https://github.com/mayunxi/mpp_rtsp_play_QT/tree/feature_auth)
5. 编译这个仓库https://github.com/rockchip-linux/mpp,使用mpi_dec_test.c,cpu占用率较高(60%),解码速度只有12fps。感觉速度很慢,cpu占用率很高。
请各位大佬指导一下哪有问题,或者有没有什么新的方法成功的。

问题描述.log

15 Bytes, 下载次数: 1, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

14

积分

0

威望

0

贡献

技术小白

积分
14
发表于 2022-11-4 10:08:38        只看该作者  沙发
顶顶顶
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表