CN110381350A - 基于webrtc的多路录像回放同步系统及其处理方法 - Google Patents
基于webrtc的多路录像回放同步系统及其处理方法 Download PDFInfo
- Publication number
- CN110381350A CN110381350A CN201910554001.3A CN201910554001A CN110381350A CN 110381350 A CN110381350 A CN 110381350A CN 201910554001 A CN201910554001 A CN 201910554001A CN 110381350 A CN110381350 A CN 110381350A
- Authority
- CN
- China
- Prior art keywords
- module
- video
- playback
- webrtc
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开基于webrtc的多路录像回放同步系统及其处理方法,基于webrtc的多路录像回放同步系统包括:视频存储模块,视频帧同步模块,Webrtc发包模块,回放评估模块,回放控制模块,视频源,回放代理模块,webrtc收包模块,webrtc解码模块,webrtc渲染模块;采用本发明的技术方案,webrtc技术因为多路回视频放有独立收发包重传、视频解码、视频渲染延时,在多路录像在回放速度高,本发明通过视频帧同步模块帧同步发送,保证webrtc发送一致性,减低多路回放不同步可能性,通过回放评估模块评估延时小与延时大的视频回放,通过视频帧同步模块使用丢帧与延时方法修正到其他视频回放一致。
Description
技术领域
本发明涉及视频处理相关技术领域,具体涉及基于webrtc的多路录像回放同步系统及其处理方法。
背景技术
随着HTML5技术普及,IE插件技术逐步淘汰,webrtc成为浏览器交换视频与音频的主要方案。视频监控的浏览器客户前端也切开始到webrtc技术,多路视频回放是视频监控客户端一个常用功能,几个历史回放视频同时查看莫一时间点。但webrtc与HTML5缺乏多路视频录像同步播放机制,webrtc技术因为多路有独立收包重传、视频解码、视频渲染延时,在多路录像在回放速度高,必然出现多路回放不同步。
发明内容
本发明的目的在于提供基于webrtc的多路录像回放同步系统及其处理方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于webrtc的多路录像回放同步系统,包括:视频存储模块(1),视频帧同步模块(2),Webrtc发包模块(3),回放评估模块(4),回放控制模块(5),视频源(6),浏览器的回放代理模块(7),浏览器的webrtc收包模块(8),浏览器的webrtc解码模块(9),浏览器的webrtc渲染模块(10);
视频存储模块(1):视频的存储与读取模块,负责把多路视频源(6)的视频进行存储,为视频帧同步模块(2)发送历史回放视频的视频帧,向回放评估模块(5)提供各个视频源(6)的历史回放视频的帧率;接收回放控制模块(5)的回放速度控制,进行回放控制请求;
视频帧同步模块(2):多路视频的帧同步模块,使用丢帧策略与延时测试持多路视频图像回放同步;从视频存储模块(1)接收历史录像,接收回放评估模块(4)的丢帧控制与延时发送帧策略,同步多路视频的历史回放视频,向webrtc发包模块(3)转发历史回放视频;视频帧同步模块(2)丢帧控制通过丢弃视频帧的P帧与保留I帧,保证图像的连续与同步;
Webrtc发包模块(3):webrtc视频回放服务发包模块,通过webrtc的srtp协议把多路历史回放视频的视频帧发送给浏览器的webrtc收包模块(8);Webrtc发包模块把各个历史回放视频的视频帧的发送队列长度时上报给回放评估模块(4);
其中:WebRTC,名称源自网页实时通信(WebReal-TimeCommunication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术;
回放评估模块(4):接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送队列长度,通过回放控制模块(5)与回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数来计算多路历史回放视频的时间差,选择延时居中历史回放视频做基准,对偏差较小延时较大的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时较小的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;偏差较大延时较大的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10),进行强行同步;回放评估模块(4)接收回放控制模块(5)的快进与慢进进行调整丢帧策略,当检测到快进模块导致码流递增引发wetrtc视频回放服务丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
回放控制模块(5):回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
视频源(6):能产生视频数据的设备,如监控视频摄像头、移动单兵设备、执法记录仪等设备;视频源把历史视频存储到视频存储模块(1);
回放代理模块(7):回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);接收用户的回放控制请求发送给回放控制模块(5);接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
webrtc收包模块(8):webrtc收包模块(8)接收Webrtc发包模块(3)的视频包,并统计丢包率,发送给回放代理模块(7);
webrtc解码模块(9):接收webrtc收包模块(8)的视频包,进行解码,解码后视频数据发送给webrtc渲染模块(10);webrtc解码模块(9)统计解码帧数发送给回放代理模块(7);
webrtc渲染模块(10):接收webrtc解码模块(9)的视频数据进行渲染,webrtc渲染模块(10)发送延时渲染帧数。
本发明还提供一种基于webrtc的多路录像回放同步处理方法,包括如下步骤:
步骤(1)、视频存储模块(1)接收视频源(6)的视频数据存储为文件,并使用独立索引文件记录I帧位置与时间;
步骤(2)、视频存储模块(1)接收回放控制模块(5)的回放控制请求,根据索引文件快速找到播放时间文件数据,实现回放速度控制;视频存储模块(1)把视频数据按照视频帧并携带该帧时间戳发送给视频帧同步模块(2);
步骤(3)、回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;
步骤(4)、回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
步骤(5)、视频存储模块(1)统计视频源的历史数据码流,向回放评估模块(5)提供各个视频源(6)的历史回放的帧率;
步骤(6)、回放评估模块(4)接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送帧数,webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧;计算多路历史回放视频的时间差;
回放时间差计算方式:((接收Webrtc发包模块(3)的发送帧数-解码模块(9)的解码帧数)+webrtc渲染模块(10)的延时渲染帧数)/帧率;
步骤(7)、回放评估模块(4)选择回放时间差平均值历史回放视频做基准,对延时比平均值大于L1(如400毫秒)到L2(如1000毫秒)范围的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时比平均值小于L3(如100毫秒)的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;对于比延时平均值大于L2的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
步骤(8)、回放评估模块(4)收集webrtc收包模块(8)的丢包率,做为网络带宽评估依据,多路回放导致码流递增引发wetrtc视频传递丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
步骤(9)、视频帧同步模块(2)接收视频存储模块(1)的视频数据的视频帧与帧时间戳,保存到帧队列中;
步骤(10)、视频帧同步模块(2)接收回放控制模块(5)的回放速度控制指令,视频帧同步模块(2)获取回放视频中帧率最高作为基准帧率;视频帧同步模块(2)对所有回放录像按照基准帧率fr进行发送,发送周期为1/(基准帧率fr×回放速度),在每个发送周期视频帧同步模块(2)检测帧队列的视频帧的时间戳小于等于基准发送时间戳,全部发送视频帧给webrtc发送模块;
步骤(11)、视频帧同步模块(2)接收回放评估模块(4)的丢帧控制时,则只发送该视频源的I帧与丢弃P帧,降低减低该路视频源的历史视频码流;保证高码流高延时的视频源与其他视频源的历史回放同步回放;
步骤(12)、视频帧同步模块(2)接收回放评估模块(4)的延时T秒后发送帧,在每个发送周期视频帧同步模块(2)检测该视频源的视频帧的时间间戳+延时T秒小于等于基准发送时间戳,符合则发送视频帧给webrtc发送模块,保证低码流低延时视频源与其他视频源的历史回放同步回放;
步骤(13)、回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);
步骤(14)、回放代理模块(7)接收用户的回放控制请求发送给回放控制模块(5);
步骤(15)、回放代理模块(7)接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);当一路图像已经出现严重不同步时,通过清楚收包缓存区,与渲染队列来进行快速同步恢复。
名称说明
I帧:关键帧,intra picture做为随机访问的参考点,可以当成图像;
P帧:参考帧,P帧由在它前面的P帧或者I帧预测而来;
与现有技术相比,本发明的有益效果是:
采用本发明的技术方案,webrtc技术因为多路回视频放有独立收发包重传、视频解码、视频渲染延时,在多路录像在回放速度高,因为多路视频回放码率与帧率各个不同,必然导致多路回放不同步,本发明通过视频帧同步模块(2)帧同步发送,保证webrtc发送一致性,减低多路回放不同步可能性,通过回放评估模块(4)评估延时小与延时大的视频回放,通过视频帧同步模块(2)使用丢帧与延时方法修正到其他视频回放一致。
附图说明
图1为本发明的功能框架示意图;
图中数字标注:视频存储模块(1),视频帧同步模块(2),Webrtc发包模块(3),回放评估模块(4),回放控制模块(5),视频源(6),回放代理模块(7),webrtc收包模块(8),webrtc解码模块(9),webrtc渲染模块(10)。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于webrtc的多路录像回放同步系统,包括:视频存储模块(1),视频帧同步模块(2),Webrtc发包模块(3),回放评估模块(4),回放控制模块(5),视频源(6),浏览器的回放代理模块(7),浏览器的webrtc收包模块(8),浏览器的webrtc解码模块(9),浏览器的webrtc渲染模块(10);
视频存储模块(1):视频的存储与读取模块,负责把多路视频源(6)的视频进行存储,为视频帧同步模块(2)发送历史回放视频的视频帧,向回放评估模块(5)提供各个视频源(6)的历史回放视频的帧率;接收回放控制模块(5)的回放速度控制,进行回放控制请求;
视频帧同步模块(2):多路视频的帧同步模块,使用丢帧策略与延时测试持多路视频图像回放同步;从视频存储模块(1)接收历史录像,接收回放评估模块(4)的丢帧控制与延时发送帧策略,同步多路视频的历史回放视频,向webrtc发包模块(3)转发历史回放视频;视频帧同步模块(2)丢帧控制通过丢弃视频帧的P帧与保留I帧,保证图像的连续与同步;
Webrtc发包模块(3):webrtc视频回放服务发包模块,通过webrtc的srtp协议把多路历史回放视频的视频帧发送给浏览器的webrtc收包模块(8);Webrtc发包模块把各个历史回放视频的视频帧的发送队列长度时上报给回放评估模块(4);
其中:WebRTC,名称源自网页实时通信(WebReal-TimeCommunication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术;
回放评估模块(4):接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送队列长度,通过回放控制模块(5)与回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数来计算多路历史回放视频的时间差,选择延时居中历史回放视频做基准,对偏差较小延时较大的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时较小的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;偏差较大延时较大的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10),进行强行同步;回放评估模块(4)接收回放控制模块(5)的快进与慢进进行调整丢帧策略,当检测到快进模块导致码流递增引发wetrtc视频回放服务丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
回放控制模块(5):回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
视频源(6):能产生视频数据的设备,如监控视频摄像头、移动单兵设备、执法记录仪等设备;视频源把历史视频存储到视频存储模块(1);
回放代理模块(7):回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);接收用户的回放控制请求发送给回放控制模块(5);接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
webrtc收包模块(8):webrtc收包模块(8)接收Webrtc发包模块(3)的视频包,并统计丢包率,发送给回放代理模块(7);
webrtc解码模块(9):接收webrtc收包模块(8)的视频包,进行解码,解码后视频数据发送给webrtc渲染模块(10);webrtc解码模块(9)统计解码帧数发送给回放代理模块(7);
webrtc渲染模块(10):接收webrtc解码模块(9)的视频数据进行渲染,webrtc渲染模块(10)发送延时渲染帧数。
本发明还提供一种基于webrtc的多路录像回放同步处理方法,包括如下步骤:
步骤(1)、视频存储模块(1)接收视频源(6)的视频数据存储为文件,并使用独立索引文件记录I帧位置与时间;
步骤(2)、视频存储模块(1)接收回放控制模块(5)的回放控制请求,根据索引文件快速找到播放时间文件数据,实现回放速度控制;视频存储模块(1)把视频数据按照视频帧并携带该帧时间戳发送给视频帧同步模块(2);
步骤(3)、回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;
步骤(4)、回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
步骤(5)、视频存储模块(1)统计视频源的历史数据码流,向回放评估模块(5)提供各个视频源(6)的历史回放的帧率;
步骤(6)、回放评估模块(4)接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送帧数,webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧;计算多路历史回放视频的时间差;
回放时间差计算方式:((接收Webrtc发包模块(3)的发送帧数-解码模块(9)的解码帧数)+webrtc渲染模块(10)的延时渲染帧数)/帧率;
步骤(7)、回放评估模块(4)选择回放时间差平均值历史回放视频做基准,对延时比平均值大于L1(如400毫秒)到L2(如1000毫秒)范围的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时比平均值小于L3(如100毫秒)的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;对于比延时平均值大于L2的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
步骤(8)、回放评估模块(4)收集webrtc收包模块(8)的丢包率,做为网络带宽评估依据,多路回放导致码流递增引发wetrtc视频传递丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
步骤(9)、视频帧同步模块(2)接收视频存储模块(1)的视频数据的视频帧与帧时间戳,保存到帧队列中;
步骤(10)、视频帧同步模块(2)接收回放控制模块(5)的回放速度控制指令,视频帧同步模块(2)获取回放视频中帧率最高作为基准帧率;视频帧同步模块(2)对所有回放录像按照基准帧率fr进行发送,发送周期为1/(基准帧率fr×回放速度),在每个发送周期视频帧同步模块(2)检测帧队列的视频帧的时间戳小于等于基准发送时间戳,全部发送视频帧给webrtc发送模块;
步骤(11)、视频帧同步模块(2)接收回放评估模块(4)的丢帧控制时,则只发送该视频源的I帧与丢弃P帧,降低减低该路视频源的历史视频码流;保证高码流高延时的视频源与其他视频源的历史回放同步回放;
步骤(12)、视频帧同步模块(2)接收回放评估模块(4)的延时T秒后发送帧,在每个发送周期视频帧同步模块(2)检测该视频源的视频帧的时间间戳+延时T秒小于等于基准发送时间戳,符合则发送视频帧给webrtc发送模块,保证低码流低延时视频源与其他视频源的历史回放同步回放;
步骤(13)、回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);
步骤(14)、回放代理模块(7)接收用户的回放控制请求发送给回放控制模块(5);
步骤(15)、回放代理模块(7)接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);当一路图像已经出现严重不同步时,通过清楚收包缓存区,与渲染队列来进行快速同步恢复。
名称说明
I帧:关键帧,intra picture做为随机访问的参考点,可以当成图像;
P帧:参考帧,P帧由在它前面的P帧或者I帧预测而来;
与现有技术相比,本发明的有益效果是:
采用本发明的技术方案,webrtc技术因为多路回视频放有独立收发包重传、视频解码、视频渲染延时,在多路录像在回放速度高,因为多路视频回放码率与帧率各个不同,必然导致多路回放不同步,本发明通过视频帧同步模块(2)帧同步发送,保证webrtc发送一致性,减低多路回放不同步可能性,通过回放评估模块(4)评估延时小与延时大的视频回放,通过视频帧同步模块(2)使用丢帧与延时方法修正到其他视频回放一致。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种基于webrtc的多路录像回放同步系统,其特征在于,包括:视频存储模块(1),视频帧同步模块(2),Webrtc发包模块(3),回放评估模块(4),回放控制模块(5),视频源(6),浏览器的回放代理模块(7),浏览器的webrtc收包模块(8),浏览器的webrtc解码模块(9),浏览器的webrtc渲染模块(10);
视频存储模块(1):视频的存储与读取模块,负责把多路视频源(6)的视频进行存储,为视频帧同步模块(2)发送历史回放视频的视频帧,向回放评估模块(5)提供各个视频源(6)的历史回放视频的帧率;接收回放控制模块(5)的回放速度控制,进行回放控制请求;
视频帧同步模块(2):多路视频的帧同步模块,使用丢帧策略与延时测试持多路视频图像回放同步;从视频存储模块(1)接收历史录像,接收回放评估模块(4)的丢帧控制与延时发送帧策略,同步多路视频的历史回放视频,向webrtc发包模块(3)转发历史回放视频;视频帧同步模块(2)丢帧控制通过丢弃视频帧的P帧与保留I帧,保证图像的连续与同步;
Webrtc发包模块(3):webrtc视频回放服务发包模块,通过webrtc的srtp协议把多路历史回放视频的视频帧发送给浏览器的webrtc收包模块(8);Webrtc发包模块把各个历史回放视频的视频帧的发送队列长度时上报给回放评估模块(4);
回放评估模块(4):接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送队列长度,通过回放控制模块(5)与回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数来计算多路历史回放视频的时间差,选择延时居中历史回放视频做基准,对偏差较小延时较大的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时较小的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;偏差较大延时较大的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10),进行强行同步;回放评估模块(4)接收回放控制模块(5)的快进与慢进进行调整丢帧策略,当检测到快进模块导致码流递增引发wetrtc视频回放服务丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
回放控制模块(5):回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
视频源(6):能产生视频数据的设备,如监控视频摄像头、移动单兵设备、执法记录仪;视频源(6)把历史视频存储到视频存储模块(1);
回放代理模块(7):回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);接收用户的回放控制请求发送给回放控制模块(5);接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
webrtc收包模块(8):webrtc收包模块(8)接收Webrtc发包模块(3)的视频包,并统计丢包率,发送给回放代理模块(7);
webrtc解码模块(9):接收webrtc收包模块(8)的视频包,进行解码,解码后视频数据发送给webrtc渲染模块(10);webrtc解码模块(9)统计解码帧数发送给回放代理模块(7);
webrtc渲染模块(10):接收webrtc解码模块(9)的视频数据进行渲染,webrtc渲染模块(10)发送延时渲染帧数。
2.根据权利要求1中的一种基于webrtc的多路录像回放同步系统的同步处理方法,其特征在于,包括如下步骤:
步骤(1)、视频存储模块(1)接收视频源(6)的视频数据存储为文件,并使用独立索引文件记录I帧位置与时间;
步骤(2)、视频存储模块(1)接收回放控制模块(5)的回放控制请求,根据索引文件快速找到播放时间文件数据,实现回放速度控制;视频存储模块(1)把视频数据按照视频帧并携带该帧时间戳发送给视频帧同步模块(2);
步骤(3)、回放控制模块(5)接收回放代理模块(7)的回放速度控制,视频帧同步模块(2)通知视频存储模块(1)回放控制速度读取数据,通知视频帧同步模块(2)按照回放速度进行同步控制;
步骤(4)、回放控制模块(5)接收回放代理模块(7)收集浏览器的webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数,转发给回放评估模块(4);
步骤(5)、视频存储模块(1)统计视频源的历史数据码流,向回放评估模块(5)提供各个视频源(6)的历史回放的帧率;
步骤(6)、回放评估模块(4)接收视频存储模块(1)的历史回放视频的帧率,接收Webrtc发包模块(3)的发送帧数,webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧;计算多路历史回放视频的时间差;
回放时间差计算方式:((接收Webrtc发包模块(3)的发送帧数-webrtc解码模块(9)的解码帧数)+webrtc渲染模块(10)的延时渲染帧数)/帧率;
步骤(7)、回放评估模块(4)选择回放时间差平均值历史回放视频做基准,对延时比平均值大于L1到L2范围的历史回放视频进行通知视频帧同步模块(4)进行丢帧处理,对延时比平均值小于L3的历史回放视频进行通知视频帧同步模块(4)进行延时发帧处理;对于比延时平均值大于L2的历史回放视频通过回放控制模块(5)通知回放代理模块(7)重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);
步骤(8)、回放评估模块(4)收集webrtc收包模块(8)的丢包率,做为网络带宽评估依据,多路回放导致码流递增引发wetrtc视频传递丢包率过高时,对所有历史回放视频进行通知视频帧同步模块(4)进行丢帧处理;
步骤(9)、视频帧同步模块(2)接收视频存储模块(1)的视频数据的视频帧与帧时间戳,保存到帧队列中;
步骤(10)、视频帧同步模块(2)接收回放控制模块(5)的回放速度控制指令,视频帧同步模块(2)获取回放视频中帧率最高作为基准帧率;视频帧同步模块(2)对所有回放录像按照基准帧率fr进行发送,发送周期为1/(基准帧率fr×回放速度),在每个发送周期视频帧同步模块(2)检测帧队列的视频帧的时间戳小于等于基准发送时间戳,全部发送视频帧给webrtc发送模块;
步骤(11)、视频帧同步模块(2)接收回放评估模块(4)的丢帧控制时,则只发送该视频源的I帧与丢弃P帧,降低减低该路视频源的历史视频码流;保证高码流高延时的视频源与其他视频源的历史回放同步回放;
步骤(12)、视频帧同步模块(2)接收回放评估模块(4)的延时T秒后发送帧,在每个发送周期视频帧同步模块(2)检测该视频源的视频帧的时间间戳+延时T秒小于等于基准发送时间戳,符合则发送视频帧给webrtc发送模块,保证低码流低延时视频源与其他视频源的历史回放同步回放;
步骤(13)、回放代理模块(7)收集webrtc收包模块(8)的丢包率、webrtc解码模块(9)的帧数、webrtc渲染模块(10)的延时渲染帧数发送给回放控制模块(5);
步骤(14)、回放代理模块(7)接收用户的回放控制请求发送给回放控制模块(5);
步骤(15)、回放代理模块(7)接收回放控制模块(5)的重置请求,重置webrtc收包模块(8)、webrtc解码模块(9)、webrtc渲染模块(10);当一路图像已经出现严重不同步时,通过清楚收包缓存区,与渲染队列来进行快速同步恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554001.3A CN110381350B (zh) | 2019-06-25 | 2019-06-25 | 基于webrtc的多路录像回放同步系统及其处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554001.3A CN110381350B (zh) | 2019-06-25 | 2019-06-25 | 基于webrtc的多路录像回放同步系统及其处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110381350A true CN110381350A (zh) | 2019-10-25 |
CN110381350B CN110381350B (zh) | 2021-07-30 |
Family
ID=68250624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910554001.3A Active CN110381350B (zh) | 2019-06-25 | 2019-06-25 | 基于webrtc的多路录像回放同步系统及其处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381350B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153445A (zh) * | 2020-09-25 | 2020-12-29 | 四川湖山电器股份有限公司 | 一种分布式视频显示系统同步解码播放方法及系统 |
WO2021136331A1 (en) * | 2019-12-31 | 2021-07-08 | Qualcomm Incorporated | Software vsync filtering |
CN113691585A (zh) * | 2021-07-16 | 2021-11-23 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN115250357A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
CN116132751A (zh) * | 2022-12-30 | 2023-05-16 | 郑州小鸟信息科技有限公司 | 一种基于web窗口场景同步回放的方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102522096A (zh) * | 2011-12-07 | 2012-06-27 | 中国航空无线电电子研究所 | 多路音视频同步回放系统及其方法 |
CN102750962A (zh) * | 2012-06-11 | 2012-10-24 | 杭州海康威视数字技术股份有限公司 | 一种录像文件的回放方法及装置 |
CN103702013A (zh) * | 2013-11-28 | 2014-04-02 | 北京航空航天大学 | 一种用于多路实时视频的帧同步方法 |
US20150180748A1 (en) * | 2013-12-20 | 2015-06-25 | Futurewei Technologies Inc. | METHOD AND APPARATUS OF WebRTC MEDIA CONTROL |
CN105872044A (zh) * | 2016-03-30 | 2016-08-17 | 华南理工大学 | 基于WebRTC的流媒体多级缓存网络加速系统和方法 |
CN108206833A (zh) * | 2018-01-11 | 2018-06-26 | 福建星网锐捷通讯股份有限公司 | 音视频数据传输方法及其系统 |
CN108259993A (zh) * | 2018-01-11 | 2018-07-06 | 杭州叙简科技股份有限公司 | 基于网络组合视频流桌面上墙投大屏方法及其显示系统 |
WO2018204117A1 (en) * | 2017-05-05 | 2018-11-08 | Sorenson Ip Holdings, Llc | Web real-time communication from an audiovisual file |
CN108924631A (zh) * | 2018-06-27 | 2018-11-30 | 杭州叙简科技股份有限公司 | 一种基于音视频分流存储的录像生成方法 |
CN109495760A (zh) * | 2018-12-25 | 2019-03-19 | 虎扑(上海)文化传播股份有限公司 | 一种多组摄像头同步直播的方法 |
-
2019
- 2019-06-25 CN CN201910554001.3A patent/CN110381350B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102522096A (zh) * | 2011-12-07 | 2012-06-27 | 中国航空无线电电子研究所 | 多路音视频同步回放系统及其方法 |
CN102750962A (zh) * | 2012-06-11 | 2012-10-24 | 杭州海康威视数字技术股份有限公司 | 一种录像文件的回放方法及装置 |
CN102750962B (zh) * | 2012-06-11 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | 一种录像文件的回放方法及装置 |
CN103702013A (zh) * | 2013-11-28 | 2014-04-02 | 北京航空航天大学 | 一种用于多路实时视频的帧同步方法 |
US20150180748A1 (en) * | 2013-12-20 | 2015-06-25 | Futurewei Technologies Inc. | METHOD AND APPARATUS OF WebRTC MEDIA CONTROL |
CN105872044A (zh) * | 2016-03-30 | 2016-08-17 | 华南理工大学 | 基于WebRTC的流媒体多级缓存网络加速系统和方法 |
WO2018204117A1 (en) * | 2017-05-05 | 2018-11-08 | Sorenson Ip Holdings, Llc | Web real-time communication from an audiovisual file |
CN108206833A (zh) * | 2018-01-11 | 2018-06-26 | 福建星网锐捷通讯股份有限公司 | 音视频数据传输方法及其系统 |
CN108259993A (zh) * | 2018-01-11 | 2018-07-06 | 杭州叙简科技股份有限公司 | 基于网络组合视频流桌面上墙投大屏方法及其显示系统 |
CN108924631A (zh) * | 2018-06-27 | 2018-11-30 | 杭州叙简科技股份有限公司 | 一种基于音视频分流存储的录像生成方法 |
CN109495760A (zh) * | 2018-12-25 | 2019-03-19 | 虎扑(上海)文化传播股份有限公司 | 一种多组摄像头同步直播的方法 |
Non-Patent Citations (2)
Title |
---|
VOLKER JUNG等: "A web-based media synchronization framework for MPEG-DASH", 《 2014 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO WORKSHOPS (ICMEW)》 * |
倪冰等: "一种以音频为基准的视频捕获丢帧补偿算法的研究", 《中国有线电视》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021136331A1 (en) * | 2019-12-31 | 2021-07-08 | Qualcomm Incorporated | Software vsync filtering |
US11935502B2 (en) | 2019-12-31 | 2024-03-19 | Qualcomm Incorporated | Software Vsync filtering |
CN112153445A (zh) * | 2020-09-25 | 2020-12-29 | 四川湖山电器股份有限公司 | 一种分布式视频显示系统同步解码播放方法及系统 |
CN112153445B (zh) * | 2020-09-25 | 2022-04-12 | 四川湖山电器股份有限公司 | 一种分布式视频显示系统同步解码播放方法及系统 |
CN115250357A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
CN115250357B (zh) * | 2021-04-26 | 2024-04-12 | 海信集团控股股份有限公司 | 终端设备、视频处理方法和电子设备 |
CN113691585A (zh) * | 2021-07-16 | 2021-11-23 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN113691585B (zh) * | 2021-07-16 | 2024-02-02 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN116132751A (zh) * | 2022-12-30 | 2023-05-16 | 郑州小鸟信息科技有限公司 | 一种基于web窗口场景同步回放的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110381350B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381350A (zh) | 基于webrtc的多路录像回放同步系统及其处理方法 | |
CN104618786B (zh) | 音视频同步方法和装置 | |
US20230256345A1 (en) | Game data processing method and apparatus, and storage medium | |
CN108696773B (zh) | 一种实时视频的传输方法及装置 | |
CN107147919B (zh) | 直播快速启播方法及系统 | |
US8644316B2 (en) | In-band media performance monitoring | |
KR101464456B1 (ko) | 비디오 데이터 품질 평가 방법 및 장치 | |
CN101588494B (zh) | 一种媒体流处理方法及通讯系统以及相关设备 | |
CN105791939B (zh) | 音频与视频的同步方法及装置 | |
CN109361945A (zh) | 一种快速传输及同步的会议视听系统及其控制方法 | |
CN110139148B (zh) | 一种视频切换清晰度的方法及相关装置 | |
CN104394421A (zh) | 视频帧的处理方法及装置 | |
CN102202210B (zh) | 手机播放实时监控视频的方法及播放实时监控视频的手机 | |
US20130091528A1 (en) | Video reproduction system, receive terminal, home gateway device, and quality control system | |
CN109587551A (zh) | 一种流媒体直播卡顿的判断方法、装置、设备及存储介质 | |
CN103546662A (zh) | 一种网络监控系统中音视频同步方法 | |
CN104284135B (zh) | 视频传输方法及设备 | |
CN108600859B (zh) | 一种数据切片方法及系统 | |
CN107465564B (zh) | Vod服务质量监测系统及方法 | |
CN102752669A (zh) | 多通道实时流媒体文件的传送处理方法与系统、接收装置 | |
CN107105224A (zh) | 一种视频体验质量评估的方法、装置与系统 | |
CN112073543B (zh) | 一种云视频录制方法、系统和可读存储介质 | |
CN109714622A (zh) | 一种视频数据处理方法、装置及电子设备 | |
EP2654309A1 (en) | Method and device for evaluating video quality | |
CN114189711A (zh) | 视频处理方法和装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A multi-channel video playback synchronization system based on webrtc and its processing method Effective date of registration: 20231007 Granted publication date: 20210730 Pledgee: Guotou Taikang Trust Co.,Ltd. Pledgor: HANGZHOU XUJIAN SCIENCE AND TECHNOLOGY Co.,Ltd. Registration number: Y2023980059619 |