CN111918142A - 国标视频码流转rtp流的平顺方法、装置、设备及介质 - Google Patents
国标视频码流转rtp流的平顺方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111918142A CN111918142A CN202010745598.2A CN202010745598A CN111918142A CN 111918142 A CN111918142 A CN 111918142A CN 202010745598 A CN202010745598 A CN 202010745598A CN 111918142 A CN111918142 A CN 111918142A
- Authority
- CN
- China
- Prior art keywords
- data
- rtp
- national standard
- data frame
- video data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000009499 grossing Methods 0.000 title claims abstract description 38
- 239000000872 buffer Substances 0.000 claims abstract description 67
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/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
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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/26208—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 the scheduling operation being performed under constraints
-
- 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/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- 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)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种国标视频码流转RTP流的平顺方法,涉及视频处理领域,旨在解决国标视频码流传输时的发包不均匀以及视频卡顿的问题,该方法包含以下步骤:接收包含国标视频数据的数据包;将所述国标视频数据转换为RTP视频数据;将所述RTP视频数据至缓存队列;当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据。本发明还公开了一种国标视频码流转RTP流的平顺装置、电子设备和计算机存储介质。
Description
技术领域
本发明涉及视频处理领域,尤其涉及一种国标视频码流转RTP流的平顺方法、装置、设备及介质。
背景技术
在网络技术不断发展的背景下,网络速率也在不断提高,使得人们获取信息的方式从最初的文字、图片慢慢升级到小视频、直播等方式。视频的广泛使用给服务器端造成的压力日益增加。同时传统视频的传输是采用整帧发送的方式,当同时打开的视频较多时,会降低视频传输的效率,从而出现视频卡顿、掉帧的情况出现,影响视频观看效果。
对国标视频码流而言,传统的整帧传输方式在多路高清视频的情况下也并不适合,会在多路传输的过程中,出现发包不均匀和视频卡顿问题。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种国标视频码流转RTP流的平顺方法,解决国标视频码流传输时出现的发包不均匀以及卡顿问题。
本发明的目的之一采用以下技术方案实现:
一种国标视频码流转RTP流的平顺方法,包括以下步骤:
接收包含国标视频数据的数据包;
将所述国标视频数据转换为RTP视频数据;
统计预设时间段内所述RTP视频数据的数据帧数量,并计算所述各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
进一步地,将所述国标视频数据转换为RTP视频数据之前,包括以下步骤:
判断所述国标视频数据是否为完整视频帧;
若是,则将所述国标视频数据转换为RTP视频数据。
进一步地,将所述国标视频数据转换为RTP流,包括以下步骤:
将所述国标视频数据转换为H264数据流;
将所述H264数据流封装为RTP视频数据。
进一步地,保存所述RTP视频数据的数据帧至缓存队列,包括以下步骤:
获取所述RTP视频数据的时间戳,若所述时间戳与上一个获取的时间戳不同,则增加所述缓存队列的数据帧数量,并把所述RTP视频数据的数据帧保存至所述缓存队列。
进一步地,保存所述RTP视频数据的数据帧至缓存队列,还包括以下步骤:
实时统计所述缓存队列缓存的数据帧数量;
实时统计所述缓存队列缓存的数据帧之间的时间间隔;
实时更新所述时间间隔的累积时长。
进一步地,发送所述当前数据帧,包括:
调用RTP数据分发接口,发送所述当前数据帧。
本发明的目的之二在于提供一种国标视频码流转RTP流的平顺装置,其能解决国标视频码流在多路传输时的出现的发包不均匀以及卡顿问题。
本发明的目的之二采用以下技术方案实现:
一种国标视频码流转RTP流的平顺装置,包括:
数据接收模块,用于接收包含国标视频数据的数据包;
格式转换模块,用于将所述国标视频数据转换为RTP视频数据;
统计模块,用于统计预设时间段内所述RTP视频数据的数据帧数量,并计算所述各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
平滑发送模块,用于当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的国标视频码流转RTP流的平顺方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的国标视频码流转RTP流的平顺方法。
相比现有技术,本发明的有益效果在于:
本发明通过对国标视频流转码后进行平滑处理,并采用缓存队列,降低发包时的占用带宽的峰值,起到减缓带宽压力的作用,同时减少了网络不稳定导致的视频卡顿感,保证视频流接收和发送的动态平衡,使得视频画面更加流畅。
附图说明
图1是本发明国标视频码流转RTP流的平顺方法的流程图;
图2是实施例2的国标视频码流转RTP流的平顺装置的结构框图;
图3是实施例3的电子设备的结构框图。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例1
本实施例提供了一种国标视频码流转RTP流的平顺方法,旨在采用平滑策略和缓存机制,解决国标视频码流传输时的发包不均匀以及播放卡顿的问题。
根据上述原理,对国标视频码流转RTP流的平顺方法进行介绍,如图1所示,国标视频码流转RTP流的平顺方法,具体包括以下步骤:
接收包含国标视频数据的数据包;
将所述国标视频数据转换为RTP视频数据;
统计预设时间段内所述RTP视频数据的数据帧数量,并计算计算各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
本实施例的国标视频码流转RTP流的平顺方法应用在服务器端,通过在服务器上编写软件系统,执行上述国标视频码流转RTP流的平顺方法,完成视频收发包处理。
上述软件系统可包括国标数据流接收模块、国标数据流转RTP流模块、RTP数据统计计算模块、RTP视频平滑模块和数据发送模块,分别用于执行上述各步骤。
上述接收到的包含国标视频数据的数据包以数据报文的方式发送,接收到包含国标视频数据的数据包后,将该国标视频数据保存到内存。然后采用视频流格式转换技术将国标视频数据转换为RTP视频数据。
视频数据一般由图像帧组成,图像帧中的特征点是图像中有具有代表性的内容,具有可重复性,因此可以在不同的图像帧中找到相同的特征点。同时特征点又具有区别性,即同一个特征点在不同的图像区域由不同的表达内容,在同一个图像帧中,特征点的数量要远小于图像相似,特征点具仅与一小片图像区域有关。将国标视频数据转换为RTP(实时传输协议)视频流,可实现实时特征的端对端传送服务,在本实施例中可针对图像帧的特征点实现实时端对端的有序传送。当数据包到达时,获取每个数据包到达时间,精确度到微秒,并循环统计每个数据包的时间点。
上述的预设时间段在本实施例中为4秒,即统计4秒内所述RTP视频数据的总共包含多少帧数据帧,并计算相邻数据帧之间的时间间隔,并将数据帧加入缓存队列。针对国标视频码流的多路传输时,每一路RTP视频数据保存至一个缓存队列,使得每一路视频与缓存队列一一对应。
为实现RTP视频数据的平滑发送,在RTP视频数据平滑发送之前,需要缓存一定数量的RTP数据帧,以防止在网络等外界条件下,导致一段时间内缓存队列里有没有数据,而导致视频数据发送不平顺。具体做法是,先向缓存队列输入一定数量的数据帧,当缓存数据中的数据帧达到一定数量以后开始平滑发送数据帧。并设置一个缓存数据帧数量的阈值范围,当缓存队列中的缓存数据帧的数量不在阈值范围时,通过增加或减少发送速率,以保证缓存的数量在一个合理范围内。
在本实施例中,预设数量为400,为2K分辨率、4M码率视频流的一秒内的包数量。在本发明的其他实施例中,根据视频码率和分辨率的不同,可确定不同的预设数量的取值,即预设数量的具体取值由视频码率和分辨率确定。
当所述当前数据帧与上一个数据帧的时间戳不同时,说明当前数据帧和上一个数据帧不是同一视频数据,需要进行数据帧之间的缓存处理。如果当前缓存列表中缓存的数据帧数量小于预设的第一阈值(阈值范围下限),则等待缓存队列中所有数据帧的平均时间间隔的1.5倍时间再发送,目的是降低发包速率,使得发包速率小于收包速率,保证缓存队列中的数据帧数量可以恢复到阈值范围(第一阈值-第二阈值)内,保证发包均匀和平顺。当前缓存列表中缓存的数据帧数量在阈值范围(第一阈值-第二阈值)内,则停止等待0.5倍所述平均时间间隔,目的也是为了保证发包均匀和平顺。当前缓存列表中缓存的数据帧数量大于预设的第二阈值(阈值范围上限),则不会对发包节奏造成影响,即能保证发包均匀和平顺,可直接发送当前数据帧。
需要注意的是,上述第一阈值、第二阈值,分别为200和400,其中第一阈值为上述预设数量(预设缓存数据量)的一半,第二阈值的取值为上述预设数量(预设缓存数据量),因此在本发明的其他实施例中,根据预设数量的取值不同,第一阈值和第二阈值的取值也不同。
优选地,将所述国标视频数据转换为RTP视频数据之前,包括以下步骤:
判断所述国标视频数据是否为完整视频帧;
若是,则将所述国标视频数据转换为RTP视频数据。
在本实施例中,视频流格式转换的具体操作是,将国标视频数据的头部去掉,取出真实的视频数据保存至缓存里,实现视频流格式转换,根据视频数据的时间戳,判断缓存中的视频数据是否为完整的视频帧,若是,则将视频数据转换为RTP视频数据,并将该视频数据从缓存中清楚。
上述真实的视频数据为H264视频流,判断出H264视频流为完整视频帧,则将H264视频流封装为RTP格式视频流。
因此,将所述国标视频数据转换为RTP流,包括以下步骤:
将所述国标视频数据转换为H264数据流;
将所述H264数据流封装为RTP视频数据。
需要注意的是,视频流格式的转换采用不同的转换器完成。
优选地,保存所述RTP视频数据的数据帧至缓存队列,包括以下步骤:
获取所述RTP视频数据的时间戳,若所述时间戳与上一个获取的时间戳不同,则增加所述缓存队列的数据帧数量,并把所述RTP视频数据的数据帧保存至所述缓存队列。
当有新的RTP视频数据加入缓存队里时,实时增加缓存队列中数据帧的数量,并把新的TRP视频数据的数据帧加入到缓存队列中。
进一步地,保存所述RTP视频数据的数据帧至缓存队列,还包括以下步骤:
实时统计所述缓存队列缓存的数据帧数量;
实时统计所述缓存队列缓存的数据帧之间的时间间隔;
实时更新所述时间间隔的累积时长。
当有新的RTP视频数据加入缓存队里时,实时增加缓存队列中数据帧的数量,统计数据帧之间的时间间隔以及更新所有时间间隔的总累积时长,以供或许平滑处理时使用,若计算平均时间间隔,将数据帧数量除以时间间隔的总累积时长可得到平均时间间隔。
进一步地,发送所述当前数据帧,包括:
调用RTP数据分发接口,发送所述当前数据帧。
实施例2
实施例2公开了一种对应实施例1的国标视频码流转RTP流的平顺方法对应的装置,如图2所示,包括:
数据接收模块210,用于接收包含国标视频数据的数据包;
格式转换模块220,用于将所述国标视频数据转换为RTP视频数据;
统计模块230,用于统计预设时间段内所述RTP视频数据的数据帧数量,并计算各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
平滑发送模块240,用于当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
在本发明的其他实施例中,上述平滑发送模块240可包括平滑处理模块和发包模块,分别执行平滑策略和数据帧发送。
实施例3
图3为本发明实施例3提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的国标视频码流转RTP流的平顺方法对应的程序指令/模块(例如,国标视频码流转RTP流的平顺装置中的数据接收模块210、格式转换模块220、统计模块230、平滑发送模块240)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的国标视频码流转RTP流的平顺方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入数据等。输出装置340用于输出数据,可包括显示屏等。
实施例4
本发明实施例4还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现国标视频码流转RTP流的平顺方法,该方法包括:
接收包含国标视频数据的数据包;
将所述国标视频数据转换为RTP视频数据;
统计预设时间段内所述RTP视频数据的数据帧数量,并计算所述各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的国标视频码流转RTP流的平顺方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述国标视频码流转RTP流的平顺方法或装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (9)
1.一种国标视频码流转RTP流的平顺方法,其特征在于,包括以下步骤:
接收包含国标视频数据的数据包;
将所述国标视频数据转换为RTP视频数据;
统计预设时间段内所述RTP视频数据的数据帧数量,并计算所述各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量所述第一阈值且小于预设第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
2.如权利要求1所述的国标视频码流转RTP流的平顺方法,其特征在于,将所述国标视频数据转换为RTP视频数据之前,包括以下步骤:
判断所述国标视频数据是否为完整视频帧;
若是,则将所述国标视频数据转换为RTP视频数据。
3.如权利要求1或2所述的国标视频码流转RTP流的平顺方法,其特征在于,将所述国标视频数据转换为RTP流,包括以下步骤:
将所述国标视频数据转换为H264数据流;
将所述H264数据流封装为RTP视频数据。
4.如权利要求1所述的国标视频码流转RTP流的平顺方法,其特征在于,保存所述RTP视频数据的数据帧至缓存队列,包括以下步骤:
获取所述RTP视频数据的时间戳,若所述时间戳与上一个获取的时间戳不同,则增加所述缓存队列的数据帧数量,并把所述RTP视频数据的数据帧保存至所述缓存队列。
5.如权利要求4所述的国标视频码流转RTP流的平顺方法,其特征在于,保存所述RTP视频数据的数据帧至缓存队列,还包括以下步骤:
实时统计所述缓存队列缓存的数据帧数量;
实时统计所述缓存队列缓存的数据帧之间的时间间隔;
实时更新所述时间间隔的累积时长。
6.如权利要求4所述的国标视频码流转RTP流的平顺方法,其特征在于,发送所述当前数据帧,包括:
调用RTP数据分发接口,发送所述当前数据帧。
7.一种国标视频码流转RTP流的平顺装置,包括:
数据接收模块,用于接收包含国标视频数据的数据包;
格式转换模块,用于将所述国标视频数据转换为RTP视频数据;
统计模块,用于统计预设时间段内所述RTP视频数据的数据帧数量,并计算各数据帧之间的时间间隔,保存所述RTP视频数据的数据帧至缓存队列,其中不同RTP视频数据的数据帧保存至不同的缓存队列;
平滑发送模块,用于当所述缓存队列缓存的数据帧达到预设数量时,平滑发送所述缓存队列缓存的RTP视频数据,包括:
从所述缓存队列里获取数据帧作为当前数据帧,并获取所述当前数据帧的时间戳;
若当前数据帧的时间戳与上一个获取的数据帧的时间戳相同,则按照所述当前数据帧与所述上一个获取的数据帧之间的时间间隔发送所述当前数据帧;
否则,从所述缓存队列中读取所述当前数据帧,记录所述当前数据帧的时间点,并计算和所述上一个获取的数据帧之间的时间间隔;
从所述缓存队列中获取所有数据帧的平均时间间隔以及所述缓存队列中的数据帧数量;
若所述缓存队列缓存的数据帧数量小于预设的第一阈值,停止发送,等待所述平均时间间隔的1.5倍时间,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第一阈值且小于预设的第二阈值,停止发送,等待0.5倍所述平均时间间隔,再继续发送所述当前数据帧;
若所述缓存队列缓存的数据帧数量大于所述第二阈值,则直接发送所述当前数据帧。
8.一种电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的国标视频码流转RTP流的平顺方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的国标视频码流转RTP流的平顺方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010745598.2A CN111918142B (zh) | 2020-07-29 | 2020-07-29 | 国标视频码流转rtp流的平顺方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010745598.2A CN111918142B (zh) | 2020-07-29 | 2020-07-29 | 国标视频码流转rtp流的平顺方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111918142A true CN111918142A (zh) | 2020-11-10 |
CN111918142B CN111918142B (zh) | 2023-04-11 |
Family
ID=73288150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010745598.2A Active CN111918142B (zh) | 2020-07-29 | 2020-07-29 | 国标视频码流转rtp流的平顺方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111918142B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271496A (zh) * | 2021-07-15 | 2021-08-17 | 全时云商务服务股份有限公司 | 一种网络直播中视频平滑播放方法、系统和可读存储介质 |
CN113365098A (zh) * | 2021-06-01 | 2021-09-07 | 平安国际智慧城市科技股份有限公司 | 视频帧组装方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761741A (zh) * | 2012-06-26 | 2012-10-31 | 中国科学技术大学 | 基于编解码端缓存的视频编码码率控制系统和方法 |
CN104780401A (zh) * | 2015-03-25 | 2015-07-15 | 腾讯科技(深圳)有限公司 | 视频数据的发送方法及装置 |
US20150245264A1 (en) * | 2012-10-30 | 2015-08-27 | Huawei Technologies Co., Ltd. | Data Transmitting Method, Handover Method, Apparatus, Equipment, Access Node, and System |
US20150350646A1 (en) * | 2014-05-28 | 2015-12-03 | Apple Inc. | Adaptive syntax grouping and compression in video data |
CN105430339A (zh) * | 2015-11-27 | 2016-03-23 | 中南大学 | 一种基于ARM+Kinect的嵌入式矿物浮选泡沫三维图像监控装置 |
US20160337426A1 (en) * | 2015-05-14 | 2016-11-17 | Hola Networks Ltd. | System and Method for Streaming Content from Multiple Servers |
CN106454256A (zh) * | 2016-11-03 | 2017-02-22 | 贵阳朗玛信息技术股份有限公司 | 一种多视频实时拼接方法及装置 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN107770495A (zh) * | 2017-10-31 | 2018-03-06 | 河南飞防兵科技有限公司 | 一种机器人采样控制装置 |
CN108965807A (zh) * | 2018-07-17 | 2018-12-07 | 深圳市共进电子股份有限公司 | 实时视频的播放控制方法、装置、终端及存储介质 |
CN110049361A (zh) * | 2019-03-05 | 2019-07-23 | 北京奇艺世纪科技有限公司 | 显示控制方法、装置、投屏设备及计算机可读介质 |
CN110072143A (zh) * | 2019-03-18 | 2019-07-30 | 视联动力信息技术股份有限公司 | 一种视频流解码方法和装置 |
CN111083450A (zh) * | 2019-12-31 | 2020-04-28 | 斑马网络技术有限公司 | 车机端图像远程输出方法、装置及系统 |
-
2020
- 2020-07-29 CN CN202010745598.2A patent/CN111918142B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761741A (zh) * | 2012-06-26 | 2012-10-31 | 中国科学技术大学 | 基于编解码端缓存的视频编码码率控制系统和方法 |
US20150245264A1 (en) * | 2012-10-30 | 2015-08-27 | Huawei Technologies Co., Ltd. | Data Transmitting Method, Handover Method, Apparatus, Equipment, Access Node, and System |
US20150350646A1 (en) * | 2014-05-28 | 2015-12-03 | Apple Inc. | Adaptive syntax grouping and compression in video data |
CN104780401A (zh) * | 2015-03-25 | 2015-07-15 | 腾讯科技(深圳)有限公司 | 视频数据的发送方法及装置 |
US20160337426A1 (en) * | 2015-05-14 | 2016-11-17 | Hola Networks Ltd. | System and Method for Streaming Content from Multiple Servers |
CN105430339A (zh) * | 2015-11-27 | 2016-03-23 | 中南大学 | 一种基于ARM+Kinect的嵌入式矿物浮选泡沫三维图像监控装置 |
CN106454256A (zh) * | 2016-11-03 | 2017-02-22 | 贵阳朗玛信息技术股份有限公司 | 一种多视频实时拼接方法及装置 |
CN107371061A (zh) * | 2017-08-25 | 2017-11-21 | 普联技术有限公司 | 一种视频流播放方法、装置及设备 |
CN107770495A (zh) * | 2017-10-31 | 2018-03-06 | 河南飞防兵科技有限公司 | 一种机器人采样控制装置 |
CN108965807A (zh) * | 2018-07-17 | 2018-12-07 | 深圳市共进电子股份有限公司 | 实时视频的播放控制方法、装置、终端及存储介质 |
CN110049361A (zh) * | 2019-03-05 | 2019-07-23 | 北京奇艺世纪科技有限公司 | 显示控制方法、装置、投屏设备及计算机可读介质 |
CN110072143A (zh) * | 2019-03-18 | 2019-07-30 | 视联动力信息技术股份有限公司 | 一种视频流解码方法和装置 |
CN111083450A (zh) * | 2019-12-31 | 2020-04-28 | 斑马网络技术有限公司 | 车机端图像远程输出方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113365098A (zh) * | 2021-06-01 | 2021-09-07 | 平安国际智慧城市科技股份有限公司 | 视频帧组装方法、装置、电子设备及存储介质 |
CN113365098B (zh) * | 2021-06-01 | 2022-07-22 | 平安国际智慧城市科技股份有限公司 | 视频帧组装方法、装置、电子设备及存储介质 |
CN113271496A (zh) * | 2021-07-15 | 2021-08-17 | 全时云商务服务股份有限公司 | 一种网络直播中视频平滑播放方法、系统和可读存储介质 |
CN113271496B (zh) * | 2021-07-15 | 2021-10-01 | 全时云商务服务股份有限公司 | 一种网络直播中视频平滑播放方法、系统和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111918142B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113423018B (zh) | 一种游戏数据处理方法、装置及存储介质 | |
CN113225598B (zh) | 移动端音视频同步的方法、装置、设备及存储介质 | |
US6292834B1 (en) | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network | |
US8971184B2 (en) | Latency based random early discard for network packets | |
CN111918142B (zh) | 国标视频码流转rtp流的平顺方法、装置、设备及介质 | |
WO2018184277A1 (zh) | 一种基于推流终端网络状况的优化方法和系统以及推流终端 | |
CN114501052B (zh) | 直播数据处理方法、云平台、计算机设备和存储介质 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
CN114979023A (zh) | 一种数据传输方法、系统、电子设备及存储介质 | |
CN114268830B (zh) | 云导播同步方法、装置、设备及存储介质 | |
CN100459695C (zh) | 视频数据传输方法及其传输系统 | |
US9794143B1 (en) | Video delivery over IP packet networks | |
CN114339445A (zh) | 实时视频流自适应协调系统及方法 | |
WO2015044104A1 (en) | Video traffic management | |
CN116962179A (zh) | 网络传输优化方法、装置、计算机可读介质及电子设备 | |
CN101090369A (zh) | 一种在流媒体系统中控制数据包发送速率的方法 | |
CN111787417B (zh) | 基于人工智能ai的音视频的传输控制方法及相关设备 | |
CN111954007B (zh) | Udp直播中vbr视频快速平滑发送方法与装置 | |
CN105306970B (zh) | 一种流媒体直播发送速度的控制方法及装置 | |
CN108200481B (zh) | 一种rtp-ps流处理方法、装置、设备及存储介质 | |
CN111405325A (zh) | 一种视频内容分发方法和装置及电子设备 | |
CN115942000B (zh) | H.264格式的视频流转码方法及装置、设备及介质 | |
CN109151611A (zh) | 基于rtp/rtcp的hevc实时视频传输控制方法 | |
CN110798700A (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
TW201503672A (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 |
Denomination of invention: Smoothing methods, devices, equipment, and media for RTP streaming of national standard video codes Effective date of registration: 20231007 Granted publication date: 20230411 Pledgee: Guotou Taikang Trust Co.,Ltd. Pledgor: HANGZHOU XUJIAN SCIENCE AND TECHNOLOGY Co.,Ltd. Registration number: Y2023980059619 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |