论文部分内容阅读
摘要:针对一些普通摄像头、电脑主机、视频会议终端等设备提供的HDMI,VGA,SDI等接口的视频源很难接入视频会议系统和融合通信系统的现状。设计并实现了基于Hi3531A芯片的视频信号接入系统,在指挥调度、多媒体会商、融合通信等多种场景中具有很高的应用价值。介绍了系统总体架构,对系统监控模块、资源管理模块、RTSP/SIP媒体协商模块和MPP视频编解码模块进行了阐述,给出了各模块功能及软件实现方案。
关键词:Hi3531A;SIP;RTSP
中图分类号:TP391文献标志码:A文章编号:1008-1739(2021)12-69-4
Design and Implementation of Video Signal Access System Based on Hi3531A
GUO Renzhong1,HAN Ning2
(1.Jiujiang Electric Power Branch,State Grid Jiangxi electric power Co.,Ltd.,Jiujiang 332000,China;
2.Hebei Far-East Communication System Engineering Co.,Ltd.,Shijiazhuang 050002,China)
Abstract: The video sources at HDMI,VGA,SDI,etc. provided by some common cameras,computer hosts,video conference terminals and other equipment are difficult to access the video conference systems and converged communication systems. In view of this problem,the video signal access system based on Hi3531A chip is designed and implemented,which has high application value in various scenarios such as command and dispatch,multimedia consultation,and converged communication. The overall architecture is introduced,the system monitoring module,resource management module,RTSP/SIP media negotiation module,and MPP video codec module are described,and the functions of various modules and implementation scheme of software are analyzed.
Keywords:Hi3531A;SIP;RTSP
0引言
近幾年,随着计算机和互联网技术以及通信技术的飞速发展,视频监控、视频会议等流媒体技术也得到了快速发展[1]。尤其最近IP技术推广,使得研究IP技术在音视频传输系统中势在必行。基于SIP、RTSP等媒体协议的终端设备在视频监控、视频会议、融合通信等系统中得到了广泛的应用[2]。
但是,在一些特殊的应用场景,依然存在好多不支持IP网络的音视频设备,如普通摄像头、电脑主机及电视机等。当这些设备想通过IP网络传输视频信号供视频会议系统或融合通信系统进行视频会议、图像调阅时就很困难。基于现状,设计了基于Hi3531A芯片的视频信号接入系统,将一些不支持IP 网络传输的视频采集设备通过该系统将模拟/数字视频信号转换成IP网络视频流供视频会议系统和融合通信系统调阅、拉取。
1系统总体设计
系统基于Hi3531A芯片进行设计,Hi3531A是华为针对多路高清(1080p/720p)DVR产品应用开发的一款专用的SoC芯片,内置ARM9双核处理器和高性能H.264视频编解码引擎,集成了包含多项复杂图像处理算法的高性能视频/图像处理引擎,提供HDMI/VGA高清显示输出能力,同时还集成了丰富的外围接口,支持千兆网口[3]。系统设计了HDMI,VGA,SDI,CVBS四种视频输入输出接口,以应对各种接口的视频源。
软件系统主要包含VPU系统监控模块、SIP、RTSP媒体协商模块、CAP、Web资源管理模块以及MPP媒体处理模块。软件总体结构如图1所示,各个模块都是一个单独的进程,各个进程之间使用UDP协议进行数据交互。
2VPU系统监控模块
VPU进程是系统的主进程,主要负责监控各个子进程的运行状态和日志维护。进程启动后,通过fork方式将各个进程启动起来,同时启动一个定时器,用于维护与各个进程之间的心跳消息,达到监控各个进程运行状态的目的。
日志维护方面采用zlog高可靠性、高性能、线程安全和灵活的日志函数库,高效地实现了写系统日志的功能,方便开发人员调试与维护。
3配置、资源管理模块
配置、资源管理模块由CAP、Web两个线程实现。其中CAP线程是连接前端媒体协商与后端媒体处理模块之间的桥梁,使媒体协商与媒体处理分离,并对系统视频参数和资源进行统一管理,使整个框架更加清晰。
系统Web基于GoAhead Web服务器框架开发,可通过Web界面实现对系统基本参数配置和状态信息的监控,简洁快速实现设备的管理与维护。
4媒体协商模块 为兼容现在主流的媒体协议,设计实现了RTSP、SIP两种媒体协商功能。同时支持SIP和RTSP拉取接入本系统的视频源。
4.1RTSP媒体协商
RTSP是TCP/IP协议体系中的一个应用层协议,是哥伦比亚大学、网景和Real Networks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效通过IP网络传送多媒体数据[4]。RTSP位于RTP和RTCP体系结构之上,使用TCP或UDP完成数据传输[5],目前在视频监控领域大部分终端设备都支持RTSP协议。
本系统中,RTSP服务端基于Media Server开源框架进行开发,RTSP协议拉取视频流的时序如图2所示。
①RTSP客户端发起Describe请求,RTSP服务器向CAP模块获取对应视频通道的视频参数,并返回给RTSP客户端。
②RTSP客户端携带自己的IP地址和端口号发起Setup请求,RTSP服务器向CAP模块获取IP地址和端口号,并一起返回给RTSP客户端。
③RTSP客户端发起Play请求,此时CAP模块将协商的媒体参数、IP地址及端口号等信息发给MPP媒体处理模块,媒体处理模块根据这些信息创建编码通道及RTP会话,开始向指定地址发送视频流,此时RTSP客户端可接收视频流解码显示。
④RTSP客户端和RTSP服务端定时通过Getparameter接口进行心跳维护。
⑤当要结束时,RTSP客户端发送Teardown给RTSP服务端,并通过CAP模块传给MPP,停止编码并销毁编码通道和RTP会话,结束成功。
4.2SIP媒体协商
SIP协议是由互联网工程任务组(IETF)制定的一种基于文本的应用层控制协议,借鉴了HTTP和SMTP等现有成熟的应用层控制协议,并且独立于底层协议,可以直接使用TCP 或UDP来作为底层传输协议。SIP协议和其他协议一起给用户提供完整的服务,用于建立、修改和终止IP网上的双方或多方多媒体会话[6]。SIP协议支持代理、注册、重定向、登记定位用户等功能,与RTP/RTCP,SDP,RTSP,DNS等协议配合,可支持语音、视频、数据等多媒体业务。
SIP主要包括用户代理和服务器两部分,首先SIP终端(用户代理)注册到SIP服务器,SIP注册流程如图3所示。当发起呼叫时,SIP终端首先向SIP服务器发起,SIP服务器根据被叫号码,向被叫终端发起呼叫请求[7]。SIP呼叫流程如图4所示。
①SIP终端向SIP服务器发起Invite请求,SIP服务器根据被叫号码查询被叫IP地址,向其发起Invite请求,并向主叫终端回复100Trying。
②SIP模块收到呼叫请求后,向CAP模块获取媒体参数及IP地址等信息,并发送180Ringing给主叫SIP终端。
③SIP模块获取到媒体参数及IP地址等信息后,发送200OK并携带这些信息给主叫SIP终端,完成媒体协商。
④SIP终端根据协商的媒体参数发送Ack信息,请求建立连接,此时CAP将协商好的媒体参数发给MPP模块,MPP模块根据这些信息创建编码通道及RTP会话,开始向指定地址发送视频流。
⑤结束时,SIP终端发送Bey结束通话请求,最终传给MPP,停止编码并销毁编码通道和RTP会话,结束成功。
5媒体处理模块
Hi3531A是华为公司推出的一款视频编解码专用芯片,其集成多项复杂图像处理算法的高性能视频/图像处理引擎,支持多达32路视频输入接口及HDMI/VGA高清显示输出能力[8]。其强大的编解码引擎可同时支持8×1080p@30fps H.264编码+8×CIF@30fps H.264编码+4×1080p@30fps H.264解码+8×1080p@2fps JPEG 编码工作。
海思提供的媒体处理软件平台(Media Process Platform,MPP),拥有丰富、简洁的API接口,方便开发人员快速完成媒体处理的软件开发工作[9]。主要分为视频输入(VI)、视频预处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频区域管理(REGION)等模块。
MPP媒体处理模块编码处理流程如图5所示。
MPP模块首先初始化视频输入VI、视频预处理VPSS模块,并进行绑定,当收到CAP模块发来的信息时,首先判断当前编码通道的编码通道中有没有与该参数一致的,如果有,直接设置RTP协议栈,复制一份码流发送到指定地址即可,防止重复编码浪费CPU资源。当判断没有与该参数一致的编码通道后,需要创建编码通道并绑定VPSS和RTP发送通道,然后开始编码发送码流,同时记录当前编码通道的编码参数信息。
同理,当收到CAP发来的结束信号时,首先设置指定的RTP发送通道,停止向该地址发送码流。然后,判断是否还有其他设备再获取该视频输入VI通道的视频流,如果没有则销毁编码通道,RTP发送通道,并清空编码参数信息。
由于网络MTU数据包长度一般设置为1500,所以对H. 264码流进行网络传输时,首先需要对其分包再进行RTP封装然后发送。本系统的打包规则严格按照H.264RFC3984标准来进行,RTP处理流程如图6所示。
6结束语
系统设计的视频信号接入系统将支持HDMI、VGA、SDI、CVBS等接口的视频信号源转换成IP网络视频源,是将视频指挥调度系统、视频会议系统、统一通信系统、软交换(IMS)电话系统等通信系统与摄像头、视频会议终端、电脑主机、电视机等各种模拟视频资源、显控进行互联互通的设备,通过SIP、RTSP协议供融合通信系统、分布式大屏显控系统、IP话机等设备拉取与调阅,并支持视频分辨率、码率、帧率调节,满足绝大部分使用场景。
基于此系统设计的视频信号接入网关产品在视频会议、指挥调度、多媒体会商、应急处置等多种场景中得到广泛应用。
参考文献
[1]徐望,朱宜炳,张常泉.一种基于树莓派的视频监控网络设计方案[J].南方农机,2021,52(5):41-42,44.
[2]唐赫岳.视频会议应用技术及发展趋势[J].电子世界,2021(3):29-30.
[3]皮玉华.基于海思Hi3531的高清视频解码器硬件系统设计[J].中国公共安全(学术版),2016(2):124-126.
[4]张军.基于RTSP的有线互动点播监测系统[J].电脑知识与技术,2018,14(22):45-46.
[5]李宇成,傅轶.基于Live555代理服务器的远程视频监控系统[J]工业控制计算機,2017,30(9):86-88.
[6]王翔.基于SIP协议的融合通信技术[J].科技创新与应用,2019(4):145-147.
[7]徐鹏宇,许子灿.基于SIP协议的监视系统设计与实现[J].计算机工程,2013,39(11):289-294.
[8]皮志松,韩磊.基于海思平台的音视频采集和编码的实现[J].电视技术,2020,44(9):21-23.
[9]吴俊.基于海思3518E的具有视频分析功能的监控终端设计[D].杭州:浙江工业大学,2020.
关键词:Hi3531A;SIP;RTSP
中图分类号:TP391文献标志码:A文章编号:1008-1739(2021)12-69-4
Design and Implementation of Video Signal Access System Based on Hi3531A
GUO Renzhong1,HAN Ning2
(1.Jiujiang Electric Power Branch,State Grid Jiangxi electric power Co.,Ltd.,Jiujiang 332000,China;
2.Hebei Far-East Communication System Engineering Co.,Ltd.,Shijiazhuang 050002,China)
Abstract: The video sources at HDMI,VGA,SDI,etc. provided by some common cameras,computer hosts,video conference terminals and other equipment are difficult to access the video conference systems and converged communication systems. In view of this problem,the video signal access system based on Hi3531A chip is designed and implemented,which has high application value in various scenarios such as command and dispatch,multimedia consultation,and converged communication. The overall architecture is introduced,the system monitoring module,resource management module,RTSP/SIP media negotiation module,and MPP video codec module are described,and the functions of various modules and implementation scheme of software are analyzed.
Keywords:Hi3531A;SIP;RTSP
0引言
近幾年,随着计算机和互联网技术以及通信技术的飞速发展,视频监控、视频会议等流媒体技术也得到了快速发展[1]。尤其最近IP技术推广,使得研究IP技术在音视频传输系统中势在必行。基于SIP、RTSP等媒体协议的终端设备在视频监控、视频会议、融合通信等系统中得到了广泛的应用[2]。
但是,在一些特殊的应用场景,依然存在好多不支持IP网络的音视频设备,如普通摄像头、电脑主机及电视机等。当这些设备想通过IP网络传输视频信号供视频会议系统或融合通信系统进行视频会议、图像调阅时就很困难。基于现状,设计了基于Hi3531A芯片的视频信号接入系统,将一些不支持IP 网络传输的视频采集设备通过该系统将模拟/数字视频信号转换成IP网络视频流供视频会议系统和融合通信系统调阅、拉取。
1系统总体设计
系统基于Hi3531A芯片进行设计,Hi3531A是华为针对多路高清(1080p/720p)DVR产品应用开发的一款专用的SoC芯片,内置ARM9双核处理器和高性能H.264视频编解码引擎,集成了包含多项复杂图像处理算法的高性能视频/图像处理引擎,提供HDMI/VGA高清显示输出能力,同时还集成了丰富的外围接口,支持千兆网口[3]。系统设计了HDMI,VGA,SDI,CVBS四种视频输入输出接口,以应对各种接口的视频源。
软件系统主要包含VPU系统监控模块、SIP、RTSP媒体协商模块、CAP、Web资源管理模块以及MPP媒体处理模块。软件总体结构如图1所示,各个模块都是一个单独的进程,各个进程之间使用UDP协议进行数据交互。
2VPU系统监控模块
VPU进程是系统的主进程,主要负责监控各个子进程的运行状态和日志维护。进程启动后,通过fork方式将各个进程启动起来,同时启动一个定时器,用于维护与各个进程之间的心跳消息,达到监控各个进程运行状态的目的。
日志维护方面采用zlog高可靠性、高性能、线程安全和灵活的日志函数库,高效地实现了写系统日志的功能,方便开发人员调试与维护。
3配置、资源管理模块
配置、资源管理模块由CAP、Web两个线程实现。其中CAP线程是连接前端媒体协商与后端媒体处理模块之间的桥梁,使媒体协商与媒体处理分离,并对系统视频参数和资源进行统一管理,使整个框架更加清晰。
系统Web基于GoAhead Web服务器框架开发,可通过Web界面实现对系统基本参数配置和状态信息的监控,简洁快速实现设备的管理与维护。
4媒体协商模块 为兼容现在主流的媒体协议,设计实现了RTSP、SIP两种媒体协商功能。同时支持SIP和RTSP拉取接入本系统的视频源。
4.1RTSP媒体协商
RTSP是TCP/IP协议体系中的一个应用层协议,是哥伦比亚大学、网景和Real Networks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效通过IP网络传送多媒体数据[4]。RTSP位于RTP和RTCP体系结构之上,使用TCP或UDP完成数据传输[5],目前在视频监控领域大部分终端设备都支持RTSP协议。
本系统中,RTSP服务端基于Media Server开源框架进行开发,RTSP协议拉取视频流的时序如图2所示。
①RTSP客户端发起Describe请求,RTSP服务器向CAP模块获取对应视频通道的视频参数,并返回给RTSP客户端。
②RTSP客户端携带自己的IP地址和端口号发起Setup请求,RTSP服务器向CAP模块获取IP地址和端口号,并一起返回给RTSP客户端。
③RTSP客户端发起Play请求,此时CAP模块将协商的媒体参数、IP地址及端口号等信息发给MPP媒体处理模块,媒体处理模块根据这些信息创建编码通道及RTP会话,开始向指定地址发送视频流,此时RTSP客户端可接收视频流解码显示。
④RTSP客户端和RTSP服务端定时通过Getparameter接口进行心跳维护。
⑤当要结束时,RTSP客户端发送Teardown给RTSP服务端,并通过CAP模块传给MPP,停止编码并销毁编码通道和RTP会话,结束成功。
4.2SIP媒体协商
SIP协议是由互联网工程任务组(IETF)制定的一种基于文本的应用层控制协议,借鉴了HTTP和SMTP等现有成熟的应用层控制协议,并且独立于底层协议,可以直接使用TCP 或UDP来作为底层传输协议。SIP协议和其他协议一起给用户提供完整的服务,用于建立、修改和终止IP网上的双方或多方多媒体会话[6]。SIP协议支持代理、注册、重定向、登记定位用户等功能,与RTP/RTCP,SDP,RTSP,DNS等协议配合,可支持语音、视频、数据等多媒体业务。
SIP主要包括用户代理和服务器两部分,首先SIP终端(用户代理)注册到SIP服务器,SIP注册流程如图3所示。当发起呼叫时,SIP终端首先向SIP服务器发起,SIP服务器根据被叫号码,向被叫终端发起呼叫请求[7]。SIP呼叫流程如图4所示。
①SIP终端向SIP服务器发起Invite请求,SIP服务器根据被叫号码查询被叫IP地址,向其发起Invite请求,并向主叫终端回复100Trying。
②SIP模块收到呼叫请求后,向CAP模块获取媒体参数及IP地址等信息,并发送180Ringing给主叫SIP终端。
③SIP模块获取到媒体参数及IP地址等信息后,发送200OK并携带这些信息给主叫SIP终端,完成媒体协商。
④SIP终端根据协商的媒体参数发送Ack信息,请求建立连接,此时CAP将协商好的媒体参数发给MPP模块,MPP模块根据这些信息创建编码通道及RTP会话,开始向指定地址发送视频流。
⑤结束时,SIP终端发送Bey结束通话请求,最终传给MPP,停止编码并销毁编码通道和RTP会话,结束成功。
5媒体处理模块
Hi3531A是华为公司推出的一款视频编解码专用芯片,其集成多项复杂图像处理算法的高性能视频/图像处理引擎,支持多达32路视频输入接口及HDMI/VGA高清显示输出能力[8]。其强大的编解码引擎可同时支持8×1080p@30fps H.264编码+8×CIF@30fps H.264编码+4×1080p@30fps H.264解码+8×1080p@2fps JPEG 编码工作。
海思提供的媒体处理软件平台(Media Process Platform,MPP),拥有丰富、简洁的API接口,方便开发人员快速完成媒体处理的软件开发工作[9]。主要分为视频输入(VI)、视频预处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频区域管理(REGION)等模块。
MPP媒体处理模块编码处理流程如图5所示。
MPP模块首先初始化视频输入VI、视频预处理VPSS模块,并进行绑定,当收到CAP模块发来的信息时,首先判断当前编码通道的编码通道中有没有与该参数一致的,如果有,直接设置RTP协议栈,复制一份码流发送到指定地址即可,防止重复编码浪费CPU资源。当判断没有与该参数一致的编码通道后,需要创建编码通道并绑定VPSS和RTP发送通道,然后开始编码发送码流,同时记录当前编码通道的编码参数信息。
同理,当收到CAP发来的结束信号时,首先设置指定的RTP发送通道,停止向该地址发送码流。然后,判断是否还有其他设备再获取该视频输入VI通道的视频流,如果没有则销毁编码通道,RTP发送通道,并清空编码参数信息。
由于网络MTU数据包长度一般设置为1500,所以对H. 264码流进行网络传输时,首先需要对其分包再进行RTP封装然后发送。本系统的打包规则严格按照H.264RFC3984标准来进行,RTP处理流程如图6所示。
6结束语
系统设计的视频信号接入系统将支持HDMI、VGA、SDI、CVBS等接口的视频信号源转换成IP网络视频源,是将视频指挥调度系统、视频会议系统、统一通信系统、软交换(IMS)电话系统等通信系统与摄像头、视频会议终端、电脑主机、电视机等各种模拟视频资源、显控进行互联互通的设备,通过SIP、RTSP协议供融合通信系统、分布式大屏显控系统、IP话机等设备拉取与调阅,并支持视频分辨率、码率、帧率调节,满足绝大部分使用场景。
基于此系统设计的视频信号接入网关产品在视频会议、指挥调度、多媒体会商、应急处置等多种场景中得到广泛应用。
参考文献
[1]徐望,朱宜炳,张常泉.一种基于树莓派的视频监控网络设计方案[J].南方农机,2021,52(5):41-42,44.
[2]唐赫岳.视频会议应用技术及发展趋势[J].电子世界,2021(3):29-30.
[3]皮玉华.基于海思Hi3531的高清视频解码器硬件系统设计[J].中国公共安全(学术版),2016(2):124-126.
[4]张军.基于RTSP的有线互动点播监测系统[J].电脑知识与技术,2018,14(22):45-46.
[5]李宇成,傅轶.基于Live555代理服务器的远程视频监控系统[J]工业控制计算機,2017,30(9):86-88.
[6]王翔.基于SIP协议的融合通信技术[J].科技创新与应用,2019(4):145-147.
[7]徐鹏宇,许子灿.基于SIP协议的监视系统设计与实现[J].计算机工程,2013,39(11):289-294.
[8]皮志松,韩磊.基于海思平台的音视频采集和编码的实现[J].电视技术,2020,44(9):21-23.
[9]吴俊.基于海思3518E的具有视频分析功能的监控终端设计[D].杭州:浙江工业大学,2020.