CN105187949B - 一种视频的传输方法及客户端 - Google Patents
一种视频的传输方法及客户端 Download PDFInfo
- Publication number
- CN105187949B CN105187949B CN201510519713.3A CN201510519713A CN105187949B CN 105187949 B CN105187949 B CN 105187949B CN 201510519713 A CN201510519713 A CN 201510519713A CN 105187949 B CN105187949 B CN 105187949B
- Authority
- CN
- China
- Prior art keywords
- client
- time
- data message
- message
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012790 confirmation Methods 0.000 claims abstract description 62
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 5
- 230000002035 prolonged effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
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/637—Control signals issued by the client directed to the server or network components
- H04N21/6375—Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种视频的传输方法及客户端,该方法包括第一客户端接收第二客户端发送的第一数据报文并从接收到第一数据报文的时刻开始计时,其中,第一数据报文用于承载第一视频数据,第一客户端判断在计时到达第一时间段之前是否需要向第二客户端发送第二视频数据,当判断结果为是时,第一客户端在判断出需要向第二客户端发送第二视频数据的时刻将确认信息以及第二视频数据封装成第二数据报文,并将第二数据报文发送至第二客户端,其中,确认信息用于指示第一客户端已接收到第一数据报文。实施本发明实施例能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种视频的传输方法及客户端。
背景技术
随着互联网技术的快速发展,使用客户端通过无线网络传输视频也逐步成为一种比较常见的通信方式。但是,由于无线网络存在信号差、丢包率高、延时高以及信道干扰大等缺点,通过无线网络传输视频的方式可靠性低。
当前,通常采用确认机制重传的方法来保证视频的可靠性传输,例如:第一客户端在接收到第二客户端发送的承载视频数据的数据报文后立即向第二客户端返回承载确认信息的数据报文,若第二客户端在一段时间内未接收到承载确认信息的数据报文,第二客户端重新向第一客户端发送承载视频数据的数据报文。由于接收到承载视频数据的数据报文后,客户端会立即返回承载确认信息的数据报文,这增加了无线网络中需要传输的数据报文的数量,降低了无线网络的传输性能。
发明内容
本发明实施例公开了一种视频的传输方法及客户端,能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
本发明实施例第一方面公开了一种视频的传输方法,所述方法包括:
第一客户端接收第二客户端发送的第一数据报文,所述第一数据报文用于承载第一视频数据;
所述第一客户端从接收到所述第一数据报文的时刻开始计时,并判断在计时到达第一时间段之前是否需要向所述第二客户端发送第二视频数据;
当需要发送所述第二视频数据时,所述第一客户端在判断出需要向所述第二客户端发送所述第二视频数据的时刻将确认信息以及所述第二视频数据封装成第二数据报文,并将所述第二数据报文发送至所述第二客户端,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文。
在本发明实施例第一方面的第一种可能的实现方式中,所述第一时间段是根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;
当所述传输时延大于预设第一时间时,所述第一时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第一时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
所述方法还包括:
当无需再向所述第二客户端发送视频数据时,所述第一客户端将所述第一时间段设置为零。
结合本发明实施例第一方面,在本发明实施例第一方面的第二种可能的实现方式中,当不需要发送所述第二视频数据时,所述方法还包括:
所述第一客户端在计时到达所述第一时间段的时刻将承载有确认信息的第三数据报文发送至所述第二客户端,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文。
本发明实施例第二方面公开了另一种视频的传输方法,所述方法包括:
第二客户端向第一客户端发送第一数据报文,并从发送所述第一数据报文的时刻开始计时,所述第一数据报文用于承载第一视频数据;
所述第二客户端缓存所述第一视频数据;
所述第二客户端判断在计时到达第一时间段之前是否接收到所述第一客户端返回的第二数据报文,所述第二数据报文用于承载确认信息以及所述第一客户端需要向所述第二客户端发送的第二视频数据,或所述第二数据报文用于承载所述确认信息,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文;
当判断结果为是时,所述第二客户端删除所述第一视频数据。
在本发明实施例第二方面的第一种可能的实现方式中,所述第二数据报文是由所述第一客户端在目标时刻向所述第二客户端发送的数据报文;
当所述第二数据报文用于承载所述确认信息以及所述第二视频数据时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段之前需要向所述第二客户端发送所述第二视频数据的时刻;
当所述第二数据报文用于承载所述确认信息时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段的时刻。
结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述第二时间段是由所述第一客户端根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;
当所述传输时延大于预设第一时间时,所述第二时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第二时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
所述第一时间段等于所述第二时间段与第三时间段的和,所述第三时间段为所述第二客户端的重传超时时间段。
本发明实施例第三方面公开了一种客户端,所述客户端包括接收模块、计时模块、判断模块、封装模块以及发送模块,其中:
所述接收模块,用于接收第二客户端发送的第一数据报文,所述第一数据报文用于承载第一视频数据;
所述计时模块,用于从接收到所述第一数据报文的时刻开始计时;
所述判断模块,用于判断在计时到达第一时间段之前是否需要向所述第二客户端发送第二视频数据;
所述封装模块,用于当所述判断模块的判断结果为是时,在判断出需要向所述第二客户端发送所述第二视频数据的时刻将确认信息以及所述第二视频数据封装成第二数据报文,所述确认信息用于指示所述客户端已接收到所述第一数据报文;
所述发送模块,用于将所述第二数据报文发送至所述第二客户端。
在本发明实施例第三方面的第一种可能的实现方式中,所述第一时间段是根据传输时延确定出的时间段,所述传输时延等于所述客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;
当所述传输时延大于预设第一时间时,所述第一时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第一时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
其中,所述客户端还包括设置模块,其中:
所述设置模块,用于当无需再向所述第二客户端发送视频数据时,将所述第一时间段设置为零。
结合本发明实施例第三方面,在本发明实施例第三方面的第二种可能的实现方式中,所述发送模块,还用于当所述判断模块的判断结果为否时,将承载有所述确认信息的第三数据报文发送至所述第二客户端。
本发明啥时候第四方面公开了另一种客户端,所述客户端包括发送模块、计时模块、缓存模块、判断模块以及删除模块,其中:
所述发送模块,用于向第一客户端发送第一数据报文,所述第一数据报文用于承载第一视频数据;
所述计时模块,用于从发送所述第一数据报文的时刻开始计时;
所述缓存模块,用于缓存所述第一视频数据;
所述判断模块,用于判断在计时到达第一时间段之前是否接收到所述第一客户端返回的第二数据报文,所述第二数据报文用于承载确认信息以及所述第一客户端需要向所述客户端发送的第二视频数据,或所述第二数据报文用于承载所述确认信息,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文;
所述删除模块,用于当所述判断模块的判断结果为是时,删除所述第一视频数据。
在本发明实施例第四方面的第一种可能的实现方式中,所述第二数据报文是由所述第一客户端在目标时刻向所述客户端发送的数据报文;
当所述第二数据报文用于承载所述确认信息以及所述第二视频数据时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段之前需要向所述客户端发送所述第二视频数据的时刻;
当所述第二数据报文用于承载所述确认信息时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段的时刻。
结合本发明实施例第四方面的第一种可能的实现方式,在本发明实施例第四方面的第二种可能的实现方式中,所述第二时间段是由所述第一客户端根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述客户端发送所述第一数据报文的时间戳;
当所述传输时延大于预设第一时间时,所述第二时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第二时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
所述第一时间段等于所述第二时间段与第三时间段的和,所述第三时间段为所述第二客户端的重传超时时间段。
本发明实施例中,第一客户端接收第二客户端发送的第一数据报文并从接收到第一数据报文的时刻开始计时,其中,第一数据报文用于承载第一视频数据,第一客户端判断在计时到达第一时间段之前是否需要向第二客户端发送第二视频数据,当判断结果为是时,第一客户端在判断出需要向第二客户端发送第二视频数据的时刻将确认信息以及第二视频数据封装成第二数据报文,并将第二数据报文发送至第二客户端,其中,确认信息用于指示第一客户端已接收到第一数据报文。可见,实施本发明实施例能够使一个客户端在接收到另一个客户端发送的承载视频数据的数据报文后,将其针对接收到的数据报文的确认信息以及需要向该另一个客户端发送的视频数据封装成一个数据报文并发送至该另一个客户端,能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种网络架构的结构示意图;
图2是本发明实施例公开的一种视频的传输方法的流程示意图;
图3是本发明实施例公开的另一种视频的传输方法的流程示意图;
图4是本发明实施例公开的一种客户端的结构示意图;
图5是本发明实施例公开的另一种客户端的结构示意图;
图6是本发明实施例公开的又一种客户端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种视频的传输方法及客户端,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架的结构示意图。如图1所示,该网络构架示意图可以包括第一客户端和第二客户端,其中,第一客户端以及第二客户端均是能够传输视频的客户端。在图1所示的网络构架中,第一客户端以及第二客户端可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上,其中,第一客户端与第二客户端可以通过无线网络进行通信连接。
请参阅图2,图2是本发明实施例公开的一种视频的传输方法的流程示意图。如图2所示,该视频的传输方法可以包括以下步骤:
S201、第一客户端接收第二客户端发送的第一数据报文,并从接收到该第一数据报文的时刻开始计时。
本发明实施例中,该第一数据报文用于承载第二客户端需要向第一客户端发送的第一视频数据,即当第二客户端需要向第一客户端发送视频数据时,由第二客户端将需要发送的视频数据封装成数据报文,并将封装好的数据报文发送至第一客户端。
本发明实施例中,第一客户端可以具有定时功能,即在发送第一数据报文的时刻,第一客户端启动其定时功能开始计时。
S202、第一客户端判断在计时到达第一时间段之前是否需要向第二客户端发送第二视频数据。
本发明实施例中,当步骤S202的判断结果为是时,第一客户端执行步骤S203;当步骤S202的判断结果为否时,第一客户端可以在计时到达第一时间段的时刻将承载有确认信息的第三数据报文发送至第二客户端,其中,该确认信息用于指示第一客户端已经成功接收到上述第一数据报文。
S203、当需要发送第二视频数据时,第一客户端在判断出需要向第二客户端发送第二视频数据的时刻将确认信息以及第二视频数据封装成第二数据报文,并将该第二数据报文发送至第二客户端。
本发明实施例中,该确认信息用于指示第一客户端已经成功接收到上述第一数据报文。
可选的,上述第一时间段可以是第一客户端根据传输时延确定出的时间段,且该传输时延等于第一客户端接收到上述第一数据报文的时间戳减去第二客户端发送上述第一数据报文的时间戳。具体的,当该传输时延大于预设第一时间(如400ms)时,上述第一时间段等于预设第二时间(如80ms);当该传输时延小于等于预设第一时间时,上述第一时间段等于该传输时延的n倍(如0.1倍)与预设第三时间(如60ms)的1-n倍的和,其中,n大于0且小于1。其中,预设第一时间、预设第二时间以及预设第三时间可以是预先根据实验计算得出并预先设置在第一客户端中的时间值。由于传输时延随着无线网络的网络状况的变化而变化,且当传输时延小于等于预设第一时间时,上述第一时间段也是随着无线网络的网络状况的变化而变化,这样能够根据无线网络的网络状况动态的调整发送承载有确认信息以及视频数据的数据报文的时机,提高了数据报文发送成功的概率。
作为一种可选的实施方式,该视频的传输方法还可以包括以下步骤:
当第一客户端无需再向第二客户端发送视频数据时,第一客户端将上述第一时间段设置为零,这样能够使第一客户端再次接收到第二客户端发送的承载有视频数据的数据报文时,立即将用于指示已成功接收到该数据报文的确认信息发送至第二客户端,避免第二客户端重复发送承载该视频数据的数据报文。
本发明实施例中,第一客户端接收第二客户端发送的第一数据报文并从接收到第一数据报文的时刻开始计时,其中,第一数据报文用于承载第一视频数据,第一客户端判断在计时到达第一时间段之前是否需要向第二客户端发送第二视频数据,当判断结果为是时,第一客户端在判断出需要向第二客户端发送第二视频数据的时刻将确认信息以及第二视频数据封装成第二数据报文,并将第二数据报文发送至第二客户端,其中,确认信息用于指示第一客户端已接收到第一数据报文。可见,实施本发明实施例能够使一个客户端在接收到另一个客户端发送的承载视频数据的数据报文后,将其针对接收到的数据报文的确认信息以及需要向该另一个客户端发送的视频数据封装成一个数据报文并发送至该另一个客户端,能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
请参阅图3,图3是本发明实施例公开的另一种视频的传输方法的流程示意图。如图3所示,该视频的传输方法可以包括以下步骤:
S301、第二客户端向第一客户端发送第一数据报文,并从发送该第一数据报文的时刻开始计时。
本发明实施例中,第一数据报文用于承载第二客户端需要向第一客户端发送的第一视频数据,即当需要向第一客户端发送视频数据时,第二客户端将需要发送的视频数据封装成数据报文,并将封装好的数据报文发送至第一客户端。
S302、第二客户端缓存上述第一视频数据。
本发明实施例中,当将承载有第一视频数据的上述第一数据报文发送给第一客户端后,第二客户端缓存第一视频数据,以使当第一客户端未成功接收到上述第一数据报文时,第二客户端能够将缓存的上述第一视频数据封装成新的数据报文,并将该新的数据报文发送至第一客户端。
S303、第二客户端判断在计时到达第一时间段之前是否接收到第一客户端返回的第二数据报文。
本发明实施例中,当步骤S303的判断结果为是时,第二客户端执行步骤S304;当步骤S303的判断结果为否时,第二客户端将步骤S302中缓存的第一视频数据封装成新的数据报文,并将该新的数据报文发送至第一客户端。
本发明实施例中,第二数据报文用于承载确认信息以及第一客户端需要向第二客户端发送的第二视频数据,或者第二数据报文用于承载确认信息,其中,该确认信息用于指示第一客户端已成功接收到上述第一数据报文。
S304、当接收到第二数据报文时,第二客户端删除上述第一视频数据。
本发明实施例中,当第二客户端接收到第二数据报文时,第二客户端根据第二数据报文中的确认信息确定第一客户端已成功接收到上述第一数据报文,删除步骤S302中缓存的第一视频数据,这样能够节省第二客户端的存储空间。
可选的,上述第二数据报文是由第一客户端在目标时刻向第二客户端发送的数据报文,其中,当上述第二数据报文用于承载确认信息以及第二视频数据时,该目标时刻为由第一客户端从接收到上述第一数据报文的时刻开始计时到达第二时间段之前需要向第二客户端发送第二视频数据的时刻;当第二数据报文用于承载确认信息时,该目标时刻为由第一客户端从接收到上述第一数据报文的时刻开始计时到达第二时间段的时刻。
进一步可选的,上述第二时间段可以是由第一客户端根据传输时延确定出的时间段,且该传输时延等于第一客户端接收到上述第一数据报文的时间戳减去第二客户端发送上述第一数据报文的时间戳。具体的,当该传输时延大于预设第一时间(如400ms)时,上述第二时间段等于预设第二时间(如80ms);当该传输时延小于等于预设第一时间时,上述第二时间段等于该传输时延的n(如0.1倍)倍与预设第三时间(如60ms)的1-n倍的和,其中,n大于0且小于1。其中,预设第一时间、预设第二时间以及预设第三时间可以是预先根据实验计算得出并预先设置在第一客户端中的时间值。由于传输时延随着无线网络的网络状况的变化而变化,且当传输时延小于等于预设第一时间时,上述第一时间段也是随着无线网络的网络状况的变化而变化,这样能够根据无线网络的网络状况动态的调整发送承载有确认信息以及视频数据的数据报文的时机,提高了数据报文发送成功的概率。
可选的,上述第一时间段等于上述第二时间段与第三时间段的和,其中,该第三时间段为第二客户端的重传超时时间段RTO(RetransmissionTimeOut),该重传超时时间段RTO的计算方法已被现有技术公开,在此不再赘述。这样能够根据无线网络的网络状况动态的调整上述第一时间段,提高了视频传输的可靠性。
可见,实施本发明实施例能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
请参阅图4,图4是本发明实施例公开的一种客户端的结构示意图。如图4所示,该客户端可以包括接收模块401、计时模块402、判断模块403、封装模块404以及发送模块405,其中:
接收模块401用于接收第二客户端发送的第一数据报文。
本发明实施例中,该第一数据报文用于承载第二客户端需要向图4所示的客户端发送的第一视频数据。
计时模块402用于从接收模块401接收到上述第一数据报文的时刻开始计时。
本发明实施例中,具体的,当接收模块401接收到第二客户端发送的第一数据报文后,触发计时模块402启动计时功能。
判断模块403用于判断在计时模块402计时到达第一时间段之前是否需要向第二客户端发送第二视频数据。
本发明实施例中,当判断模块403的判断结果为是时,触发封装模块404执行相关操作;当判断模块403的判断结果为否时,触发发送模块405在计时模块402计时到达第一时间段的时刻将承载有确认信息的第三数据报文发送至第二客户端,其中,该确认信息用于指示图4所示的客户端的接收模块401已成功接收到上述第一数据报文。
封装模块404用于当判断模块403的判断结果为是时,在判断出需要向第二客户端发送第二视频数据的时刻将确认信息以及第二视频数据封装成第二数据报文。
本发明实施例中,该确认信息用于指示图4所示的客户端的接收模块401已成功接收到第二客户端发送的上述第一数据报文。
发送模块405用于将第二数据报文发送至第二客户端。
可选的,上述第一时间段可以是图4所示的客户端根据传输时延确定出的时间段,且该传输时延等于图4所示的客户端的接收模块401接收到上述第一数据报文的时间戳减去第二客户端发送上述第一数据报文的时间戳。具体的,当该传输时延大于预设第一时间(如400ms)时,上述第一时间段等于预设第二时间(如80ms);当该传输时延小于等于预设第一时间时,上述第一时间段等于该传输时延的n倍(如0.1倍)与预设第三时间(如60ms)的1-n倍的和,其中,n大于0且小于1。其中,预设第一时间、预设第二时间以及预设第三时间可以是预先根据实验计算得出并预先设置在图4所示的客户端中的时间值。由于传输时延随着无线网络的网络状况的变化而变化,且当传输时延小于等于预设第一时间时,上述第一时间段也是随着无线网络的网络状况的变化而变化,这样能够根据无线网络的网络状况动态的调整发送承载有确认信息以及视频数据的数据报文的时机,提高了数据报文发送成功的概率。
作为一种可选的实施方式,在图4所示的结构基础上,该客户端还可以包括设置模块406,此时,该客户端的结构可以如图5所示,图5是本发明实施例公开的另一种客户端的结构示意图。其中:
设置模块406用于当判断模块403判断出无需再向第二客户端发送视频数据时,将第一时间段设置为零。这样能够使图5所示的客户端再次接收到第二客户端发送的承载有视频数据的数据报文时,立即将用于指示已成功接收到该数据报文的确认信息发送至第二客户端,避免第二客户端重复发送承载该视频数据的数据报文。
作为另一种可选的实施方式,发送模块405还可以用于当判断模块403的判断结果为否时,将承载有上述确认信息的第三数据报文发送至第二客户端。
可见,实施本发明实施例能够使一个客户端在接收到另一个客户端发送的承载视频数据的数据报文后,将其针对接收到的数据报文的确认信息以及需要向该另一个客户端发送的视频数据封装成一个数据报文并发送至该另一个客户端,能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
请参阅图6,图6是本发明实施例公开的又一种客户端的结构示意图。如图6所示,该客户端可以包括发送模块601、计时模块602、缓存模块603、判断模块604以及删除模块605,其中:
发送模块601用于向第一客户端发送第一数据报文,其中,该第一数据报文用于承载图6所示的客户端需要向第一客户端发送的第一视频数据。
计时模块602用于从发送模块601发送上述第一数据报文的时刻开始计时。
本发明实施例中,发送模块601向第一客户端发送第一数据报文时触发计时模块602启动计时功能。
缓存模块603用于缓存上述第一视频数据;
本发明实施例中,当将承载有第一视频数据的上述第一数据报文发送给第一客户端后,图6所示的客户端的缓存模块603缓存上述第一视频数据,以使第一客户端未成功接收到上述第一数据报文时,图6所示的客户端能够将上述第一视频数据封装成新的数据报文,并通过发送模块601将该新的数据报文发送至第一客户端。
判断模块604用于判断在计时到达第一时间段之前是否接收到第一客户端返回的第二数据报文,其中,该第二数据报文用于承载确认信息以及第一客户端需要向图6所示的客户端发送的第二视频数据,或该第二数据报文用于承载确认信息,且确认信息用于指示第一客户端已接收到上述第一数据报文。
本发明实施例中,当判断模块604的判断结果为是时,触发删除模块605执行相关的操作;当判断模块604的判断结果为否时,图6所示的客户端重新将缓存模块603中缓存的第一视频数据封装成新的数据报文,并通过发送模块601将新的数据报文发送至第一客户端。
删除模块605用于当判断模块604的判断结果为是时,删除上述第一视频数据。
本发明实施例中,图6所示的客户端在计时模块602计时到达第一时间段之前接收到上述第二数据报文之后,根据第二数据报文中的确认信息确定第一客户端已成功接收到上述第一数据报文,删除模块605删除缓存模块603中缓存的第一视频数据,这样能够节省图6所示的客户端的存储空间。
可选的,上述第二数据报文是由第一客户端在目标时刻向图6所示的客户端发送的数据报文,其中,当上述第二数据报文用于承载确认信息以及第二视频数据时,该目标时刻为由第一客户端从接收到上述第一数据报文的时刻开始计时到达第二时间段之前需要向图6所示的客户端发送第二视频数据的时刻;当第二数据报文用于承载确认信息时,该目标时刻为由第一客户端从接收到上述第一数据报文的时刻开始计时到达第二时间段的时刻。
进一步可选的,上述第二时间段可以是由第一客户端根据传输时延确定出的时间段,且该传输时延等于第一客户端接收到上述第一数据报文的时间戳减去图6所示的客户端的发送模块601发送上述第一数据报文的时间戳。具体的,当该传输时延大于预设第一时间(如400ms)时,上述第二时间段等于预设第二时间(如80ms);当该传输时延小于等于预设第一时间时,上述第二时间段等于该传输时延的n倍与预设第三时间(如60ms)的1-n倍的和,其中,n大于0且小于1。其中,预设第一时间、预设第二时间以及预设第三时间可以是预先根据实验计算得出并预先设置在第一客户端中的。由于传输时延随着无线网络的网络状况的变化而变化,且当传输时延小于等于预设第一时间时,上述第一时间段也是随着无线网络的网络状况的变化而变化,这样能够根据无线网络的网络状况动态的调整发送承载有确认信息以及视频数据的数据报文的时机,提高了数据报文发送成功的概率。
可选的,上述第一时间段等于上述第二时间段与第三时间段的和,其中,该第三时间段为第二客户端的重传超时时间段RTO,该重传超时时间段RTO的计算方法已被现有技术公开,在此不再赘述。这样能够根据无线网络的网络状况动态的调整上述第一时间段,提高了视频传输的可靠性。
可见,实施本发明实施例能够减少无线网络中需要传输的数据报文的数量,提高了无线网络的传输性能。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作以及模块并不一定是本发明所必须的。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例客户端中的模块可以根据实际需要进行合并、划分和删减。
本发明实施例中所述模块可以通过通用集成电路,例如CPU(Central ProcessingUnit,中央处理器),或通过ASIC(Application Specific Integrated Circuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明实施例所提供的一种视频的传输方法及客户端进行了详细介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种视频的传输方法,其特征在于,所述方法包括:
第一客户端接收第二客户端发送的第一数据报文,所述第一数据报文用于承载第一视频数据;
所述第一客户端从接收到所述第一数据报文的时刻开始计时,并判断在计时到达第一时间段之前是否需要向所述第二客户端发送第二视频数据;
当需要发送所述第二视频数据时,所述第一客户端在判断出需要向所述第二客户端发送所述第二视频数据的时刻将确认信息以及所述第二视频数据封装成第二数据报文,并将所述第二数据报文发送至所述第二客户端,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文;
其中,所述第一时间段是根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;第一时间段随着无线网络的网络状况的变化而变化。
2.根据权利要求1所述的方法,其特征在于,
当所述传输时延大于预设第一时间时,所述第一时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第一时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;所述第三时间为所述第二客户端的重传超时时间段;
所述方法还包括:
当无需再向所述第二客户端发送视频数据时,所述第一客户端将所述第一时间段设置为零。
3.根据权利要求1所述的方法,其特征在于,当不需要发送所述第二视频数据时,所述方法还包括:
所述第一客户端在计时到达所述第一时间段的时刻将承载有确认信息的第三数据报文发送至所述第二客户端,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文。
4.一种视频的传输方法,其特征在于,所述方法包括:
第二客户端向第一客户端发送第一数据报文,并从发送所述第一数据报文的时刻开始计时,所述第一数据报文用于承载第一视频数据;
所述第二客户端缓存所述第一视频数据;
所述第二客户端判断在计时到达第一时间段之前是否接收到所述第一客户端返回的第二数据报文,所述第二数据报文用于承载确认信息以及所述第一客户端需要向所述第二客户端发送的第二视频数据,或所述第二数据报文用于承载所述确认信息,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文;
当判断结果为是时,所述第二客户端删除所述第一视频数据;
所述第二数据报文是由所述第一客户端在目标时刻向所述第二客户端发送的数据报文;
当所述第二数据报文用于承载所述确认信息以及所述第二视频数据时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段之前需要向所述第二客户端发送所述第二视频数据的时刻;
当所述第二数据报文用于承载所述确认信息时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段的时刻;
其中,所述第二时间段是根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;第一时间段随着无线网络的网络状况的变化而变化。
5.根据权利要求4所述的方法,其特征在于,
当所述传输时延大于预设第一时间时,所述第二时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第二时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
所述第一时间段等于所述第二时间段与第三时间段的和,所述第三时间段为所述第二客户端的重传超时时间段。
6.一种客户端,其特征在于,所述客户端包括接收模块、计时模块、判断模块、封装模块以及发送模块,其中:
所述接收模块,用于接收第二客户端发送的第一数据报文,所述第一数据报文用于承载第一视频数据;
所述计时模块,用于从接收到所述第一数据报文的时刻开始计时;
所述判断模块,用于判断在计时到达第一时间段之前是否需要向所述第二客户端发送第二视频数据;
所述封装模块,用于当所述判断模块的判断结果为是时,在判断出需要向所述第二客户端发送所述第二视频数据的时刻将确认信息以及所述第二视频数据封装成第二数据报文,所述确认信息用于指示所述客户端已接收到所述第一数据报文;
所述发送模块,用于将所述第二数据报文发送至所述第二客户端;
其中,所述第一时间段是根据传输时延确定出的时间段,所述传输时延等于所述客户端接收到所述第一数据报文的时间戳减去所述第二客户端发送所述第一数据报文的时间戳;第一时间段随着无线网络的网络状况的变化而变化。
7.根据权利要求6所述的客户端,其特征在于,
当所述传输时延大于预设第一时间时,所述第一时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第一时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;所述第三时间为所述第二客户端的重传超时时间段;
其中,所述客户端还包括设置模块,其中:
所述设置模块,用于当无需再向所述第二客户端发送视频数据时,将所述第一时间段设置为零。
8.根据权利要求6所述的客户端,其特征在于,所述发送模块,还用于当所述判断模块的判断结果为否时,将承载有所述确认信息的第三数据报文发送至所述第二客户端。
9.一种客户端,其特征在于,所述客户端包括发送模块、计时模块、缓存模块、判断模块以及删除模块,其中:
所述发送模块,用于向第一客户端发送第一数据报文,所述第一数据报文用于承载第一视频数据;
所述计时模块,用于从发送所述第一数据报文的时刻开始计时;
所述缓存模块,用于缓存所述第一视频数据;
所述判断模块,用于判断在计时到达第一时间段之前是否接收到所述第一客户端返回的第二数据报文,所述第二数据报文用于承载确认信息以及所述第一客户端需要向所述客户端发送的第二视频数据,或所述第二数据报文用于承载所述确认信息,所述确认信息用于指示所述第一客户端已接收到所述第一数据报文;
所述删除模块,用于当所述判断模块的判断结果为是时,删除所述第一视频数据;
所述第二数据报文是由所述第一客户端在目标时刻向所述客户端发送的数据报文;
当所述第二数据报文用于承载所述确认信息以及所述第二视频数据时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段之前需要向所述客户端发送所述第二视频数据的时刻;
当所述第二数据报文用于承载所述确认信息时,所述目标时刻为由所述第一客户端从接收到所述第一数据报文的时刻开始计时到达第二时间段的时刻;
其中,所述第二时间段是根据传输时延确定出的时间段,所述传输时延等于所述第一客户端接收到所述第一数据报文的时间戳减去所述客户端发送所述第一数据报文的时间戳;第一时间段随着无线网络的网络状况的变化而变化。
10.根据权利要求9所述的客户端,其特征在于,
当所述传输时延大于预设第一时间时,所述第二时间段等于预设第二时间;
当所述传输时延小于等于所述预设第一时间时,所述第二时间段等于所述传输时延的n倍与预设第三时间的1-n倍的和,其中,所述n大于0且小于1;
其中,所述第一时间段等于所述第二时间段与第三时间段的和,所述第三时间段为所述客户端的重传超时时间段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519713.3A CN105187949B (zh) | 2015-08-21 | 2015-08-21 | 一种视频的传输方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519713.3A CN105187949B (zh) | 2015-08-21 | 2015-08-21 | 一种视频的传输方法及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105187949A CN105187949A (zh) | 2015-12-23 |
CN105187949B true CN105187949B (zh) | 2019-06-25 |
Family
ID=54909745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510519713.3A Active CN105187949B (zh) | 2015-08-21 | 2015-08-21 | 一种视频的传输方法及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105187949B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150722B (zh) * | 2017-06-16 | 2021-03-30 | 华为技术有限公司 | 一种业务转发的方法及网络设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现*** |
CN101841469A (zh) * | 2010-03-24 | 2010-09-22 | 北京创毅视讯科技有限公司 | 一种物联网中的数据传输方法、***和装置 |
CN102694631A (zh) * | 2012-05-23 | 2012-09-26 | 华为技术有限公司 | 一种用于控制数据传输的方法和装置 |
CN103534973A (zh) * | 2013-06-05 | 2014-01-22 | 华为技术有限公司 | 一种减少传输控制层确认报文的方法、装置和*** |
CN104104475A (zh) * | 2013-04-02 | 2014-10-15 | 安凯(广州)微电子技术有限公司 | 一种应答信号的生成方法、接收方法与装置 |
WO2014194515A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc. | Managing pending acknowledgement packets in a communication device |
CN104321995A (zh) * | 2012-05-11 | 2015-01-28 | 交互数字专利控股公司 | 用于响应于接收到的帧而传送确认的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058085B2 (en) * | 2001-03-14 | 2006-06-06 | Nortel Networks Limited | Method and apparatus for transmitting data over a network within a specified time limit |
CN101677264B (zh) * | 2008-09-17 | 2013-05-22 | 艾威梯科技(北京)有限公司 | Ack发送方法 |
CN102137027B (zh) * | 2011-05-03 | 2013-07-31 | 厦门市美亚柏科信息股份有限公司 | 数据的可靠传输方法和装置 |
CN103036904B (zh) * | 2012-12-27 | 2015-10-21 | 东方通信股份有限公司 | 一种在通信网络中使用udp协议进行数据可靠传输的方法 |
-
2015
- 2015-08-21 CN CN201510519713.3A patent/CN105187949B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现*** |
CN101841469A (zh) * | 2010-03-24 | 2010-09-22 | 北京创毅视讯科技有限公司 | 一种物联网中的数据传输方法、***和装置 |
CN104321995A (zh) * | 2012-05-11 | 2015-01-28 | 交互数字专利控股公司 | 用于响应于接收到的帧而传送确认的方法和装置 |
CN102694631A (zh) * | 2012-05-23 | 2012-09-26 | 华为技术有限公司 | 一种用于控制数据传输的方法和装置 |
CN104104475A (zh) * | 2013-04-02 | 2014-10-15 | 安凯(广州)微电子技术有限公司 | 一种应答信号的生成方法、接收方法与装置 |
CN103534973A (zh) * | 2013-06-05 | 2014-01-22 | 华为技术有限公司 | 一种减少传输控制层确认报文的方法、装置和*** |
WO2014194515A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc. | Managing pending acknowledgement packets in a communication device |
Also Published As
Publication number | Publication date |
---|---|
CN105187949A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309934A (zh) | 一种拥塞控制方法及相关设备 | |
CN112821992B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
EP3490199A1 (en) | Calling method and device, computer storage medium, and terminal | |
CN103974057B (zh) | 一种视频质量用户体验值测评方法、设备及*** | |
US8538470B2 (en) | Call server, call terminal, call system, transfer processing method, and program storage medium storing program thereof | |
CN105162555B (zh) | 一种码率调整方法及其终端 | |
JP4744792B2 (ja) | キャッシングシステム | |
CN109495660B (zh) | 一种音频数据的编码方法、装置、设备和存储介质 | |
CN105187949B (zh) | 一种视频的传输方法及客户端 | |
CN109756464B (zh) | 一种通信方法及服务器、客户端 | |
CN106657172A (zh) | 一种信息推送的实现方法及装置 | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
CN109905901B (zh) | 网络选择方法和装置以及计算机可读存储介质 | |
KR101825210B1 (ko) | CoAP 서버의 관찰 주기 조절 시스템 및 방법 | |
JP2003157190A (ja) | 同期メッセージ処理方法 | |
CN107431965A (zh) | 一种实现传输控制协议tcp传输的方法及装置 | |
JP4655870B2 (ja) | パケット送受信システムおよび経過時間測定方法 | |
CN112449366B (zh) | 报文转发方法、装置、无线ap设备及存储介质 | |
CN114422425A (zh) | 多链路聚合的数据传输方法、***、装置及存储介质 | |
CN114095771A (zh) | 一种音视频同步方法、存储介质及电子设备 | |
CN109922307B (zh) | 一种多媒体数据传输方法及摄像机 | |
CN109905327B (zh) | 一种无线网络数据传输方法、发送端及接收端 | |
JP2009076093A (ja) | キャッシングシステム | |
CN107040581B (zh) | 一种网络包发送方法、装置、服务器及*** | |
CN108886478B (zh) | 通信方法和通信设备 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220601 Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511442 25 / F, building B-1, north area, Wanda Commercial Plaza, Wanbo business district, No. 79, Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd. |