本技术公开了一种音视频同步的方法及监控系统,包括步骤:S1,采集音视频数据;S2,基于实时传输协议RTP传输音视频数据;S3,采用音视频同步技术处理数据。
本技术基于实时传输协议RTP,采用音视频数据同步技术解决了现有技术中存在的音视频数据不同步以及音频处理效果不佳问题,能够播放同步的声音和图像数据,使得声音和图像数据更加真实、流畅。
技术要求1.一种音视频同步的方法,其特征在于,其包括步骤:S1,采集音视频数据;S2,基于实时传输协议RTP传输音视频数据;S3,采用音视频同步技术处理数据;S3中,音视频同步控制在数据接收端实施;音视频同步技术以音频为主媒体,视频为从媒体,接收音视频数据时设置缓冲区,通过比较音视频数据包的时间戳判断同步关系,实现音视频数据同步。
2.根据权利要求1所述的一种音视频同步的方法,其特征在于,所述步骤S3中,采用队列作为缓冲区,缓存音视频数据。
3.根据权利要求1所述的一种音视频同步的方法,其特征在于,所述步骤S3中,对于音频缓存,使用iOS系统提供的AudioQueue框架的队列处理音频数据。
4.根据权利要求1所述的一种音视频同步的方法,其特征在于,所述步骤S3中,音频队列的长度至少为3。
5.根据权利要求1所述的一种音视频同步的方法,其特征在于,所述步骤S3中,音视频数据的时间差在允许范围内,则认为音视频同步;否则认为音视频不同步,丢弃视频帧。
6.根据权利要求1所述的一种音视频同步的方法,其特征在于,所述步骤S3中,采用H264硬编解码技术处理音视频数据。
7.一种音视频同步的监控系统,其特征在于,包括设备端、服务器端和客户端,所述设备端通过互联网和防火墙与服务器端连接,所述客户端通过WiFi或4G或4G+网络与路由器连接,所述路由器通过互联网与服务端连接;所述设备端采集音视频数据,并将音视频数据压缩编码、打包后通过互联网发送到服务器端;所述服务器端包括流媒体服务器和SIP信令服务器,流媒体服务器将设备端采集到的音视频数据通过互联网和WiFi或4G或4G+网络转发到客户端,SIP信令服务器负责转发系统中的信令消息,同时负责管理客户端中各个终端设备,流媒体服务器通过ICE与SIP服务器进行通信;所述客户端包括终端设备以及音视频监控子系统,终端设备包括智能手机或平板电脑或台式机,音视频监控子系统包括用户界面模块、数据接收模块、数据同步模块以及数据解码播放模块;所述用户界面模块包括用户登录界面、设备列表界面、多画面视频显示界面以及iOS系统特有的手势操作界面。
8.根据权利要求7所述的一种音视频同步的监控系统,其特征在于,所述音视频监控子系统采用MVVM模式进行设计。
技术说明书一种音视频同步的方法及监控系统技术领域本技术涉及网络监控领域,尤其涉及一种音视频同步的方法及监控系统。
背景技术MVVM:全称为Model-View-ViewModel,它是一种新型的架构框架。
由三部分组成:View,View Model,Model,每一部分有自已的职责。
随着社会的进步,网络监控系统经历了模拟时代、半数字时代、全数字时代三个发展阶段,并且越来越广泛地应用到社会的各个领域。
对于现实场景的实时监控,除了图像信息外声音信息也具有非常重要的意义。
从安防、教育、司法等行业来看,声音的实时采集监控具有越来越重要的现实意义。
目前,国外网络监控系统已经从传统的网络视频监控转向了基于移动终端的移动音视频监控系统,并且监控业务广泛应用于个人用户。
基于移动终端的移动音视频监控系统以其出色的灵活性以及信息的全面性将成为网络监控系统发展的一个重要方向。
另外,基于iOS平台的苹果iPhone、iPad等手持设备凭借其优越的性能以及用户体验已经成为了智能手机市场上最受用户欢迎的移动设备,iOS内置的音视频处理框架为图像的优化和渲染以及声音播放提供了支持,但是目前的音视频监控系统由于网络延时和设备处理音视频能力不高,音视频数据存在不同步的问题。
另外,iOS设备处理流媒体数据比较麻烦,尤其是即时语音部分,音频处理效果不佳。
技术内容为了解决上述技术问题,本技术的目的是提供一种音视频同步的方法及监控系统。
基于实时传输协议RTP,以音频为主媒体,视频为从媒体,接收音视频数据时设置缓冲区,通过比较音视频数据的时间戳判断同步关系,实现音视频数据同步,能够播放同步的声音和图像数据,使得声音和图像数据更加真实、流畅。
一种音视频同步的方法,采用的技术方案是:S1,采集音视频数据;S2,基于实时传输协议RTP传输音视频数据;S3,采用音视频同步技术处理数据;S3中,音视频同步控制在数据接收端实施;音视频同步技术以音频为主媒体,视频为从媒体,接收音视频数据时设置缓冲区,通过比较音视频数据包的时间戳判断同步关系,实现音视频数据同步。
优选的,S3中,采用队列作为缓冲区,缓存音视频数据;优选的,S3中,对于音频缓存,使用iOS系统提供的AudioQueue框架的队列处理音频数据;优选的,S3中,音频队列的长度至少为3;优选的,S3中,音视频数据的时间差在允许范围内,则认为音视频同步;否则认为音视频不同步,丢弃视频帧;优选的,采用H264硬编解码技术处理音视频数据。
一种音视频同步的监控系统,采用的技术方案是:包括设备端、服务器端和客户端,设备端通过互联网和防火墙与服务器端连接,客户端通过WiFi或4G或4G+网络与路由器连接,路由器通过互联网与服务端连接;所述设备端采集音视频数据,并将音视频数据压缩编码、打包后通过互联网发送到服务器端;所述服务器端包括流媒体服务器和SIP信令服务器,流媒体服务器将设备端采集到的音视频数据通过互联网和WiFi或4G或4G+网络转发到客户端,SIP信令服务器负责转发系统中的信令消息,同时负责管理客户端中各个终端设备,流媒体服务器通过ICE与SIP服务器进行通信;所述客户端包括终端设备以及音视频监控子系统,终端设备包括智能手机或平板电脑或台式机,音视频监控子系统包括用户界面模块、数据接收模块、数据同步模块以及数据解码播放模块;所述用户界面模块包括用户登录界面、设备列表界面、多画面视频显示界面以及iOS系统特有的手势操作界面;优选的,音视频监控子系统采用MVVM模式进行设计。
本技术的有益效果是:本技术基于实时传输协议RTP,采用音视频数据同步技术解决了现有技术中存在的音视频数据不同步以及音频处理效果不佳问题,能够播放同步的声音和图像数据,使得声音和图像数据更加真实、流畅。
附图说明下面结合附图对本技术的具体实施方式作进一步说明:图1是音视频同步方法流程图。
图2是音视频监控系统结构图。
具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,一种音视频同步方法的具体实施方式如下:1、采用摄像头等监控设备采集环境中的音视频数据,并记录视频的系统时间T1和音频的系统时间T2,保存在变量中。
2、基于实时传输协议RTP传输音视频数据。
RTP协议是基于传输层UDP协议实现数据传输,它是一种面向无连接的数据传输,RTP协议的实时性特点很好地满足了流媒体数据对传输的实时性要求,解决了流媒体中对语音数据处理效果不好的问题。
RTP协议数据包中包含数据类型、序列号、时间戳和同步源标识等字段,这些字段为检测数据丢失以及实现数据流同步提供了有力的支持。
3、数据接收端接收到音视频数据后,先将数据解压,然后采用音视频同步技术处理音视频数据,即以音频为主媒体,视频为从媒体,将音视频数据分别放入音频数据缓存队列和视频数据缓存队列,通过比较判断音视频数据的时间差(T1-T2)是否在允许范围内,是则认为音视频同步,接收音视频数据;否则认为音视频不同步,丢弃视频帧,只接收音频数据。
特别地,对于音频缓存,使用iOS系统提供的AudioQueue框架的队列处理音频数据。
首先为队列分配缓存空间,然后通过回调(Callback)函数实现向队列缓存音频数据的功能。
一个记录音频队列Recording Audio Queue,包括Buffer(缓冲器)组成的BufferQueue(缓冲队列),以及一个Callback(回调)函数。
实现主要步骤为:1.设置音频的参数;2.准备并启动声音采集的音频队列;3.在回调函数中处理采集到的音频Buffer,将其暂存在一个字节Byte数组里,提供给播放端使用。
音频数据及其描述信息保存到存储单元后,再将其加入到音频队列中,音频队列的长度至少为3,这样能够保证队列中一个buffer在写数据,同时另一个buffer更新数据,第三个buffer在网络速度变慢时将新的数据加入到队列中。
这种多个队列的设计方式简单灵活,处理效率高,能够解决由于网络延时和设备处理音视频能力不高,音视频数据存在不同步的问题,达到音视频数据同步显示的效果。
4、采用H264硬编解码技术对音视频数据解码。
H264硬编解码技术是基于iOS系统的一种编解码技术,它提供了Video Toolbox框架,其中包括编码和解码的接口API。
使用时,先将VideoToolbox.framework添加到开发工程里,然后在使用API的文件中添加头文件#include<VideoToolbox/VideoToolbox.h>,最后使用AVSampleBufferDisplayLayer接口方法对音视频数据解码。
采用硬编解码技术与软编解码技术相比,硬编解码技术不占用系统CPU资源,编解码效率高。
如图2所示,一种音视频监控系统的具体实施方式如下:一种音视频监控系统包括设备端、服务器端和客户端三部分,设备端通过互联网和防火墙与服务器端连接,客户端通过WiFi或4G或4G+网络与路由器连接,路由器通过互联网与服务端连接。
设备端采集音视频数据,并将音视频数据压缩编码、打包后通过互联网发送到服务器端。
服务器端包括流媒体服务器和SIP信令服务器,流媒体服务器将设备端采集到的音视频数据通过互联网和WiFi或4G或4G+网络转发到客户端,SIP信令服务器负责转发系统中的信令消息,同时负责管理客户端中各个终端设备,流媒体服务器通过ICE与SIP服务器进行通信。
客户端包括终端设备以及音视频监控子系统,终端设备包括智能手机或平板电脑或台式机,音视频监控子系统包括用户界面模块、数据接收模块、数据同步模块以及数据解码播放模块。
用户界面模块包括用户登录界面、设备列表界面、多画面视频显示界面以及iOS系统特有的手势操作界面。
音视频监控子系统采用MVVM模式进行设计。
MVVM模式衍生于MVC模式,它是对MVC 的一种演进,促进了UI代码与业务逻辑的分离。
它正式规范了视图和控制器紧耦合的性质,并引入新的组件。
在iOS架构层面,对于网络层跟业务对接部分的设计问题,其实是以什么方式将数据交互给业务层以及交付什么的数据给业务层。