基于H.265的实时监控系统

2018-01-30 16:23周宇飞卢阿丽张建涛
电子技术与软件工程 2017年15期
关键词:编解码服务器端命令

周宇飞+卢阿丽+张建涛

摘要:本文主要提出了一种基于H.265编解码标准的实时监控系统的设计方案,实现在视频实时监控领域利用H.265压缩编码和基于RTMP( Real Time MessagingProtocol)协议的视频数据传输,探索在视频监控领域上运用H.265协议完成视频的编解码。

[关键词]H.265 RTMP视频实时监控

随着计算机和信息化的发展,视频实时监控系统己向着网络化、数字化、智能化方向发展、在城市安保、农业、商业、军事等方而发挥着极其重要的作用。当今社会,数字视频不断向高分辨率、高帧率和高压缩率发展,视频的多样化和高清化趋势对视频的压缩性能提出了更高的要求。为此,2010年4月VCEG和MPEG组建视频编码联合组,联手制定新一代视频编码标准——H.265/HEVC。2013年ISO/IEC正式发布了H.265/HEVC标准。H.265目标是为音视频服务提供更好的视频编解码方法。为了提高视频监控系统的实时性和普适性,设计并实现了一种基于H.265的实时视频监控系统,采用RTMP传输协议作为实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之问进行音视频的数据通信和监控服务。

1 系统设计

系统主要由客户端和服务器端两部分组成,服务器端由视频服务器和Live555流媒体服务器组成,服务器使用Linux操作系统,系统设计如图1所示,首先采集音视频信息,并将这些信息以H.265的编码标准进行编码,生成H.265码流和音频流,再封装成RTMP数据包进行转发,采用RTMP协议为客户端提供实时的视频服务。客户端负责向服务器端发送请求,接收来自服务器端的信息,通过客户端的播放器进行视频播放。

硬件开发平台使用海思Hi3 616A开发平台,H13 516A是专用于HD IP摄像机的多媒体芯片,具有高性能Cortex-A7处理器和内部集成的硬件H.265视频标准编码器。开发平台的处理数据流程为:首先调用系统控制模块的媒体处理平台编程接口(MPI)完成硬件和MPI初始化,它实现的重要功能是分配视频缓存池;其次,调用VI模块的MPI创建视频输入设备和视频物理通道并设置参数;然后,调用VPSS模块的MPI创建组和通道,并设置组和通道参数,输出期望分辨率的视频数据;最后,调用REGION模块的MPI,在原始图像上叠加用户信息.并调用VENC模块的MPI对YUV原始图像进行H.265压缩编码,得到H.265格式码流。

2 RTMP协议

RTMP是一种适合实时数据传输的协议,该协议建立在TCP协议之上,适合在使用Flash平台之问传递数据,可以实现无插件播放。

播放一个RTMP协议的流媒体需要经过以下四个步骤:握手,建立连接,建立流和播放。RTMP连接都是以握手作为开始的;建立连接阶段用于建立客户端与服务器之问的“网络连接”:建立流阶段用于建立客户端与服务器之问的“网络流”;播放阶段用于传输视音频数据。

2.1 握手

流程如图2所示。

(1) 一个RTMP连接以握手开始,双方分别发送大小固定的三个数据块,握手开始于客户端发送co、Cl块。服务器收到co或Cl后发送S0和Sl。

(2)当客户端收齐so和SI后,开始发送C2。当服务器收齐co和Cl后,开始发送S2。

(3)当客户端和服务器分别收到S2和C2后,握手完成。

2.2 建立网络连接

(1)客户端发送命令消息中的“连接”到服务器,请求与一个服务应用实例建立连接。

(2)服务器接收到连接命令消息后,发送确认窗口大小协议消息到客户端,同时连接到连接命令中提到的应用程序。

(3)服务器发送设置带宽协议消息到客户端。

(4)客户端处理设置带宽协议消息后,发送确认窗口大小协议消息到服务器端。

(5)服务器发送用户控制消息中的“流开始”消息到客户端。

(6)服务器发送命令消息中的“结果”,通知客户端连接的状态。

2.3 建立网络流

(1)客户端发送命令消息中的“创建流”命令到服务器端。

(2)服务器端接收到“创建流”命令后,发送命令消息中的“结果”,通知客户端流的状态。

2.4 播放

(1)客户端发送命令消息中的“播放”命令到服务器。

(2)接收到播放命令后,服務器发送设置块大小协议消息。

(3)服务器发送用户控制消息中的“streambegin”,告知客户端流ID。

(4)播放命令成功的话,服务器发送命令消息中的“响应状态”告知客户端“播放”命令执行成功。

(5)在此之后服务器发送客户端要播放的音频和视频数据。

3 编解码流程

本实时监控系统采用的编解码和视频通信流程如3所示,包括前处理、编码器、数据传输、解码器和后处理五个过程,在面对不同格式的视频源时,H.265可以通过前处理模块将其转换成统一的数据格式进行编码,H.265只需应对几种统一的视频数据格式,解码后的视频再经过后处理模块还原为与原格式一致的恢复视频。在保持编解码算法的简洁的同时,还可以支持不同的视频源以及更广泛的视频应用。

H.265仍旧采用混合编码框架,内容包括变化、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。H.265几乎在每个模块都使用了新的编码技术,并且还在不断扩展,如比特深可伸缩HEVC编码等,使得编码压缩性能提高了近一倍。

4 结束语

本文探讨了将最新的视频编解码标准H.265运用到视频实时监控系统中,伴随着H.265强大的压缩性能,势必会使得视频实时监控技术得到进一步的发展,为视频实时监控系统的网络化、数字化打下坚实的基础,强大的编码优势使H.265会在不远的将来成为数字视频产业的首选编解码标准。

(通讯作者:卢阿丽)

参考文献

[1]G.J.Sullivan,J.Ohm,W.J.Han,et al. Overview of the high efficiency video coding (HEVC) standard,”IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, pp. 1649-1668.Dec.2 012.

[2] ISO\IEC 23008-2: 2013, Interna tional Organization fo r Standardization. 2013-11-25.

[3]季健佼.解析海思H.265超高清IP视频监控解决方案[J],中国公共安全(综合版), 2014(22):198-200、202.

[4]王峰,基于H13 516的音视频采集及网络传输技术研究[D].西安:西安电子科技大学,2013.

[5]王建富.H.265/HEVC编码加速算法研究[D].安徽:中国科学技术大学,2015.endprint

猜你喜欢
编解码服务器端命令
只听主人的命令
Linux环境下基于Socket的数据传输软件设计
1553B总线控制器编解码设计
大型民机试飞遥测视频编解码方法研究
基于H.265编解码的高清视频传输系统研究
移防命令下达后
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
这是人民的命令
主流视频编解码软件的硬件性能分析与设计