CN106341738A - 流媒体网络传输的带宽计算方法、服务器端和系统 - Google Patents

流媒体网络传输的带宽计算方法、服务器端和系统 Download PDF

Info

Publication number
CN106341738A
CN106341738A CN201510401565.5A CN201510401565A CN106341738A CN 106341738 A CN106341738 A CN 106341738A CN 201510401565 A CN201510401565 A CN 201510401565A CN 106341738 A CN106341738 A CN 106341738A
Authority
CN
China
Prior art keywords
frame data
sub
video frame
transmission
data bag
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
Application number
CN201510401565.5A
Other languages
English (en)
Other versions
CN106341738B (zh
Inventor
潘亚东
李奎
张小媛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201510401565.5A priority Critical patent/CN106341738B/zh
Priority to EP16820706.6A priority patent/EP3322145B1/en
Priority to PCT/CN2016/082439 priority patent/WO2017005055A1/zh
Priority to US15/742,136 priority patent/US10542064B2/en
Publication of CN106341738A publication Critical patent/CN106341738A/zh
Application granted granted Critical
Publication of CN106341738B publication Critical patent/CN106341738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0033Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
    • H04L1/0034Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter where the transmitter decides based on inferences, e.g. use of implicit signalling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统,将待发送的视频帧数据分成多个子视频帧数据包,发送带有预设编号的子视频帧数据包至客户端,并接收所述客户端发送的回应消息,所述回应消息包括第一编号和第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;若是,则根据所述视频帧数据的最前一个子视频帧数据包的发送开始时间、所述视频帧数据的最后一个子视频帧数据包的发送结束时间以及所述视频帧数据的大小,准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。

Description

流媒体网络传输的带宽计算方法、服务器端和系统
技术领域
本发明涉及流媒体技术领域,尤其涉及一种基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统。
背景技术
流媒体是在Internet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输技术。
如今,应用流式传输技术实现高清视频传输在实时视频监控领域中逐渐普及。要保证高清视频传输,往往需要更多的网络带宽和更稳定的网络传输环境。不过在公网环境,尤其是移动无线网络中,网络环境是动态变化的。在动态变化的网络环境中,要实现高清视频传输就要求在带宽不足时,能及时地调低传输的编码码率;在带宽恢复以后,又能及时地恢复到之前正常传输时的编码码率;丢包时,能快速重传;网络延迟抖动时,还能减少传输速率抖动。总而言之,在动态变化的网络环境中,必须满足传输控制和网络带宽自适应的要求,才能实现高清视频传输。
在传输控制方面,现有技术中少有提及。众所周知,在基于IP的网络传输方式中,可供选择的传输层协议只有TCP(Transmission Control Protocol传输控制协议、TCP/IP协议框架里的传输层协议,提供面向连接的可靠传输)协议和UDP(User Datagram Protocol用户数据报协议、TCP/IP协议框架里的传输层协议,提供非可靠性传输)协议,不过在现有技术中很少有提到使用哪种传输协议的。如果使用TCP协议,在网络有丢包时,传输速率会急速下降,这对要求实时传输的监控视频应用而言影响很大。即使应用TCP协议的改进算法可以快速恢复传输速率,也势必会导致码流传输速率的大起大落,影响视频播放效果。如果使用UDP协议,则需要对网络传输的可靠性进行保证。
在网络带宽自适应方面,现有技术主要包括两类方案,一类是根据发送缓冲区的变化情况,在网络带宽变小时,发送缓冲区也不断变小,进而调低编码码率。但是在将编码码率调低以后,发送缓冲区的大小理论上会接近于0,如果随着时间的推移,网路带宽又变大了,这类方法也无法判定出合适的时机将编码码率再相应的调大。而且,在公共网络,尤其是无线网络中时常会出现延迟抖动,甚至丢包,这都会对发送缓冲区产生很大影响。例如4Mbps的编码码率,4Mb的发送缓冲区,网络偶发1秒的延迟,就可以将发送缓冲区占满,如果此时再将编码码率调低显然是不合适的。一类是根据网络带宽的变化调整编码码率,但是如何评估出当前的网络带宽情况,现有技术却语焉不详。
在已有传输实时视频的网络技术中,根据网络带宽变化调整编码码率是不难想到地。当网络带宽小于编码码率时,一般根据实际发送量,很容易得到要降低编码码率的结论。但是,在降低之后,如果网络带宽转好,由于编码码率是恒定的,所以很难统计出当前转好以后的网络带宽实际是多少。如果采用试探性的方式,逐步提高码率,势必会在网络带宽临界值的地方,来回震荡,最终导致呈现给用户的显示效果很差。所以如何根据实时数据包产生及发送的特点,计算出实际的网络带宽是我们需要解决的技术问题。
发明内容
本发明的目的是提供一种基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
根据本发明的一个方面,一种基于UDP的流媒体网络传输的带宽计算方法,应用于服务器端,包括:
将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
若是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
其中,所述从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,包括:
从所述回应消息中提取出所述第一编号与所述第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;
当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端。
其中,所述从所述回应消息中提取出所述第一编号与所述第二编号之后,还包括:
删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包;
根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
其中,所述当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端,包括:
判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值;
若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
其中,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
其中,所述计算网络带宽值,包括:
计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值;
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
其中,得出所述网络带宽值之后,还包括:
根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
根据本发明的另一个方面,一种基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接,所述服务器端包括分割封装单元、发送记录单元、接收回应单元、提取编号单元和计算带宽单元;
分割封装单元,用于将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送记录单元,用于发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收回应单元,用于接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
提取编号单元,用于从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
计算带宽单元,用于若所述提取编号单元的判断结果为是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
其中,所述从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,包括:
从所述回应消息中提取出所述第一编号与所述第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;
当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端。
其中,所述服务器端还包括删除单元和减少单元;
所述删除单元,用于删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包;
所述减少单元,用于根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
其中,所述当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端,包括:
判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值;
若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
其中,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
其中,所述计算网络带宽值,包括:
计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值;
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
其中,所述服务器端还包括调整单元;
所述调整单元,用于根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
根据本发明的又一方面,一种基于UDP的流媒体网络传输的系统,包括客户端和如本发明的另一个方面所述的基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接。
本发明提供一种基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统,将待发送的视频帧数据分成多个子视频帧数据包,发送带有预设编号的子视频帧数据包至客户端,并接收所述客户端发送的回应消息,其中,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;根据所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;若是,则根据所述视频帧数据的最前一个子视频帧数据包的发送开始时间、所述视频帧数据的最后一个子视频帧数据包的发送结束时间以及所述视频帧数据的大小,计算网络带宽值。可见,该基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
附图说明
图1是本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图;
图2是本发明第一实施方式的基于UDP的流媒体网络传输的视频帧数据传输规律图;
图3是应用本发明第一实施方式的基于UDP的流媒体网络传输的分割封装数据包的流程图;
图4是应用本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法的网络传输时序图;
图5是应用本发明第一实施方式的基于UDP的流媒体网络传输的发送回应消息的第一时机原理图;
图6是应用本发明第一实施方式的基于UDP的流媒体网络传输的发送回应消息的第二时机原理图;
图7是本发明第二实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图;
图8是本发明第三实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图;
图9是应用本发明第三实施方式的基于UDP的流媒体网络传输的数据发送线程的流程图;
图10是应用本发明第三实施方式的基于UDP的流媒体网络传输的数据接收线程的流程图;
图11是本发明第四实施方式的基于UDP的流媒体网络传输的服务器端的结构方框图;
图12是本发明第五实施方式的基于UDP的流媒体网络传输的服务器端的结构方框图;
图13是本发明第六实施方式的基于UDP的流媒体网络传输的系统的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例一
图1是本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图。
本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法,应用于服务器端,包括:
S101、将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号。
优选地,所述预设编号为阿拉伯数字编号,如1、2、3……依次类推。
视频帧数据是UDP协议通信传输中的数据单位。在数据交换网络中,帧视频帧数据需要被划分为多个子视频帧数据单元,每一个所述子视频帧数据单元被封装成子视频帧数据包。每一个子视频帧数据包中都包含发送方和接收方的地址信息。不同的子视频帧数据包沿着相同或不同的路径在一个或多个交换网络中传输,并在目的地重新组合,以形成原始的视频帧数据。
优选地,所述视频帧数据应用于实时视频监控领域的高清视频传输。
图2是本发明第一实施方式的基于UDP的流媒体网络传输的视频帧数据传输规律图。
一般情况下,数据编码都是有一定帧率的,即每隔一定时间就会产生一帧数据,每一帧的传输时间取决于实际带宽。为了显示的及时性,实时视频监控领域要求这些视频帧数据要立刻发出来,这样视频传输的规律就如图2所示,图中以每秒25帧为例进行说明。假设实际带宽是4Mbps,0ms时产生的一帧数据长度为100Kb,大约需要25ms就能将这一帧数据传输完毕,剩下15ms是空闲的。这也就是实时视频监控数据的传输特点。如果我们按帧统计数据包的传输速率,而不是按单位时间,就可以得到比较准确的网络带宽。
图3是应用本发明第一实施方式的基于UDP的流媒体网络传输的分割封装数据包的流程图;
从编码层获取到的视频帧数据的处理流程如图3所示。实际发送过程中,我们不可能把一帧数据用一个UDP就发送出去,那视频帧数据可能太大了。实际的视频帧数据传输过程中,一般会把一帧数据切割成若干个小于MTU(Maximum Transmission Unit,最大传输单元,是一种通信协议的某一层上面所能通过的最大数据包大小)的UDP子视频帧数据包(如果把一帧数据用一个UDP视频帧数据包传输出去,有可能因为UDP视频帧数据包太大而导致传输失败)。通过统计每个视频帧数据包括的所有子视频数据包从发送出去到接收到对应的ACK,直至引发其被缓冲区删除所经历的时间间隔,可以计算出其对应的传输速率。进一步地,由于网络会产生丢包和抖动延迟,可以将单位时间内,每个视频帧数据包的发送速率进行求和,然后计算平均值,最后得到网络带宽值。获得网络带宽值之后,可以根据获得的网络带宽值进行编码码率的调整。
每一个子视频帧数据包都会建立索引,所述索引包括:
2个字节数表示的数据总长度;
1个字节数表示的数据类型,即视频数据;
1个字节数表示的帧序列,所述帧序列包括帧开始0、帧中间1-0xfe、帧结束0xff和完整帧0xff。如果一帧的数据比较大,需要根据MTU进行数据切割的时候,要按帧类型进行类型值赋值,便于数据发送过程中,记录视频帧数据开始发送的时间。这里用一个字节表示帧序列,如果最大帧大小超过MTU*256,那么这个字段可以扩展为两个字节表示。
4个字节数表示的帧编号,即预设编号,所有帧数据统一编号,从0开始,每次加1。
S102、发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间。
S103、接收所述客户端发送的回应消息。
其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号。
在网络中,UDP协议与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,位于第四层—传输层,处于IP协议的上一层。本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法,解决了应用UDP协议在动态变化的网络环境中可靠传输视频帧数据的问题。首先,服务器端对每个要传输的子视频帧数据包进行编号。然后,客户端接收到该子视频帧数据包后,就会给服务器端反馈回应消息,(对应下文的ACK、acknowledgement),以告知服务器端,该编号对应的子视频帧数据包已经收到。最后,如果出现丢包,客户端还会通知服务器端重传丢失的子视频帧数据包。
所述第一编号对应客户端希望服务器端后续发送的子视频帧数据包的编号,其包括:按照正常时序要求的后续的自视频帧数据包的编号和一旦发生网络丢包时,客户端希望服务器端补发的子视频帧数据包的编号。所述第二编号,是客户端接收到的服务器端发送的子视频帧数据包的编号。
为了保证在有网络延迟+一定丢包率条件下的子视频帧数据包的发送数量,客户端每次向服务器端回应的回应消息中包含的第一编号可以不止一个,客户端获得接收缓冲区中已有子视频帧数据包的情况,并根据已有子视频帧数据包的编号一次发送多个要求服务器端传送的子视频帧数据包的编号信息,即一个第一编号中包含多个编号信息,以保证网络传输的时效性。
图4是应用本发明第一实施方式的基于UDP的流媒体网络传输的带宽计算方法的网络传输时序图。图中n表示服务器端在没收到ACK之前,总共发送的子视频帧数据包个数。ACK中包含的第一编号相当于客户端期望服务器端发送的后续的子视频帧数据包的编号。
图5和图6分别是应用本发明第一实施方式的基于UDP的流媒体网络传输的发送回应消息的第一时机原理图和第二时机原理图。
基于UDP的流媒体网络传输的发送回应消息的时机包括:
第一时机,具体为当所述客户端在预设时长期间内,没有接收到子视频帧数据包,客户端根据已接收到的子视频帧数据包生成回应消息,发送所述回应消息。
第二时机,具体为当所述客户端连续接收到的子视频帧数据包个数达到预设个数,客户端根据已接收到的子视频帧数据包生成回应消息,则发送所述回应消息。
优选地,所述预设个数为3个,所述预设时长为5ms。
客户端在两种情况下给服务器器端发送ACK,分别为:1、定时器在5ms内没有收到子视频帧数据包,子视频帧数据包超时发送时,对应图5所示。2、在连续收到3个子视频帧数据包时,对应图6所示。这样的发送机制,虽然会产生冗余的数据,但是也保证了在传输双向都有丢包时,ACK能及时到达服务器端。子视频帧数据包传输的压力一般都集中在服务器端到客户端方向,客户端到服务器端的方向多出一些冗余的数据对网络传输基本没有影响。
S104、从所述回应消息中提取出第一编号与第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包。
S105、若是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
本发明第一实施方式提供的基于UDP的流媒体网络传输的带宽计算方法,将待发送的视频帧数据分成多个子视频帧数据包,发送带有预设编号的子视频帧数据包至客户端,并接收所述客户端发送的回应消息,其中,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;根据所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;若是,则根据所述视频帧数据的最前一个子视频帧数据包的发送开始时间、所述视频帧数据的最后一个子视频帧数据包的发送结束时间以及所述视频帧数据的大小,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
实施例二
图7是本发明第二实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图。该第二实施方式在基于UDP的流媒体网络传输的带宽计算方法第一实施方式的基础上,增加了发生网络丢包时进行子视频帧数据包重传的具体说明。
本发明第二实施方式的于UDP的流媒体网络传输的带宽计算方法,包括:
S201、将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号。
S202、发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间。
S203、接收所述客户端发送的回应消息。
其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号。
S204、从所述回应消息中提取出第一编号与第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包。
S205、判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值。
为了避免服务器端一次性发送过多的子视频帧数据包,导致不必要的丢包现象发生,可以对已发送、但是未确认(即未接收到对应第二编号的回应消息)的子视频帧数据包的总量设置一个最大值(对应预设个数阈值),超过该预设个数阈值时,服务器端只做子视频帧数据包重传,不发新的子视频帧数据包,以便避免不必要的丢包。该预设个数阈值与客户端的接收缓冲区的大小成正比,具体可根据实际情况进行设置,此处不作赘述。
S206a、若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
S206b、若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
优选地,所述预设重传阈值为3或5,当子视频帧数据包累加的重传计数大于预设重传阈值时,一般就已经排除了子视频帧数据包因为网络延迟,而晚到客户端,让服务器端误认为丢包的情况。剩下的就是真正被丢失的子视频帧数据包(对应累加的重传计数大于预设重传阈值的子视频帧数据包),该子视频帧数据包才真正是需要进行网络重传的。这样的设置,减少了服务器端重传子视频帧数据包和客户端接收重传子视频帧数据包的双向压力。
服务器端在收到ACK以后,把ACK对应编号的子视频帧数据包的重传计数加1,并依此逐步累加。当累加的重传计数值超过预设重传阈值时,服务器端就立刻启动子视频帧数据包重传,保证了子视频帧数据包重传的及时性。
优选地,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
当然,所述预设策略也可以是选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的前几个子视频帧数据包。具体可根据网络带宽和缓冲区的大小进行设置,此处不作赘述。
S207、若客户端已经接收到所述视频帧数据的所有子视频帧数据包,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
本发明第二实施方式提供的基于UDP的流媒体网络传输的带宽计算方法,形成了一套新的可靠传输协议。在保证网络传输可靠性的同时,也能够保证视频帧数据传输的及时性。当网络出现丢包时,传输速率也不会大幅度降低,传输速率抖动更小,保障了实时视频传输的及时性和流畅性。
本发明第二实施方式提供的基于UDP的流媒体网络传输的带宽计算方法,在准确计算当前网络的实际带宽值的基础上,保证了子视频帧数据包重传的时效性,当网络上出现丢包时,不会因为需要对丢失的子视频帧数据包进行重组而导致发送速率大幅度降低,满足了实时视频监控的实时性要求。
实施例三
图8是本发明第三实施方式的基于UDP的流媒体网络传输的带宽计算方法的流程图。该第三实施方式在基于UDP的流媒体网络传输的带宽计算方法第一实施方式的基础上,增加了当前网络的实际带宽值的计算过程和根据网络带宽值调整编码码率的具体说明。
本发明第三实施方式的基于UDP的流媒体网络传输的带宽计算方法,包括:
S301、将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号。
S302、发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间。
S303、接收所述客户端发送的回应消息。
其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号。
S304、从所述回应消息中提取出第一编号与第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包。
S305a、若是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间。
S305b、删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包。
S306a、根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值。
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
图9和图10分别是应用本发明第三实施方式的基于UDP的流媒体网络传输的数据发送线程的流程图和数据接收线程的流程图。
由于视频帧数据发送是一子视频帧数据包接一子视频帧数据包顺序发送的,回应消息也是一子视频帧数据包一子视频帧数据包的顺序被确认,所以当收到子视频帧数据包结束信息时,必然对应已记录的第一个子视频帧数据包开始发送时间,这样就可算出时间间隔,认为在这段间隔时长内的发送速率为该视频帧数据的发送速度大小,换算为以秒为单位,就是网络带宽了。实际网络中是有网络波动的,为了能得到更加准确的网络带宽值,可以将预设单位时间,优选为一秒内的所有视频帧数据的发送速率求和并取平均值。
S306b、根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
实时清理服务器端发送缓冲区中已发送客户端、且接收到了对应回应消息的子视频帧数据包,并对服务器端已发送客户端、且未收到对应回应消息的子视频帧数据包的计数进行相应调整,有利于促进子视频帧数据包的传输,使子视频帧数据包的传输过程更流畅。
需要说明的是,步骤S305a和步骤S305b并没有先后顺序关系,两者是择一实施或并行实施。步骤S306a和步骤S306b也没有先后顺序关系,两者是择一实施或并行实施。
S307、根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
本发明第三实施方式提供的基于UDP的流媒体网络传输的带宽计算方法,在UDP协议的基础上,结合实时视频编码周期性的特点,提供了一套网络带宽预测方法,通过统计每个视频帧数据包实际的传输时间,可以更加准确的计算出当前网络的实际带宽,为编码码率的自适应提供了依据。
以下为本发明实施方式提供的基于UDP的流媒体网络传输的服务器端的实施方式。基于UDP的流媒体网络传输的服务器端的实施方式与上述的基于UDP的流媒体网络传输的带宽计算方法实施方式属于同一构思,基于UDP的流媒体网络传输的服务器端的实施方式中未详尽描述的细节内容,可以参考上述基于UDP的流媒体网络传输的带宽计算方法实施方式。
实施例四
图11是本发明第四实施方式的基于UDP的流媒体网络传输的服务器端的结构方框图。该该服务器端是指网络通信中发送实时视频数据的一方,这里可以看成是视频监控设备。与该服务器端建立网络连接的客户端是指网络通信中接收实时视频帧数据的一方,这里可以看成是设备网络SDK(SoftwareDevelopment Kit,即软件开发工具包)。
本发明第四实施方式的基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接,所述服务器端包括分割封装单元、发送记录单元、接收回应单元、提取编号单元和计算带宽单元;
分割封装单元,用于将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送记录单元,用于发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收回应单元,用于接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
提取编号单元,用于从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
计算带宽单元,用于若所述提取编号单元的判断结果为是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
本发明第四实施方式提供的基于UDP的流媒体网络传输的服务器端,将待发送的视频帧数据分成多个子视频帧数据包,发送带有预设编号的子视频帧数据包至客户端,并接收所述客户端发送的回应消息,其中,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;根据所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;若是,则根据所述视频帧数据的最前一个子视频帧数据包的发送开始时间、所述视频帧数据的最后一个子视频帧数据包的发送结束时间以及所述视频帧数据的大小,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
实施例五
图12是本发明第五实施方式的基于UDP的流媒体网络传输的服务器端的结构方框图。该第五实施方式在基于UDP的流媒体网络传输的服务器端第四实施方式的基础上,增加了删除单元、减少单元和调整单元。
本发明第五实施方式的基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接,所述服务器端包括分割封装单元、发送记录单元、接收回应单元、提取编号单元和计算带宽单元;
分割封装单元,用于将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送记录单元,用于发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收回应单元,用于接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
提取编号单元,用于从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
计算带宽单元,用于若所述提取编号单元的判断结果为是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
其中,所述从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,包括:
从所述回应消息中提取出所述第一编号与所述第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;
当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端。
其中,所述服务器端还包括删除单元和减少单元;
所述删除单元,用于删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包;
所述减少单元,用于根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
其中,所述当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端,包括:
判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值;
若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
其中,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
其中,所述计算网络带宽值,包括:
计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值;
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
其中,所述服务器端还包括调整单元;
所述调整单元,用于根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
本发明第五实施方式提供的基于UDP的流媒体网络传输的服务器端,在UDP协议的基础上,结合实时视频编码周期性的特点,提供了一套网络带宽预测方法,通过统计每个视频帧数据包实际的传输时间,可以更加准确的计算出当前网络的实际带宽,为编码码率的自适应提供了依据。
以下为本发明实施方式提供的基于UDP的流媒体网络传输的系统的实施方式。基于UDP的流媒体网络传输的系统的实施方式与上述的基于UDP的流媒体网络传输的带宽计算方法实施方式属于同一构思,基于UDP的流媒体网络传输的系统的实施方式中未详尽描述的细节内容,可以参考上述基于UDP的流媒体网络传输的带宽计算方法实施方式。
实施例六
图13是本发明第六实施方式的基于UDP的流媒体网络传输的系统的结构方框图。
本发明第六实施方式的基于UDP的流媒体网络传输的系统,包括客户端和如上述的基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接。
本发明实施方式提供的基于UDP的流媒体网络传输的系统,将待发送的视频帧数据分成多个子视频帧数据包,发送带有预设编号的子视频帧数据包至客户端,并接收所述客户端发送的回应消息,其中,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;根据所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;若是,则根据所述视频帧数据的最前一个子视频帧数据包的发送开始时间、所述视频帧数据的最后一个子视频帧数据包的发送结束时间以及所述视频帧数据的大小,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
本发明旨在保护一种基于UDP的流媒体网络传输的带宽计算方法、服务器端和系统,能够准确的计算出当前网络的实际带宽值,为编码码率的自适应提供了依据。
本领域普通技术人员可以理解实现上述实施方式的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (15)

1.一种基于UDP的流媒体网络传输的带宽计算方法,应用于服务器端,其特征在于,包括:
将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
若是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
2.根据权利要求1所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,所述从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,包括:
从所述回应消息中提取出所述第一编号与所述第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;
当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端。
3.根据权利要求2所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,所述从所述回应消息中提取出所述第一编号与所述第二编号之后,还包括:
删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包;
根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
4.根据权利要求2所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,所述当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端,包括:
判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值;
若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
5.根据权利要求4所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
6.根据权利要求1所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,所述计算网络带宽值,包括:
计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值;
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
7.根据权利要求6所述的基于UDP的流媒体网络传输的带宽计算方法,其特征在于,得出所述网络带宽值之后,还包括:
根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
8.一种基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接,其特征在于:所述服务器端包括分割封装单元、发送记录单元、接收回应单元、提取编号单元和计算带宽单元;
分割封装单元,用于将待发送的视频帧数据分割成多个子视频帧数据单元,并将每个所述子视频帧数据单元封装成子视频帧数据包,所述子视频帧数据包包括预设编号;
发送记录单元,用于发送带有所述预设编号的子视频帧数据包至客户端,并记录发送开始时间;
接收回应单元,用于接收所述客户端发送的回应消息,其中,所述回应消息是根据客户端接收到的所述子视频帧数据包而生成,所述回应消息包括客户端要求服务器端发送的至少一个子视频帧数据包所对应的第一编号以及已接收到的子视频帧数据包的第二编号;
提取编号单元,用于从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,并根据所述第二编号,判断客户端是否已经接收到所述视频帧数据的所有子视频帧数据包;
计算带宽单元,用于若所述提取编号单元的判断结果为是,则记录所述视频帧数据的最后一个子视频帧数据包的发送结束时间,根据所述发送开始时间、所述发送结束时间以及所述视频帧数据的大小,计算网络带宽值。
9.根据权利要求8所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述从所述回应消息中提取出所述第一编号与所述第二编号,发送与所述第一编号相对应的子视频帧数据包至客户端,包括:
从所述回应消息中提取出所述第一编号与所述第二编号,对该第一编号对应的子视频帧数据包的重传计数进行累加;
当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端。
10.根据权利要求9所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述服务器端还包括删除单元和减少单元;
所述删除单元,用于删除发送缓冲区中编号小于所述第一编号中最小编号所对应的子视频帧数据包;
所述减少单元,用于根据删除的子视频帧数据包的个数,将已发送客户端、且未接收到对应所述第二编号的回应消息所关联的子视频帧数据包的计数进行相应减少。
11.根据权利要求9所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述当所述重传计数大于预设重传阈值,则发送与所述重传计数关联的所述第一编号对应的子视频帧数据包至客户端,包括:
判断已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包个数是否已达到预设个数阈值;
若是,根据预设策略在发送缓冲区中选择对应重传计数大于预设重传阈值的子视频帧数据包发送至客户端;
若否,发送在发送缓冲区中选择的对应重传计数大于预设重传阈值的子视频帧数据包,以及发送新的子视频帧数据包,并根据所述新的子视频帧数据包的个数,将已发送客户端、且未接收到对应第二编号的回应消息所关联的子视频帧数据包的计数进行相应累加。
12.根据权利要求11所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述预设策略包括:选择发送缓冲区中对应重传计数大于预设重传阈值的子视频帧数据包中的对应编号最小的子视频帧数据包。
13.根据权利要求8所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述计算网络带宽值,包括:
计算网络的发送速率,所述发送速率=B/T;对预设单位时间内发送的每个视频帧数据所对应的发送速率求和,并对求和结果进行平均值计算,以得出网络带宽值;
其中,B=所述视频帧数据的大小+在发送所述视频帧数据的过程中,发送的与所述第一编号相对应的所有子视频帧数据包的大小总和,T=所述发送开始时间和所述发送结束时间的间隔时长。
14.根据权利要求13所述的基于UDP的流媒体网络传输的服务器端,其特征在于,所述服务器端还包括调整单元;
所述调整单元,用于根据所述网络带宽值,对传输视频帧数据的编码码率进行相应调整。
15.一种基于UDP的流媒体网络传输的系统,其特征在于,包括客户端和如权利要求8-14任意一项所述的基于UDP的流媒体网络传输的服务器端,所述服务器端与客户端建立网络连接。
CN201510401565.5A 2015-07-08 2015-07-08 流媒体网络传输的带宽计算方法、服务器端和系统 Active CN106341738B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510401565.5A CN106341738B (zh) 2015-07-08 2015-07-08 流媒体网络传输的带宽计算方法、服务器端和系统
EP16820706.6A EP3322145B1 (en) 2015-07-08 2016-05-18 Method, server side and system for computing bandwidth of network transmission of streaming media
PCT/CN2016/082439 WO2017005055A1 (zh) 2015-07-08 2016-05-18 流媒体网络传输的带宽计算方法、服务器端和系统
US15/742,136 US10542064B2 (en) 2015-07-08 2016-05-18 Method, server side and system for computing bandwidth of network transmission of streaming media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510401565.5A CN106341738B (zh) 2015-07-08 2015-07-08 流媒体网络传输的带宽计算方法、服务器端和系统

Publications (2)

Publication Number Publication Date
CN106341738A true CN106341738A (zh) 2017-01-18
CN106341738B CN106341738B (zh) 2021-02-02

Family

ID=57684662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510401565.5A Active CN106341738B (zh) 2015-07-08 2015-07-08 流媒体网络传输的带宽计算方法、服务器端和系统

Country Status (4)

Country Link
US (1) US10542064B2 (zh)
EP (1) EP3322145B1 (zh)
CN (1) CN106341738B (zh)
WO (1) WO2017005055A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071567A (zh) * 2017-05-18 2017-08-18 深圳算云微豆投资中心(有限合伙) 一种多媒体数据传输过程的监控方法及系统
CN107172181A (zh) * 2017-06-07 2017-09-15 河南辉煌城轨科技有限公司 一种基于双线程的文件传输方法
CN108270647A (zh) * 2018-01-24 2018-07-10 北京奇艺世纪科技有限公司 一种带宽计算方法及装置
CN108632559A (zh) * 2017-09-18 2018-10-09 北京视联动力国际信息技术有限公司 一种视频数据处理方法及装置
CN108696772A (zh) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 一种实时视频的传输方法及装置
CN108696773A (zh) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 一种实时视频的传输方法及装置
CN109739712A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 Fpga加速卡传输性能测试方法、装置及设备和介质
CN110213206A (zh) * 2018-04-26 2019-09-06 腾讯科技(深圳)有限公司 流数据处理方法、服务器及计算机可读存储介质
CN110351595A (zh) * 2019-07-17 2019-10-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
CN111405327A (zh) * 2020-04-03 2020-07-10 广州市百果园信息技术有限公司 网络带宽预测模型训练方法、视频数据播放方法及装置
CN111682980A (zh) * 2020-05-28 2020-09-18 西安万像电子科技有限公司 一种图像编码方法及装置
CN113014586A (zh) * 2021-03-04 2021-06-22 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN113709582A (zh) * 2021-08-25 2021-11-26 三星电子(中国)研发中心 一种带宽测量方法和装置
CN115913462A (zh) * 2022-11-09 2023-04-04 中国人民解放军32039部队 一种基于事先规划的网络数据发送方法和数据发送模块

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7174894B2 (ja) * 2016-03-28 2022-11-18 パナソニックIpマネジメント株式会社 映像処理装置、映像処理システム、映像処理方法、及び映像出力装置
US10382517B2 (en) * 2017-06-09 2019-08-13 At&T Intellectual Property I, L.P. Estimating network data encoding rate
CN114024914B (zh) * 2021-10-27 2024-03-01 杭州海康威视数字技术股份有限公司 视频数据传输方法、装置及电子设备
CN115189809B (zh) * 2022-07-07 2024-03-19 福州大学 基于qoe的异构网络实时视频传输arq与fec模式选择方法
CN115297364B (zh) * 2022-07-27 2024-01-23 北京奇艺世纪科技有限公司 一种云游戏视频传输时延的确定方法、系统及电子设备
CN116112697B (zh) * 2022-11-28 2023-08-11 长沙千视电子科技有限公司 一种基于ndi的实时视频录像方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN102160305A (zh) * 2008-08-26 2011-08-17 Sk电信有限公司 用于测量传输带宽以进行多媒体流式传送的系统和方法
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438603B1 (en) * 1999-04-30 2002-08-20 Microsoft Corporation Methods and protocol for simultaneous tuning of reliable and non-reliable channels of a single network communication link
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US7418515B2 (en) * 2001-04-27 2008-08-26 International Business Machines Corporation Data communication method, data communication system and program
KR100377852B1 (ko) * 2001-06-15 2003-03-29 주식회사 미라콤아이앤씨 부하 균형 기능을 갖는 메시지 전송 시스템 및 그 방법
US6996624B1 (en) 2001-09-27 2006-02-07 Apple Computer, Inc. Reliable real-time transport protocol
US7218610B2 (en) * 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
US20050152397A1 (en) * 2001-09-27 2005-07-14 Junfeng Bai Communication system and techniques for transmission from source to destination
JP4116470B2 (ja) * 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
JP2004056393A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd 再生データの保存結果の修復システム
CN101330525B (zh) * 2003-10-31 2011-08-10 索尼株式会社 远程确定多媒体内容用户的配置的系统和方法
US20070097987A1 (en) * 2003-11-24 2007-05-03 Rey Jose L Feedback provision using general nack report blocks and loss rle report blocks
CN1881916B (zh) * 2005-06-17 2012-07-04 腾讯科技(深圳)有限公司 一种在通信设备间实现通信的方法及装置
CN101262321A (zh) * 2008-02-03 2008-09-10 杭州华三通信技术有限公司 媒体数据处理方法、编码设备及媒体平台
WO2009109069A1 (en) * 2008-03-07 2009-09-11 Arcsoft (Shanghai) Technology Company, Ltd. Implementing a high quality voip device
US8654787B2 (en) * 2009-03-27 2014-02-18 Dell Products L.P. Apparatus and method for remote communication and transmission protocols
US8122140B2 (en) * 2009-03-27 2012-02-21 Wyse Technology Inc. Apparatus and method for accelerating streams through use of transparent proxy architecture
GB2477515B (en) 2010-02-03 2012-09-26 Orbital Multi Media Holdings Corp Data flow control method and apparatus
JP2012094950A (ja) * 2010-10-25 2012-05-17 Sony Corp 送信装置、送信方法および通信システム
MX2013002291A (es) * 2010-11-16 2013-10-28 Hitachi Ltd Dispositivo de comunicacion y sistema de comunicacion.
RU2446457C1 (ru) * 2010-12-30 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для удаленного администрирования персональных компьютеров в рамках сети
JP5672063B2 (ja) * 2011-02-24 2015-02-18 富士通株式会社 送信制御プログラム、通信装置および送信制御方法
CN102123303B (zh) 2011-03-25 2012-10-24 天脉聚源(北京)传媒科技有限公司 一种音视频文件播放方法、系统及传输控制装置
EP2506507A1 (en) * 2011-03-31 2012-10-03 Alcatel Lucent A method for controlling the throughput of a data transmitter as a function of the bandwidth of a data packet transmission link
US9106887B1 (en) * 2014-03-13 2015-08-11 Wowza Media Systems, LLC Adjusting encoding parameters at a mobile device based on a change in available network bandwidth
CN104283605B (zh) * 2014-09-26 2018-04-06 东软集团股份有限公司 基于udp协议的卫星网络数据传输方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN102160305A (zh) * 2008-08-26 2011-08-17 Sk电信有限公司 用于测量传输带宽以进行多媒体流式传送的系统和方法
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN103905272A (zh) * 2014-03-19 2014-07-02 珠海世纪鼎利通信科技股份有限公司 一种无线网络的可用带宽测量方法及系统

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696772A (zh) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 一种实时视频的传输方法及装置
CN108696773A (zh) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 一种实时视频的传输方法及装置
CN108696772B (zh) * 2017-04-11 2021-07-16 苏州谦问万答吧教育科技有限公司 一种实时视频的传输方法及装置
CN108696773B (zh) * 2017-04-11 2021-03-09 苏州谦问万答吧教育科技有限公司 一种实时视频的传输方法及装置
CN107071567A (zh) * 2017-05-18 2017-08-18 深圳算云微豆投资中心(有限合伙) 一种多媒体数据传输过程的监控方法及系统
CN107172181B (zh) * 2017-06-07 2020-12-04 河南辉煌城轨科技有限公司 一种基于双线程的文件传输方法
CN107172181A (zh) * 2017-06-07 2017-09-15 河南辉煌城轨科技有限公司 一种基于双线程的文件传输方法
CN108632559A (zh) * 2017-09-18 2018-10-09 北京视联动力国际信息技术有限公司 一种视频数据处理方法及装置
CN108632559B (zh) * 2017-09-18 2019-06-11 视联动力信息技术股份有限公司 一种视频数据处理方法及装置
CN108270647A (zh) * 2018-01-24 2018-07-10 北京奇艺世纪科技有限公司 一种带宽计算方法及装置
CN110213206B (zh) * 2018-04-26 2022-06-21 腾讯科技(深圳)有限公司 流数据处理方法、服务器及计算机可读存储介质
CN110213206A (zh) * 2018-04-26 2019-09-06 腾讯科技(深圳)有限公司 流数据处理方法、服务器及计算机可读存储介质
CN109739712B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 Fpga加速卡传输性能测试方法、装置及设备和介质
CN109739712A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 Fpga加速卡传输性能测试方法、装置及设备和介质
CN110351595B (zh) * 2019-07-17 2023-08-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
CN110351595A (zh) * 2019-07-17 2019-10-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
CN111405327B (zh) * 2020-04-03 2022-12-09 广州市百果园信息技术有限公司 网络带宽预测模型训练方法、视频数据播放方法及装置
CN111405327A (zh) * 2020-04-03 2020-07-10 广州市百果园信息技术有限公司 网络带宽预测模型训练方法、视频数据播放方法及装置
CN111682980A (zh) * 2020-05-28 2020-09-18 西安万像电子科技有限公司 一种图像编码方法及装置
CN113014586A (zh) * 2021-03-04 2021-06-22 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN113014586B (zh) * 2021-03-04 2022-09-13 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN113709582A (zh) * 2021-08-25 2021-11-26 三星电子(中国)研发中心 一种带宽测量方法和装置
CN113709582B (zh) * 2021-08-25 2024-02-06 三星电子(中国)研发中心 一种带宽测量方法和装置
CN115913462A (zh) * 2022-11-09 2023-04-04 中国人民解放军32039部队 一种基于事先规划的网络数据发送方法和数据发送模块
CN115913462B (zh) * 2022-11-09 2023-08-08 中国人民解放军32039部队 一种基于事先规划的网络数据发送方法和数据发送模块

Also Published As

Publication number Publication date
EP3322145A1 (en) 2018-05-16
US10542064B2 (en) 2020-01-21
WO2017005055A1 (zh) 2017-01-12
US20180205779A1 (en) 2018-07-19
CN106341738B (zh) 2021-02-02
EP3322145B1 (en) 2020-10-14
EP3322145A4 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
CN106341738A (zh) 流媒体网络传输的带宽计算方法、服务器端和系统
CN105357592B (zh) 一种流媒体自适应传输选择性丢帧方法
KR100641159B1 (ko) Rtcp패킷 기반의 적응적 멀티미디어 데이터 전송률추정방법
US7376880B2 (en) Transmission apparatus, transmission control program, and transmission method
CN101179362B (zh) 适宜移动流媒体应用的自动重传请求机制
CN101945427B (zh) 一种高效的流媒体传输方法
CN101686106B (zh) 自适应前向纠错的方法、装置和系统
CN113271316B (zh) 多媒体数据的传输控制方法和装置、存储介质及电子设备
US20140043994A1 (en) Providing Feedback To Media Senders Over Real Time Transport Protocol (RTP)
CN103166974B (zh) 一种基于tcp/udp混合协议的流媒体无线传输方法
CN108781139A (zh) 分组网络中的数据重传
CN101552660A (zh) 对流媒体数据进行重传、播放的方法、装置及通信系统
CN108174234A (zh) 一种流媒体传输方法及系统
Baldo et al. RTCP feedback based transmission rate control for 3G wireless multimedia streaming
CN106789427A (zh) 一种网络传输量计算方法
CN108494698A (zh) 一种基于传输速率的拥塞控制方法
Kim et al. Receiver buffer requirement for video streaming over TCP
CN111163362B (zh) 一种自适应重传等待时间的视频接收方法及系统
CN107295364A (zh) 用于弹幕视频的实时流传输控制方法、控制装置
CN106210785B (zh) 媒体流网络自适应单向控制方法及系统
CN104135486A (zh) 一种基于tcp协议的流媒体无线自适应传输方法
JP2007515872A (ja) 一般nackレポートブロックおよび消失rleレポートブロックを使用するフィードバックの提供
CN107197392A (zh) 在弹幕视频流传输过程中的丢包方法及丢包装置
Ma et al. Early packet loss feedback for webrtc-based mobile video telephony over Wi-Fi
Jin et al. Performance evaluation of a hybrid FEC/ARQ for wireless media streaming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant