多路RTSP流解码:最高可支持12路视频编解码
Posted teefirefly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多路RTSP流解码:最高可支持12路视频编解码相关的知识,希望对你有一定的参考价值。
RK3399/RK3328具有强大的视频编解码能力,Soc集成的硬件视频编解码器VPU,能同时处理多路视频的编解码,Soc集成的图形加速引擎RGA, 可以高效地处理图形缩放、旋转、颜色空间转换等操作。结合VPU和RGA,可以高效地实现视频流的解码和后处理,作为第三方应用处理的数据源。
Rockchip开发的mpp库,提供了非常易于使用API,通过各种不同的控制项,可以适应多种不同场景的视频编解码应用。
RK3328平台:RK3328行业主板 + 6路摄像头
Firefly在RK3399和RK3328 Ubuntu平台上, 针对目前最常见的场景,提供了一个多路RTSP流解码的Demo,Demo支持在RK3399平台上, 同时解12路H264/H265 RTSP,测试流帧率为25fps,无丢帧,低延时,CPU占用率较低(基本只用于RTSP流接收和封包)。在RK3328平台上,同时能解6路H264/H265 RTSP。
运行过程
Demo对解码后的图像输出数据,只做了显示处理,如果在实际应用中需要对图像做处理,可能会导致帧率下降。
实时帧率
实时帧率计算结果如下:
Demo运行在RK3399 或 RK3328 Ubuntu 18.04平台上。
$ sudo apt update $ sudo apt install firefly-multi-rtsp
$ sudo test_ff_rtsp_dec
Demo中提供了一个配置文件config.json,用于配置demo的运行环境。
配置文件位于/etc/ff_rtsp_dec/config.json ,json格式。(注意不要在config.json中添加注释,否则可能会导致json解析出错)
"basepara" : { "dri_path" : "/dev/dri/card0", //不要修改 "prefer_monitor_w" : 1920, "prefer_monitor_h" : 1080, "code_type" : "H265", //rtsp流编码类型,H264/H265 "line_count" : 12, //rtsp流数量 "output_w" : 480, //每一路解码后的输出size. "output_h" : 360, "rotate" : 0 //旋转 未使用 },
line_h = prefer_monitor_w / output_w; line_v = prefer_monitor_h / output_h; line_h * line_v <= line_count
RTSP 参数
"rtsp" : [ { "id" : 0, //id "url" : "rtsp://168.168.3.100:554/av_stream", //url "usr" : "admin", //username "pwd" : "firefly123", //password "tcp" : false // Is tcp? }, ... ]
RTSP参数为一个数组,配置每一路rtsp流的参数。
以上是关于多路RTSP流解码:最高可支持12路视频编解码的主要内容,如果未能解决你的问题,请参考以下文章