CN114173164B - 一种基于国标gb28181协议的平滑推流方法 - Google Patents
一种基于国标gb28181协议的平滑推流方法 Download PDFInfo
- Publication number
- CN114173164B CN114173164B CN202111553985.7A CN202111553985A CN114173164B CN 114173164 B CN114173164 B CN 114173164B CN 202111553985 A CN202111553985 A CN 202111553985A CN 114173164 B CN114173164 B CN 114173164B
- Authority
- CN
- China
- Prior art keywords
- data
- national standard
- protocol
- plug flow
- method based
- 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.)
- Active
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/2625—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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/643—Communication protocols
-
- 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/65—Transmission of management data between client and server
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于国标GB28181协议的平滑推流方法,通过在传输层采用udp协议,通过异或校验法,将异或校验码,写入国标协议拓展位来校验数据完整性,增加发送序列号,发送方在每发送完一个媒体包后就将该序列号的值增加1,接收方可以由该值检测包的丢失及恢复包序列;在检测丢包时,接收方通过序列号来使服务器进行重发;将媒体包,通过时间戳顺序进行排序,按照相应时间进行发送,以减少流量浪费;在过去的2秒,取每100毫秒的发流数据量,总共20组,做方差运算,通过方差值来检测网络波动,遇到网络波动时,降低发送频率,并且反馈给接收方。本发明能有效提升国标推流稳定性、减少丢包、卡顿问题,减少流量浪费。
Description
技术领域
本发明涉及计算机流媒体技术领域,具体为一种基于国标GB28181协议的平滑推流方法。
背景技术
在中国,有大量的公共摄像头是基于国标GB28181协议来实现直播、回放等媒体功能。
该标准规定了城市监控报警联网系统中信息传输、交换、控制的互联结构、通信协议结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。该标准适用于安全防范监控报警联网系统的方案设计、系统检测、验收以及与之相关的设备研发、生产,其他信息系统可参考采用。
然而此协议并未在码流传输稳定性与流程上有所规定,因此,在媒体传输稳定性上有所欠缺,抗丢包与防止网络抖动能力较差。并且因为目前的协议并不限速,在回放时容易发送超量数据,导致流量浪费。
发明内容
本发明的目的在于提供一种基于国标GB28181协议的平滑推流方法,以解决(1)国标推流过程中产生的丢包的问题;(2)国标推流的网络抖动,引发的推流速度不均匀、卡顿的问题,(3)国标推流中的流量浪费的问题。
为实现上述目的,本发明提供如下技术方案:一种基于国标GB28181协议的平滑推流方法,包括以下步骤;
步骤(1)、将媒体数据进行异或校验,求出校验码;
步骤(2)、将校验码写入国标协议拓展字段,并转换为大端字节序;
步骤(3)、检测数据时间戳,将数据放入发送队列;
步骤(4)、检测2秒内的发送数据,取每100毫秒的发流数据量,总共20组,做方差运算;
步骤(5)、检测方差如果大于0.5,放慢发流速度;
步骤(6)、根据音视频数据时间戳,计算预估渲染时间;
步骤(7)、将发送时间减去预估渲染时间,得出实际音视频发送延迟;
步骤(8)、查看此延迟具体数值,如果为负并小于基准值-200ms,则说明音视频数据提前到达,故进行缓存,以减少流量消耗,如果大于基准值则说明视频帧数据晚到,或延迟较低,立即发送数据;
步骤(9)、当缓存数据时间大于8s时,说明延迟过大,通过在扩展信息中填充警告信息,通知客户端;
步骤(10)、判断缓存队列长度,当超过40MB预设缓存,则通过遍历进行丢帧,一直到邻近的最后一个关键帧为止;
步骤(11)、增加发送全局的序列号,并写入国标的扩展字段之中;
步骤(12)、按照数据的时间间隔,发送媒体数据包;
步骤(13)、检测接收端反馈,收到重发指令,找到相应时间的数据,立即重发;
步骤(14)、检测接收端反馈,收到校验错误指令,通过校验码,找到相应时间的数据,立即重发。
优选的,步骤(1)中,求出校验码的具体公式为: checkSum = checkSum^data。
优选的,步骤(4)中,方差运算的公式为:
其中M为每100毫秒的发流数据量平均值,n为20。
优选的,步骤(5)中,还需要暂停2秒,来缓冲数据。
优选的,步骤(13)中,通过序列号找到相应时间的数据。
本发明提出的一种基于国标GB28181协议的平滑推流方法,有益效果在于:本发明能有效提升国标推流稳定性、减少丢包、卡顿问题,减少流量浪费。
附图说明
图1为本发明的流程图;
图2为本发明的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例,请参阅图1-2,本发明提供一种技术方案:一种基于国标GB28181协议的平滑推流方法,其特征在于:包括以下步骤;
步骤(1)、将媒体数据进行异或校验,求出校验码,具体公式为: checkSum =checkSum^data;
步骤(2)、将校验码写入国标协议拓展字段,并转换为大端字节序;
步骤(3)、检测数据时间戳,将数据放入发送队列;
步骤(4)、检测2秒内的发送数据,取每100毫秒的发流数据量,总共20组,做方差运算,公式为:
其中M为每100毫秒的发流数据量平均值,n为20;
步骤(5)、检测方差如果大于0.5,放慢发流速度,暂停2秒,来缓冲数据;
步骤(6)、根据音视频数据时间戳,计算预估渲染时间;
步骤(7)、将发送时间减去预估渲染时间,得出实际音视频发送延迟;
步骤(8)、查看此延迟具体数值,如果为负并小于基准值-200ms,则说明音视频数据提前到达,故进行缓存,以减少流量消耗,如果大于基准值则说明视频帧数据晚到,或延迟较低,立即发送数据;
步骤(9)、当缓存数据时间大于8s时,说明延迟过大,通过在扩展信息中填充警告信息,通知客户端;
步骤(10)、判断缓存队列长度,当超过40MB预设缓存,则通过遍历进行丢帧,一直到邻近的最后一个关键帧为止;
步骤(11)、增加发送全局的序列号,并写入国标的扩展字段之中;
步骤(12)、按照数据的时间间隔,发送媒体数据包;
步骤(13)、检测接收端反馈,收到重发指令,通过序列号找到相应时间的数据,立即重发;
步骤(14)、检测接收端反馈,收到校验错误指令,通过校验码,找到相应时间的数据,立即重发。
通过在传输层采用udp协议,通过异或校验法,将异或校验码,写入国标协议拓展位来校验数据完整性,增加发送序列号,发送方在每发送完一个媒体包后就将该序列号的值增加1,接收方可以由该值检测包的丢失及恢复包序列;在检测丢包时,接收方通过序列号来使服务器进行重发;将媒体包,通过时间戳顺序进行排序,按照相应时间进行发送,以减少流量浪费;在过去的2秒,取每100毫秒的发流数据量,总共20组,做方差运算,通过方差值来检测网络波动,遇到网络波动时,降低发送频率,并且反馈给接收方。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种基于国标GB28181协议的平滑推流方法,其特征在于:包括以下步骤;
步骤(1)、将媒体数据进行异或校验,求出校验码;
步骤(2)、将校验码写入国标协议拓展字段,并转换为大端字节序;
步骤(3)、检测数据时间戳,将数据放入发送队列;
步骤(4)、检测2秒内的发送数据,取每100毫秒的发流数据量,总共20组,做方差运算;
步骤(5)、检测方差如果大于0.5,放慢发流速度;
步骤(6)、根据音视频数据时间戳,计算预估渲染时间;
步骤(7)、将发送时间减去预估渲染时间,得出实际音视频发送延迟;
步骤(8)、查看此延迟具体数值,如果为负并小于基准值-200ms,则说明音视频数据提前到达,故进行缓存,以减少流量消耗,如果大于基准值则说明视频帧数据晚到,或延迟较低,立即发送数据;
步骤(9)、当缓存数据时间大于8s时,说明延迟过大,通过在扩展信息中填充警告信息,通知客户端;
步骤(10)、判断缓存队列长度,当超过40MB预设缓存,则通过遍历进行丢帧,一直到邻近的最后一个关键帧为止;
步骤(11)、增加发送全局的序列号,并写入国标的扩展字段之中;
步骤(12)、按照数据的时间间隔,发送媒体数据包;
步骤(13)、检测接收端反馈,收到重发指令,找到相应时间的数据,立即重发;
步骤(14)、检测接收端反馈,收到校验错误指令,通过校验码,找到相应时间的数据,立即重发。
2.根据权利要求1所述的一种基于国标GB28181协议的平滑推流方法,其特征在于:步骤(1)中,求出校验码的具体公式为: checkSum = checkSum^data。
3.根据权利要求1所述的一种基于国标GB28181协议的平滑推流方法,其特征在于:步骤(4)中,方差运算的公式为:
其中M为每100毫秒的发流数据量平均值,n为20。
4.根据权利要求1所述的一种基于国标GB28181协议的平滑推流方法,其特征在于:步骤(5)中,还需要暂停2秒,来缓冲数据。
5.根据权利要求1所述的一种基于国标GB28181协议的平滑推流方法,其特征在于:步骤(13)中,通过序列号找到相应时间的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553985.7A CN114173164B (zh) | 2021-12-18 | 2021-12-18 | 一种基于国标gb28181协议的平滑推流方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111553985.7A CN114173164B (zh) | 2021-12-18 | 2021-12-18 | 一种基于国标gb28181协议的平滑推流方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114173164A CN114173164A (zh) | 2022-03-11 |
CN114173164B true CN114173164B (zh) | 2023-08-15 |
Family
ID=80487400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111553985.7A Active CN114173164B (zh) | 2021-12-18 | 2021-12-18 | 一种基于国标gb28181协议的平滑推流方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114173164B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011142133A1 (ja) * | 2010-05-11 | 2011-11-17 | エイシップ・ソリューションズ株式会社 | 誤り訂正符号処理方法及びその装置 |
CN104009830A (zh) * | 2014-06-18 | 2014-08-27 | 中国人民解放军理工大学 | 基于有限集合网络编码arq的大规模接收端数据广播方法 |
WO2018054171A1 (zh) * | 2016-09-22 | 2018-03-29 | 腾讯科技(深圳)有限公司 | 通话方法、装置、计算机存储介质及终端 |
US10334322B1 (en) * | 2018-01-30 | 2019-06-25 | David Antony Seddon | System and method for media delivery on broadcast video networks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574351B2 (en) * | 1999-12-14 | 2009-08-11 | Texas Instruments Incorporated | Arranging CELP information of one frame in a second packet |
US8004963B2 (en) * | 2008-02-27 | 2011-08-23 | Audividi Inc. | Apparatus and method for packet redundancy and recovery |
JP4896931B2 (ja) * | 2008-06-24 | 2012-03-14 | 株式会社東芝 | 検査符号生成方法 |
-
2021
- 2021-12-18 CN CN202111553985.7A patent/CN114173164B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011142133A1 (ja) * | 2010-05-11 | 2011-11-17 | エイシップ・ソリューションズ株式会社 | 誤り訂正符号処理方法及びその装置 |
CN104009830A (zh) * | 2014-06-18 | 2014-08-27 | 中国人民解放军理工大学 | 基于有限集合网络编码arq的大规模接收端数据广播方法 |
WO2018054171A1 (zh) * | 2016-09-22 | 2018-03-29 | 腾讯科技(深圳)有限公司 | 通话方法、装置、计算机存储介质及终端 |
US10334322B1 (en) * | 2018-01-30 | 2019-06-25 | David Antony Seddon | System and method for media delivery on broadcast video networks |
Non-Patent Citations (1)
Title |
---|
韩滨旭 ; 沈玉玲 ; 王子萍 ; .可兼容GB28181与Onvif播放媒体流的视频服务器.计算机应用与软件.2018,(07),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114173164A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10542064B2 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
CN101155311B (zh) | 一种视频通信中的视频码流错误检测和处理方法 | |
CN107979449B (zh) | 一种数据传输方法及装置 | |
CN101488967B (zh) | 一种视频传输方法、嵌入式监控终端及监控平台服务器 | |
EP0969623A3 (en) | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems | |
EP0973294A3 (en) | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems | |
US11070327B2 (en) | Method and apparatus for re-transmitting MMT packet and method and apparatus for requesting MMT packet re-transmission | |
JP2024509728A (ja) | データ再送処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
JPH09191314A (ja) | 連続データ伝送方法および連続データ伝送装置 | |
JP2002524915A (ja) | 低待ち時間通信用のシステムおよび方法 | |
CN102790666A (zh) | 差错控制的方法、接收端、发送端和系统 | |
CN1917639A (zh) | 使用丢包重传的视频信号增强方法 | |
CN104486243A (zh) | 数据传输方法、设备及系统 | |
CN104284135A (zh) | 视频传输方法及设备 | |
CN114173164B (zh) | 一种基于国标gb28181协议的平滑推流方法 | |
CN101944982A (zh) | 基于时间驱动滑动窗口协议的流媒体实时转发方法 | |
WO2009006858A1 (fr) | Procédé, système et dispositif d'émission et de réception d'informations | |
CN101162974B (zh) | 一种组播视频存储的方法、系统及设备 | |
CN113765626B (zh) | 一种移动通信系统的数据传输方法和装置 | |
US20050094632A1 (en) | DOCSIS MAC layer-based ARQ for fixed wireless | |
CN104506383A (zh) | 衡量服务器在tcp传输中对数据处理效率的方法及系统 | |
JPH05191454A (ja) | データ転送方式 | |
CN109274980A (zh) | 一种用于快速直播的数据传输方法 | |
WO2022083371A1 (zh) | 一种数据传输方法和装置 | |
Samaraweera | Return link optimization for internet service provision using DVB-S networks |
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 |