CN112203138A - 基于udp协议的投屏数据传输方法、装置、设备及存储介质 - Google Patents
基于udp协议的投屏数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112203138A CN112203138A CN202011112668.7A CN202011112668A CN112203138A CN 112203138 A CN112203138 A CN 112203138A CN 202011112668 A CN202011112668 A CN 202011112668A CN 112203138 A CN112203138 A CN 112203138A
- Authority
- CN
- China
- Prior art keywords
- code rate
- data
- data transmission
- receiving end
- sending end
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 230000003247 decreasing effect Effects 0.000 claims description 7
- 230000008713 feedback mechanism Effects 0.000 claims description 3
- 238000005266 casting Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 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/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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
Abstract
本发明涉及投屏领域,公开了一种基于UDP协议的投屏数据传输方法、装置、设备及存储介质,其中,所述投屏数据传输方法包括:以UDP协议建立发送端和接收端之间的数据传输通道;在所述发送端和所述接收端之间采用分包的方式传输数据;在所述接收端设置数据包确认应答机制;在所述发送端对所述接收端未接收到的数据包进行重传;获取所述发送端和所述接收端之间的实时网络状态;根据所述实时网络状态调整所述发送端的数据输出码率。本发明在UDP协议传输的基础上通过引入数据反馈等机制,实现了数据可靠传输,并且能够根据实时网络状态调整数据输出码率,数据输出码率调整更灵活,可以有效的减少投屏卡顿,抵抗网络波动,提升用户体验。
Description
技术领域
本发明涉及数据投屏领域,尤其涉及一种基于UDP协议的投屏数据传输方法、装置、设备及存储介质。
背景技术
目前的投屏技术中,由于视频数据需要可靠传输,通常采用TCP可靠传输方式,但是TCP可靠传输方式通常在系统内核中实现,网络传输的实时状态用户无法实时感知,尤其是在wifi无线网络环境中,无法感知网络的实时波动会造成视频数据码率与当时网络状况的不匹配,进而引起投屏端视频画面的卡顿,影响用户体验。
因此,现有技术有待于改进和发展。
发明内容
本发明的主要目的在于解决现有技术采用TCP协议进行视频数据传输无法感知实时网络状态,数据传输码率与网络状况不匹配的技术问题。
本发明第一方面提供了一种基于UDP协议的投屏数据传输方法,其中,所述基于UDP协议的投屏数据传输方法包括:
以UDP协议建立发送端和接收端之间的数据传输通道;
在所述发送端和所述接收端之间采用分包的方式传输数据;
在所述接收端设置数据包确认应答机制;
在所述发送端对所述接收端未接收到的数据包进行重传;
获取所述发送端和所述接收端之间的实时网络状态;
根据所述实时网络状态调整所述发送端的数据输出码率。
可选的,在本发明第一方面的第一种实现方式中,所述在所述接收端设置数据包确认应答机制具体包括:
在数据包发送之前,对每一数据包设置标识位,所述标识位连续编号;
在所述接收端接收到所述数据包之后,向所述发送端返回所述标识位以及所述数据包收到的时间。
可选的,在本发明第一方面的第二种实现方式中,所述在所述发送端和所述接收端之间采用分包的方式传输数据具体包括:
在所述发送端将待发送的文件分成若干数据包,并为所述数据包设置序号;
在所述接收端将收到的若干数据包按照所述序号重新恢复为待发送的文件。
可选的,在本发明第一方面的第三种实现方式中,所述获取所述发送端和所述接收端之间的实时网络状态具体包括:
统计所述发送端和所述接收端之间数据包的丢包率、重传率以及往返传输时间;
根据所述丢包率、所述重传率以及所述往返传输时间获得当前的网络状态信息。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述实时网络状态调整所述发送端的数据输出码率具体包括:
根据所述网络状态信息得到建议传输码率;
控制所述发送端以所述建议传输码率进行数据传输。
可选的,在本发明第一方面的第五种实现方式中,所述控制所述发送端以所述建议传输码率进行数据传输具体包括:
将所述建议传输码率与当前的传输码率进行对比;
采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输。
可选的,在本发明第一方面的第六种实现方式中,所述采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输具体包括:
采用第一码率升降步长调整当前的传输码率上升至所述建议传输码率;
或采用第二码率升降步长调整当前的传输码率下降至所述建议传输码率;
其中,所述第一码率升降步长小于所述第二码率升降步长。
本发明第二方面提供了一种基于UDP协议的投屏数据传输装置,包括:
建立模块,用于以UDP协议建立发送端和接收端之间的数据传输通道;
配置模块,用于在所述发送端和所述接收端之间采用分包的方式传输数据;在所述接收端设置数据包确认应答机制;在所述发送端对所述接收端未接收到的数据包进行重传;
获取模块,用于获取所述发送端和所述接收端之间的实时网络状态;
调整模块,用于根据所述实时网络状态调整所述发送端的数据输出码率。
本发明第三方面提供了一种基于UDP协议的投屏数据传输设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于UDP协议的投屏设备执行上述的基于UDP协议的投屏方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于UDP协议的投屏方法。
附图说明
图1为本发明基于UDP协议的投屏数据传输方法的第一个实施例示意图;
图2为本发明基于UDP协议的投屏数据传输方法的第二个实施例示意图;
图3为本发明基于UDP协议的投屏数据传输方法的第三个实施例示意图;
图4为本发明基于UDP协议的投屏数据传输方法的第四个实施例示意图;
图5为本发明基于UDP协议的投屏数据传输方法的一个示例性的通信过程图;
图6为本发明基于UDP协议的投屏数据传输装置的一个实施例示意图;
图7为本发明基于UDP协议的投屏数据传输设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于UDP协议的投屏数据传输方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于UDP协议的投屏数据传输方法的第一个实施例包括:
101、以UDP协议建立发送端和接收端之间的数据传输通道;
由于UDP协议是一种面向无连接的简单不可靠信息传送服务、基于报文的网络通信协议,是在IP协议的基础上增加一二非常简单的报头得到的,该协议报文结构简单,资源消耗小,数据传输延迟小,传输效率高。
102、配置所述发送端和所述接收端之间的数据反馈机制;
在本实施例中,通过在不可靠的UDP协议传输下在发送端和接收端之间引入数据反馈机制,采用UDP协议也可以实现数据可靠传输。
103、获取所述发送端和所述接收端之间的实时网络状态;
在本实施例中,在发送端和接收端之间能够实现数据反馈的基础上,通过采集发送端和接收端之间的数据传输信息并进行统计,就能获得发送端和接收端之间的实时网络状态。
104、根据所述实时网络状态调整所述发送端的数据输出码率。
在本实施例中,由于本发明能够获取到实时网络状态,这样就能够达到实时调整数据输出码率的目的,和TCP协议的传输方式比,数据输出码率调整更灵敏,进而可以有效的减少投屏卡顿,抵抗网络波动,提升用户体验。
参见图2,在本发明一种可选的实施方式中,所述步骤102具体包括:
201、在所述发送端和所述接收端之间采用分包的方式传输数据;
在本实施例中,分包,就是传输过程中对一个待发文件进拆分发送,比如传输一个字符串“aabbcc”,那么在接收方可能先收到aa 然后 bb 最后cc,通过采用分包的方式传输数据由于可以提高在数据包出问题时重传的效率。
202、在所述接收端设置数据包确认应答机制;
在本实施例中,接收端在接收到数据包之后会进行统计,并向发送端返回数据包已收到的消息。
203、在所述发送端对所述接收端未接收到的数据包进行重传。
在本实施例中,在待发文件的所有数据包都发送完成之后,接收端首先会统计接收到数据包是否完整,并获得未接收到的数据包序号信息,之后将接收到的数据包序号信息返回发送端,通知发送端对接收端未接收到的数据包进行重传。
在本发明一种可选的实施方式中,所述在所述接收端设置数据包确认应答机制具体包括:
在数据包发送之前,对每一数据包设置标识位,所述标识位连续编号;
在所述接收端接收到所述数据包之后,向所述发送端返回所述标识位以及所述数据包收到的时间。
在本实施例中,本发明通过加入了拥塞控制策略来保证数据传输的可靠性和提高传输速率,在本发明技术方案中,发送端发出数据包是会记录数据包的发送时间,并与标识位信息绑定,之后根据接收端的应答数据包的反馈的收到时间做出相应的动作,比如,在网络拥塞时,发送端会实时调整降低发送速率,减少发送数据的冗余,实现数据传输的稳定性和可靠性控制,发送端接到正反馈时,发送端则会根据带宽平均速率和当前带宽速率实时调整发送速率,每次增加或减少一定的动态增量,其中,所述动态增量会随着带宽平均速率和当前带宽速率的相对大小而变化。
在本发明一种可选的实施方式中,所述步骤201具体包括:
在所述发送端将待发送的文件分成若干数据包,并为所述数据包设置序号;
在本实施例中,所述序号由随机数随机产生,所述数据包对应的序号根据发送次序依次累加,比如某次数据传输中,第一个数据包的序号为101,第二个数据包的序号则累加为102,第n个数据包的序号则累加为10n,以此类推, 这样便于本方法根据数据包对应的序号来进行可靠性判断。
在所述接收端将收到的若干数据包按照所述序号重新恢复为待发送的文件。
在本实施例中,发送端拥有三个数据存储队列,等待发送数据队列,等待应答数据队列和补发数据队列,其中,等待发送数据队列将数据包信息以先进先出的方式按序排列,补发数据队列当一定时间内未收到对方的响应信息,对可能丢失的数据进行补发。一种具体的场景如下,在发送端将序号101,102…10n的数据包发送出去后,接收端接收到一个数据包,对数据包进行校验,校验通过,并检测出该数据包的序号为104,接收端保存该数据包的接收标志,并记录其序号为104,此时,判断所述接收到的数据包对应的序号104与数据包对应的序号序号101之间是否存在未接收到的数据包,经过查找历史接收标志发现,序号为102的数据包还未接收到,则表示序号为102的数据包发送超时,此时就需要接收端向发送端发送一个反馈包, 所述反馈包内包括序号102,发送端接收到反馈包后,只需按照其中包含的序号102进行对应数据包的发送。
在本发明一种可选的实施方式中,本发明基于 UDP 协议的投屏数据传输方法,发送数据包后,返回接收数据包响应的方式,对发送的每一个数据包都需要进行确认,达到数据可靠传输的目的。当然由于每个数据包都需要应答时,发送数据包的速度就相应的降低了,在本发明另一种可选的实施方式中,也可以采取同时传输多个数据包来提高速度,即允许同时存在多个未收到“接收数据响应”的数据在网络中传输,这样传输的速度就大大的提高了。
参见图3,在本发明一种可选的实施方式中,所述步骤103具体包括:
301、统计所述发送端和所述接收端之间数据包的丢包率、重传率以及往返传输时间;
在本实施例中,可以按照预设的时间间隔来统计发送端和接收端之间数据包的丢包率、重传率以及往返传输时间,比如设置成2min进行一次数据统计。
302、根据所述丢包率、所述重传率以及所述往返传输时间获得当前的网络状态信息。
在本实施例中,所述网络状态信息可以根据世纪情况分成若干的等级,并且设置成等级越高,表明网络情况越拥堵,比如当丢包率大于第一阈值,重传率大于第二阈值,往返传输时间大于第三阈值时,将网络状态信息设置成网络状态为堵塞,等级为十级。
参见图4,在本发明一种可选的实施方式中,所述步骤104具体包括:
401、根据所述网络状态信息得到建议传输码率;
在本实施例中,预设根据实时网络状态的等级,为每一个等级设置配置有建议传输码率,比如实时网络状态的等级为一级,即当前的网络状态为不拥堵,此时,建议传输码率对应为1000kb/s,实时网络状态的等级为十级,即当前的网络状态为非常拥堵,此时,建议传输码率对应为100kb/s,实时网络状态和建议传输码率生成有的表格,获取建议传输码率时只需要在表格中进行查找即可。
402、控制所述发送端以所述建议传输码率进行数据传输。
在本实施例中,采用建议传输码率进行数据传输,可以有效的避免数据传输过程中的拥堵,提高数据的传输效率。
在本发明一种可选的实现方式中,所述步骤402具体包括:
将所述建议传输码率与当前的传输码率进行对比;
在本实施例中,通过比对建议传输码率与当前的传输码率,可以获知是需要提升当前的传输码率还是要降低当前的传输码率。
采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输。
在本实施例中,当需要对当前的传输码率进行提升时,采用小步长的方式进行提升,可以防止传输码率突变导致数据输出瞬时堵塞,当需要对当前的传输码率进行下降时,则可以采用大步长的方式进行下降,这样可以快速响应,调高数据传输的流畅性。
在本发明一种可选的实现方式中,所述步骤“采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输”具体包括:
采用第一码率升降步长调整当前的传输码率上升至所述建议传输码率;
或采用第二码率升降步长调整当前的传输码率下降至所述建议传输码率;
其中,所述第一码率升降步长小于所述第二码率升降步长。
在本实施例中,由于采取快降慢升的策略调整码率,引入多判据决策是否升降码率,同时根据网络状态动态调整码率升降时间步长,既能有效根据带宽及时调整码率,又能避免频繁调整带来的画面质量波动引起的体验下降。
参见图5,本发明一种具体的基于UDP协议的投屏数据传输方法应用场景,首先,将发送端设备(包括手机和PC)和接收端设备(包括TV、手机和电脑)置于同一局域网的环境下,之后发送端设备和接收端设备协议交互,启动镜像投屏,接着发送端设备启动媒体传输,分包传输视频数据,并接收接收端设备反馈的收包情况,之后统计发包情况(包括丢包率、重传率和往返传输时间),然后依据发包情况调整方案输出(包括建议的码率)。
本发明将不可靠的UDP传输通过引入数据包序号反馈等机制,达到可靠传输,本发明通过UDP传输过程中网络数据包的丢包率、重传统计、数据包收发双端路径往返时间等实时网络状态,达到实时调整码率的目的,和TCP传输方式比,码率调整更灵敏,进而有效的减少投屏卡顿,抵抗网络波动,提升用户体验。通过统计,采用上述基于UDP的实时码率调整技术的投屏数据传输方法:能够比TCP更灵敏的适应带宽变化,减少卡顿次数约40%,极大提升用户体验,且采用UDP的可靠传输能够更好的适应丢包环境,10%丢包下tcp频繁断开或卡死,UDP方式依然流畅清晰播放;40%丢包率下依然可以保持投屏不断开,基本可以正常做ppt演示。
上面对本发明实施例中基于UDP协议的投屏数据传输方法进行了描述,下面对本发明实施例中基于UDP协议的投屏数据传输装置进行描述,请参阅图6,本发明实施例中基于UDP协议的投屏数据传输装置一个实施例包括:
建立模块10,用于以UDP协议建立发送端和接收端之间的数据传输通道;
配置模块20,用于在所述发送端和所述接收端之间采用分包的方式传输数据;在所述接收端设置数据包确认应答机制;在所述发送端对所述接收端未接收到的数据包进行重传;
获取模块30,用于获取所述发送端和所述接收端之间的实时网络状态;
调整模块40,用于根据所述实时网络状态调整所述发送端的数据输出码率。
在本发明一种可选的实施方式中,本发明实施例中基于UDP协议的投屏数据传输装置还包括:
设置模块,用于在数据包发送之前,对每一数据包设置标识位,所述标识位连续编号;
反馈模块,用于在所述接收端接收到所述数据包之后,向所述发送端返回所述标识位以及所述数据包收到的时间。
在本发明一种可选的实施方式中,本发明实施例中基于UDP协议的投屏数据传输装置还包括:
拆分模块,用于在所述发送端将待发送的文件分成若干数据包,并为所述数据包设置序号;
重组模块,用于在所述接收端将收到的若干数据包按照所述序号重新恢复为待发送的文件。
在本发明一种可选的实施方式中,本发明实施例中基于UDP协议的投屏数据传输装置还包括:
统计模块,用于统计所述发送端和所述接收端之间数据包的丢包率、重传率以及往返传输时间;
状态获取模块,用于根据所述丢包率、所述重传率以及所述所述往返传输时间获得当前的网络状态信息。
在本发明一种可选的实施方式中,本发明实施例中基于UDP协议的投屏数据传输装置还包括:
码率获取模块,用于根据所述网络状态信息得到建议传输码率;
控制模块,用于控制所述发送端以所述建议传输码率进行数据传输。
在本发明一种可选的实施方式中,本发明实施例中基于UDP协议的投屏数据传输装置还包括:
对比模块,用于将所述建议传输码率与当前的传输码率进行对比;
调整模块,用于采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输。
在本发明一种可选的实施方式中,所述调整模块还用于包括:
采用第一码率升降步长调整当前的传输码率上升至所述建议传输码率;
或采用第二码率升降步长调整当前的传输码率下降至所述建议传输码率;
其中,所述第一码率升降步长小于所述第二码率升降步长。
上面图6从模块化功能实体的角度对本发明实施例中的基于UDP协议的投屏数据传输装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于UDP协议的投屏数据传输设备进行详细描述。
图7是本发明实施例提供的一种基于UDP协议的投屏数据传输设备的结构示意图,该基于UDP协议的投屏数据传输设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器50(central processing units,CPU)(例如,一个或一个以上处理器)和存储器60,一个或一个以上存储应用程序或数据的存储介质70(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于UDP协议的投屏数据传输设备中的一系列指令操作。更进一步地,处理器可以设置为与存储介质通信,在基于UDP协议的投屏数据传输设备上执行存储介质中的一系列指令操作。
基于UDP协议的投屏数据传输设备还可以包括一个或一个以上电源80,一个或一个以上有线或无线网络接口90,一个或一个以上输入输出接口100,和/或,一个或一个以上操作系统,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的基于NFC技术的投屏设备结构并不构成对基于UDP协议的投屏数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于UDP协议的投屏数据传输方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于UDP协议的投屏数据传输方法,其特征在于,所述基于UDP协议的投屏数据传输方法包括:
以UDP协议建立发送端和接收端之间的数据传输通道;
在所述发送端和所述接收端之间采用分包的方式传输数据;
在所述接收端设置数据包确认应答机制;
在所述发送端对所述接收端未接收到的数据包进行重传;
获取所述发送端和所述接收端之间的实时网络状态;
根据所述实时网络状态调整所述发送端的数据输出码率。
2.根据权利要求1所述的投屏数据传输方法,其特征在于,所述在所述接收端设置数据包确认应答机制具体包括:
在数据包发送之前,对每一数据包设置标识位,所述标识位连续编号;
在所述接收端接收到所述数据包之后,向所述发送端返回所述标识位以及所述数据包收到的时间。
3.根据权利要求1所述的投屏数据传输方法,其特征在于,所述在所述发送端和所述接收端之间采用分包的方式传输数据具体包括:
在所述发送端将待发送的文件分成若干数据包,并为所述数据包设置序号;
在所述接收端将收到的若干数据包按照所述序号重新恢复为待发送的文件。
4.根据权利要求1所述的投屏数据传输方法,其特征在于,所述获取所述发送端和所述接收端之间的实时网络状态具体包括:
统计所述发送端和所述接收端之间数据包的丢包率、重传率以及往返传输时间;
根据所述丢包率、所述重传率以及所述往返传输时间获得当前的网络状态信息。
5.根据权利要求4所述的投屏数据传输方法,其特征在于,所述根据所述实时网络状态调整所述发送端的数据输出码率具体包括:
根据所述网络状态信息得到建议传输码率;
控制所述发送端以所述建议传输码率进行数据传输。
6.根据权利要求5所述的投屏数据传输方法,其特征在于,所述控制所述发送端以所述建议传输码率进行数据传输具体包括:
将所述建议传输码率与当前的传输码率进行对比;
采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输。
7.根据权利要求6所述的投屏数据传输方法,其特征在于,所述采用快降慢升的方式调整所述发送端至以所述建议传输码率进行数据传输具体包括:
采用第一码率升降步长调整当前的传输码率上升至所述建议传输码率;
或采用第二码率升降步长调整当前的传输码率下降至所述建议传输码率;
其中,所述第一码率升降步长小于所述第二码率升降步长。
8.一种基于UDP协议的投屏数据传输装置,其特征在于,所述基于UDP协议的投屏装置包括:
建立模块,用于以UDP协议建立发送端和接收端之间的数据传输通道;
配置模块,用于配置所述发送端和所述接收端之间的数据反馈机制;
获取模块,用于获取所述发送端和所述接收端之间的实时网络状态;
调整模块,用于根据所述实时网络状态调整所述发送端的数据输出码率。
9.一种基于UDP协议的投屏数据传输设备,其特征在于,所述基于UDP协议的投屏设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于UDP协议的投屏数据传输设备执行如权利要求1-7中任一项所述的基于UDP协议的投屏数据传输方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于UDP协议的投屏数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112668.7A CN112203138A (zh) | 2020-10-16 | 2020-10-16 | 基于udp协议的投屏数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112668.7A CN112203138A (zh) | 2020-10-16 | 2020-10-16 | 基于udp协议的投屏数据传输方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112203138A true CN112203138A (zh) | 2021-01-08 |
Family
ID=74009304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011112668.7A Pending CN112203138A (zh) | 2020-10-16 | 2020-10-16 | 基于udp协议的投屏数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112203138A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788646A (zh) * | 2021-03-16 | 2021-05-11 | 北京字节跳动网络技术有限公司 | 网络质量监测方法、装置、设备和存储介质 |
CN113079103A (zh) * | 2021-03-19 | 2021-07-06 | 北京达佳互联信息技术有限公司 | 音频发送方法、装置、电子设备及存储介质 |
CN113489575A (zh) * | 2021-06-25 | 2021-10-08 | 阿波罗智联(北京)科技有限公司 | 一种数据传输方法、装置及电子设备 |
CN113992967A (zh) * | 2021-10-25 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 一种投屏数据传输方法、装置、电子设备及存储介质 |
CN115278319A (zh) * | 2022-07-13 | 2022-11-01 | 海信视像科技股份有限公司 | 一种投屏数据传输方法、装置、电子设备和存储介质 |
WO2023279895A1 (zh) * | 2021-07-07 | 2023-01-12 | 海信视像科技股份有限公司 | 显示设备以及投屏方法 |
CN117527793A (zh) * | 2024-01-04 | 2024-02-06 | 柏科数据技术(深圳)股份有限公司 | 基于加密协议带宽的断点续传方法、装置、终端及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349219A (zh) * | 2013-07-29 | 2015-02-11 | 中国科学院大学 | 一种基于移动通信网络的严增松减等步长拥塞控制算法 |
CN106559690A (zh) * | 2016-11-15 | 2017-04-05 | 武汉斗鱼网络科技有限公司 | 一种智能电视上基于组播实现直播投屏的方法及系统 |
CN109889870A (zh) * | 2019-03-08 | 2019-06-14 | 浙江辉驿网络科技有限公司 | 一种可信投屏方法及系统 |
CN110266437A (zh) * | 2019-06-26 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 投屏消息发送方法、投屏消息处理方法、装置及终端 |
CN110995697A (zh) * | 2019-11-29 | 2020-04-10 | 济南慧天云海信息技术有限公司 | 一种大数据传输方法及系统 |
-
2020
- 2020-10-16 CN CN202011112668.7A patent/CN112203138A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349219A (zh) * | 2013-07-29 | 2015-02-11 | 中国科学院大学 | 一种基于移动通信网络的严增松减等步长拥塞控制算法 |
CN106559690A (zh) * | 2016-11-15 | 2017-04-05 | 武汉斗鱼网络科技有限公司 | 一种智能电视上基于组播实现直播投屏的方法及系统 |
CN109889870A (zh) * | 2019-03-08 | 2019-06-14 | 浙江辉驿网络科技有限公司 | 一种可信投屏方法及系统 |
CN110266437A (zh) * | 2019-06-26 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 投屏消息发送方法、投屏消息处理方法、装置及终端 |
CN110995697A (zh) * | 2019-11-29 | 2020-04-10 | 济南慧天云海信息技术有限公司 | 一种大数据传输方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788646A (zh) * | 2021-03-16 | 2021-05-11 | 北京字节跳动网络技术有限公司 | 网络质量监测方法、装置、设备和存储介质 |
CN112788646B (zh) * | 2021-03-16 | 2023-07-25 | 北京字节跳动网络技术有限公司 | 网络质量监测方法、装置、设备和存储介质 |
CN113079103A (zh) * | 2021-03-19 | 2021-07-06 | 北京达佳互联信息技术有限公司 | 音频发送方法、装置、电子设备及存储介质 |
CN113489575A (zh) * | 2021-06-25 | 2021-10-08 | 阿波罗智联(北京)科技有限公司 | 一种数据传输方法、装置及电子设备 |
WO2023279895A1 (zh) * | 2021-07-07 | 2023-01-12 | 海信视像科技股份有限公司 | 显示设备以及投屏方法 |
CN113992967A (zh) * | 2021-10-25 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 一种投屏数据传输方法、装置、电子设备及存储介质 |
CN113992967B (zh) * | 2021-10-25 | 2022-11-01 | 北京字节跳动网络技术有限公司 | 一种投屏数据传输方法、装置、电子设备及存储介质 |
WO2023071605A1 (zh) * | 2021-10-25 | 2023-05-04 | 北京字节跳动网络技术有限公司 | 投屏数据传输方法、装置、电子设备及存储介质 |
CN115278319A (zh) * | 2022-07-13 | 2022-11-01 | 海信视像科技股份有限公司 | 一种投屏数据传输方法、装置、电子设备和存储介质 |
CN117527793A (zh) * | 2024-01-04 | 2024-02-06 | 柏科数据技术(深圳)股份有限公司 | 基于加密协议带宽的断点续传方法、装置、终端及介质 |
CN117527793B (zh) * | 2024-01-04 | 2024-04-02 | 柏科数据技术(深圳)股份有限公司 | 基于加密协议带宽的断点续传方法、装置、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112203138A (zh) | 基于udp协议的投屏数据传输方法、装置、设备及存储介质 | |
EP1771742B1 (en) | High performance tcp for systems with infrequent ack | |
EP2109954B1 (en) | Ack prioritization in wireless networks | |
US9325628B2 (en) | Packet handling method, forwarding device and system | |
US7099273B2 (en) | Data transport acceleration and management within a network communication system | |
US8004981B2 (en) | Methods and devices for the coordination of flow control between a TCP/IP network and other networks | |
EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
EP3855688A1 (en) | Sending node, receiving node, and data transmission system | |
EP3255847A1 (en) | Transmission control protocol data packet transmission method, transmission device and system | |
US20070086335A1 (en) | Congestion management over lossy network connections | |
US20080101290A1 (en) | Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof | |
WO2011151884A1 (ja) | 通信装置及び通信方法 | |
US7428595B2 (en) | System and method for streaming TCP messages in an enterprise network | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
WO2011133624A1 (en) | Congestion window control based on queuing delay and packet loss | |
US20070223492A1 (en) | Methods and apparatus for optimizing a TCP session for a wireless network | |
CN106789702B (zh) | 控制tcp传输性能的方法及装置 | |
US20070127392A1 (en) | Delay-based overflow routing in communication systems | |
EP3654563A1 (en) | Transmission timeout system | |
KR20040027176A (ko) | 무선 환경에서의 혼잡제어방법 및 기록매체 | |
CN101005336A (zh) | 一种适合卫星网络的自适应拥塞控制方法及系统 | |
WO2010092323A2 (en) | Data transmission | |
CN109067663B (zh) | 一种针对应用程序内控制请求响应速率的系统和方法 | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
KR100689437B1 (ko) | 라디오 링크 프로토콜을 채용한 이동통신시스템에서 손실프레임을 검출하기 위한 타이머값을 결정하기 위한 수신장치 및 그 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210108 |
|
RJ01 | Rejection of invention patent application after publication |