多路RTSP流解码:最高可支持12路视频编解码

RK3399/RK3328具有强大的视频编解码能力,Soc集成的硬件视频编解码器VPU,能同时处理多路视频的编解码,Soc集成的图形加速引擎RGA, 可以高效地处理图形缩放、旋转、颜色空间转换等操作。结合VPU和RGA,可以高效地实现视频流的解码和后处理,作为第三方应用处理的数据源。

调用API

Rockchip开发的mpp库,提供了非常易于使用API,通过各种不同的控制项,可以适应多种不同场景的视频编解码应用。

硬件准备

RK3399平台:AIO-3399C主板 + 12路摄像头

RK3328平台:RK3328行业主板 + 6路摄像头

运行Demo

Firefly在RK3399和RK3328 Ubuntu平台上, 针对目前最常见的场景,提供了一个多路RTSP流解码的Demo,Demo支持在RK3399平台上, 同时解12路H264/H265 RTSP,测试流帧率为25fps,无丢帧,低延时,CPU占用率较低(基本只用于RTSP流接收和封包)。在RK3328平台上,同时能解6路H264/H265 RTSP。

运行过程

Demo中,MPP解码->图像后处理->显示整个流程中,VPU和RGA都是直接访问内存物理地址,整个过程零内存拷贝,效率很高。处理后的数据,通过libdrm接口,直接送往显示接口输出。

Demo对解码后的图像输出数据,只做了显示处理,如果在实际应用中需要对图像做处理,可能会导致帧率下降。

演示效果

运行时效果图如下:

实时帧率

实时帧率计算结果如下:

安装方法

Demo运行在RK3399 或 RK3328 Ubuntu 18.04平台上。

1. 确认系统中存在 /dev/rga 设备节点。 如果没有此节点, 请参考wiki更新最新的固件。

2. 安装:

$ sudo apt update
$ sudo apt install firefly-multi-rtsp

  

3.根据实际环境,修改配置文件。 参照下一节配置参数。

4. 运行:

 $ sudo test_ff_rtsp_dec

  

5. 退出:

运行过程中,按Enter键,退出Demo, 由于退出时需要关闭多路rtsp流,所以退出时需要稍作等待。

配置参数

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 //旋转   未使用

         },

  

其中prefer_monitor_w 和 prefer_monitor_h是配置外接显示设备的分辨率。

1. 配置外接显示设备的分辨率,仅在显示设备支持多种分辨率(如HDMI、DP等显示器)时有效,如果显示设备支持该分辨率,则将显示设备设置为该分辨率。

2. LVDS, MIPI屏该配置无效(但仍需保留该配置项,只是配置值无效),因为LCD支持一种分辨率。

3. 配置此参数后,Demo将显示设备设置为对应的分辨率,然后计算该分辨率是否能够完整显示所有路RTSP解码后的输出。如果不能显示,应该减小rtsp流数量,或者减小输出尺寸。

    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流的参数。

———————————————

更多信息请关注Firefly公众微信号fireflytee:

———————————————

Firefly官网:http://www.t-firefly.com

Firefly开源社区:http://developer.t-firefly.com

原文地址:https://www.cnblogs.com/TeeFirefly/p/12149219.html

时间: 2024-07-31 00:41:07

多路RTSP流解码:最高可支持12路视频编解码的相关文章

H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持

H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持 1,H.264格式 网络表示层NAL,如图H.264流由一帧一帧的NALU组成: SPS:序列参数集,作用于一系列连续的编码图像: PPS:图像参数集,作用于编码视频序列中一个或多个独立的图像: 这两个帧也是独立的NALU. I-Frame:关键帧,帧内编码后的帧,显示比较完全的一帧: P-Frame:参考前一帧,可能只是对比前一帧的运动估计的变化部分: B-Frame:会参照前后的帧,其他类似P-Frame.B和P F

【技术案例】Firefly-RK3399多路视频编解码

Firefly-RK3399开源板拥有强大的视像处理器(VPU),能够流畅的实现H.264编解码功能,可以同时进行两路视频编码和五路视频解码.在应用方面,多路编解码功能可以更优秀地应用于同时录像和播放多个视频的场景. 一.多路视频编解码演示需要准备: (1)一台Firefly-RK3399开源板 (2)两个MIPI摄像头 (3)一台LCD显示器 二.把两个摄像头连接到Firefly-RK3399开源板上 三.进入应用列表,打开多路视频编解码应用MultiCodecs 四.打开MultiCodec

各种音视频编解码学习详解

各种音视频编解码学习详解 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等.最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了.所以豆丁上看不出所以然,从 wiki上查.中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版

常用视频格式与视频编解码标准介绍 转

细细算起来,视频文件可以分成两大类:其一是影像文件,比如说常见的VCD便是一例.其二是流式视频文件,这是随着国际互联网的发展而诞生的后起视频之秀,比如说在线实况转播,就是构架在流式视频技术之上的.流式视频(Streaming Video)采用一种"边传边播"的方法,即先从服务器上下载一部分视频文件,形成视频流缓冲区后实时播放,同时继续下载,为接下来的播放做好准备.这种"边传边播"的方法避免了用户必须等待整个文件从Internet上全部下载完毕才能观看的缺点. 1.A

FFmpeg音视频编解码实践总结

PS:由于目前开发RTSP服务器 传输模块时用到了h264文件,所以攻了一段时间去实现h264的视频编解码,借用FFmpeg SDK实现了任意文件格式之间的转换,并实现了流媒体实时播放,目前音视频同步需要稍加完善,视频编码代码已成功移植到Visual Stdio平台,如有需要的留下邮箱 以下文档来自FFmpeg工程组(http://www.ffmpeg.com.cn/index.php开发事例) 实现转码一个普通视频文件为视频mpeg4,音频mp3的功能的程序 本程序源引自FFmpeg工程组,实

视频编解码学习之四:视频处理及编码标准

1.视频处理 在视频压缩前后,对视频图像质量增强的操作 视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响 压缩之前对视频的处理称作预处理(Pre-processing) 压缩之后对视频的处理称作后处理(Post-processing) 2. 预处理 预处理的目的 为了减少原图像受到的损害,保持原图像的重要特征,使原图像能被高效的压缩 噪声污染 光照差 抖动 为了进行视频格式转换 去隔行 空间缩放 帧率转换 去噪声处理 去隔行(Deinterlace) 隔行扫描的视频图

华为云在视频编解码领域的优化探索

华为云在视频编解码领域的优化探索日前,2019亚太CDN峰会在北京隆重召开.此次峰会是亚太地区最具规模,最具影响力的一次CDN行业盛典,大会聚焦CDN行业热点:5G.视频云.边缘计算.智能网络等.此次大会行业巨头云集,华为云重磅亮相,在视频云论坛上,华为云视频编解码技术专家发表了题为<HW265编码优化探索之路>的主题演讲,他揭秘了华为云在视频编解码领域的深厚技术沉淀. 在今天,通过各种终端设备随时享受短视频.点播.直播等优质内容已经成为各年龄层消费者的普遍生活状态.工信部等发布<超高清

视频编解码

所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式.视频流传输中最为重要的编解码标准有国际电联的H.261.H.263.H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo.微软公司的WMV以及Apple公司的QuickTime等. 中文名 视频编码 外文名 Video Encoding 分    类 H.26x系列,MPEG系列,AVS

【H.264/AVC视频编解码技术详解】十三、熵编码算法(3):CAVLC原理

<H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看! "纸上得来终觉浅,绝知此事要躬行",只有自己按照标准文档以代码的形式操作一遍,才能对视频压缩编码标准的思想和方法有足够深刻的理解和体会! 链接地址:H.264/AVC视频编解码技术详解 GitHub代码地址:点击这里 上下文自适应的变长编码(Context-base