CN106792263A - 一种视频数据传输方法、装置及系统 - Google Patents

一种视频数据传输方法、装置及系统 Download PDF

Info

Publication number
CN106792263A
CN106792263A CN201611130549.8A CN201611130549A CN106792263A CN 106792263 A CN106792263 A CN 106792263A CN 201611130549 A CN201611130549 A CN 201611130549A CN 106792263 A CN106792263 A CN 106792263A
Authority
CN
China
Prior art keywords
frame
video
frames
receiving terminal
receiving
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
Application number
CN201611130549.8A
Other languages
English (en)
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.)
Netposa Technologies Ltd
Original Assignee
Netposa Technologies 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 Netposa Technologies Ltd filed Critical Netposa Technologies Ltd
Priority to CN201611130549.8A priority Critical patent/CN106792263A/zh
Publication of CN106792263A publication Critical patent/CN106792263A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种视频数据传输方法、装置及系统,该方法包括:发送端确定当前待传输的视频帧的帧类型,并向接收端发送该视频帧;当确定出上述视频帧的帧类型为I帧时,接收接收端返回的关于I帧接收情况的反馈报文;根据反馈报文对I帧进行相应的操作处理,直到接收端返回已接收到I帧的反馈报文,向接收端发送当前视频帧的后一帧,操作处理包括:从I帧副本链表中删除I帧、或者再次向接收端发送I帧。本发明实施例在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证I帧关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。

Description

一种视频数据传输方法、装置及系统
技术领域
本发明涉及数据传输技术领域,具体而言,涉及一种视频数据传输方法、装置及系统。
背景技术
目前,在数据传输过程中主要采用RTP(Real-time Transport Protocol,实时传输协议)是由IETF开发的实时传输协议,在面向连接或无连接的下层协议上工作,主要实现一种端到端的多媒体流同步控制机制,既不需要事先建立连接,也不需要中间节点的参与,其中,RTP可以使用TCP(Transmission Control Protocol,传输控制协议)作为传输协议,RTP也可以使用UDP(User Datagram Protocol,用户数据报协议)作为传输协议。
当前,相关技术中提供了一种视频数据传输方式,主要包括:当RTP采用TCP作为传输协议时,TCP提供稳定的连接,在数据传输方面提供超时重传、快速恢复等机制来保证数据不会丢失。但是这些机制是通过大量的确认报文、重传报文及CPU计算来保证的,从而造成TCP协议具有传输速度慢、效率较为低下的缺点;另外,一个比较典型的TCP问题是线头阻塞问题,因为TCP协议是按序传输的,可以理解为一个先进先出的队列,当前面的数据丢失时,后面的数据只能等待前面的数据恢复后在出队进行后续操作,当出现这种情况时,既降低了网络带宽的利用率,又降低了系统的性能。
当RTP采用UDP作为传输协议时,由于UDP协议是一种无状态协议,UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差,正因为UDP协议的控制选项较少,在数据传输过程中具有延迟小、数据传输效率高的优点,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等,也就是说,UDP协议只负责高效的数据投递,不提供任何的可靠机制来保证数据的完整及有序性,即当发送端将数据包发送至接收端之后,是无法得知该数据包是否有序、完整地到达接收端的。
综上可知,当RTP使用TCP作为传输协议进行视频数据传输时,在当前网络不稳定的情况下,由于其数据投递效率比较低,会导致视频卡顿、抖动的问题;而当RTP使用UDP作为传输协议进行视频数据传输时,在当前网络不稳定的情况下,由于将出现数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,而且其对数据的完整性及有序性没有保证,会出现视频跳帧、花屏、拖影等情况。
在实现本发明的过程中,发明人发现相关技术中至少存在以下问题:在当前网络不稳定的情况下,RTP无论是采用TCP作为数据传输协议,还是采用UDP数据传输协议,均无法既保证数据传输的投递率,又保证接收端接收到的数据的完整性、有序性,从而导致视频的播放过程中或者出现卡顿、抖动的问题,或者出现视频跳帧、拖影、花屏的现象。
发明内容
有鉴于此,本发明实施例的目的在于提供一种视频数据传输方法、装置及系统,从而实现在保证视频数据传输的投递率的前提下,保证I帧关键帧的有序性和完整性,进而缓解在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
第一方面,本发明实施例提供了一种视频数据传输方法,该方法包括:
发送端确定当前待传输的视频帧的帧类型,并向接收端发送所述视频帧,所述帧类型包括:I帧、P帧或者B帧;
所述发送端当确定出所述视频帧的帧类型为I帧时,接收所述接收端返回的关于所述I帧接收情况的反馈报文;
所述发送端根据所述反馈报文对所述I帧进行相应的操作处理,直到所述接收端返回已接收到所述I帧的反馈报文,向所述接收端发送当前所述视频帧的后一帧,所述操作处理包括:从I帧副本链表中删除所述I帧、或者再次向接收端发送所述I帧。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述向接收端发送所述视频帧,包括:
所述发送端根据预设的包头格式对所述视频帧进行打包;
所述发送端将打包后且帧类型为I帧的所述视频帧按序存储在I帧副本链表中;
所述发送端采用UDP传输协议将打包后的所述视频帧发送至所述接收端。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述发送端根据所述反馈报文对所述I帧进行相应的操作处理,包括:
当接收到的反馈报文为ACK反馈报文时,所述发送端确定所述接收端已接收到所述I帧,从I帧副本链表中删除所述I帧;
当接收到的反馈报文为GET反馈报文时,所述发送端确定所述接收端未接收到所述I帧,再次向所述接收端发送所述I帧。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述发送端采用第一线程向所述接收端发送所述视频帧,并采用第二线程接收所述接收端返回的所述反馈报文,其中,所述第一线程与所述第二线程为两个相互独立的线程。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
所述发送端接收所述接收端发送的统计结果,所述统计结果包括:丢包率,和/或网络拥塞指数;
所述发送端根据所述统计结果动态调整发送速率,所述发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
第二方面,本发明实施例还提供了一种视频数据传输方法,该方法包括:
接收端接收发送端传输的视频帧;
所述接收端当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文;
所述接收端采用数据帧缓存区插入方式按序对接收到的所述视频帧进行存储。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述接收端当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文,包括:
所述接收端对接收到的所述视频帧进行解析;
所述接收端获得帧类型为I帧的所述视频帧的视频帧序号;
所述接收端判断所述I帧的所述视频帧序号与前一I帧的视频帧序号是否连续;
若是,则所述接收端向所述发送端发送ACK反馈报文,所述ACK反馈报文携带有所述I帧的视频帧序号;
若否,则所述接收端向所述发送端发送GET反馈报文,所述GET反馈报文携带有缺失的I帧的视频帧序号。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述方法还包括:
所述接收端动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
所述接收端将所述统计结果发送至所述发送端。
第三方面,本发明实施例还提供了一种视频数据传输装置,该装置包括:
帧类型确定模块,用于确定当前待传输的视频帧的帧类型,所述帧类型包括:I帧、P帧或者B帧;
视频帧发送模块,用于向接收端发送所述视频帧;
反馈报文接收模块,用于当确定出所述视频帧的帧类型为I帧时,接收所述接收端返回的关于所述I帧接收情况的反馈报文;
I帧处理模块,用于根据所述反馈报文对所述I帧进行相应的操作处理,直到所述接收端返回已接收到所述I帧的反馈报文,向所述接收端发送当前所述视频帧的后一帧,所述操作处理包括:从I帧副本链表中删除所述I帧、或者再次向接收端发送所述I帧。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,所述视频帧发送模块包括:
视频帧打包子模块,用于根据预设的包头格式对所述视频帧进行打包;
I帧存储子模块,用于将打包后且帧类型为I帧的所述视频帧按序存储在I帧副本链表中;
视频帧发送子模块,用于采用UDP传输协议将打包后的所述视频帧发送至所述接收端。
结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中,所述I帧处理模块包括:
第一I帧处理子模块,用于当接收到的反馈报文为ACK反馈报文时,确定所述接收端已接收到所述I帧,从I帧副本链表中删除所述I帧;
第二I帧处理子模块,用于当接收到的反馈报文为GET反馈报文时,确定所述接收端未接收到所述I帧,再次向所述接收端发送所述I帧。
结合第三方面,本发明实施例提供了第三方面的第三种可能的实施方式,其中,所述发送端采用第一线程向所述接收端发送所述视频帧,并采用第二线程接收所述接收端返回的所述反馈报文,其中,所述第一线程与所述第二线程为两个相互独立的线程。
结合第三方面,本发明实施例提供了第三方面的第四种可能的实施方式,其中,所述装置还包括:
统计结果接收模块,用于接收所述接收端发送的统计结果,所述统计结果包括:丢包率,和/或网络拥塞指数;
发送速率调整模块,用于根据所述统计结果动态调整发送速率,所述发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
第四方面,本发明实施例还提供了一种视频数据传输装置,该装置包括:
视频帧接收模块,用于接收端接收发送端传输的视频帧;
反馈报文发送模块,用于当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文;
视频帧插入模块,用于采用数据帧缓存区插入方式按序对接收到的所述视频帧进行存储。
结合第四方面,本发明实施例提供了第四方面的第一种可能的实施方式,其中,所述反馈报文发送模块包括:
视频帧解析子模块,用于对接收到的所述视频帧进行解析;
视频帧序号确定子模块,用于获得帧类型为I帧的所述视频帧的视频帧序号;
视频帧序号判断子模块,用于判断所述I帧的所述视频帧序号与前一I帧的视频帧序号是否连续;若是,则所述接收端向所述发送端发送ACK反馈报文,所述ACK反馈报文携带有所述I帧的视频帧序号;若否,则所述接收端向所述发送端发送GET反馈报文,所述GET反馈报文携带有缺失的I帧的视频帧序号。
结合第四方面,本发明实施例提供了第四方面的第二种可能的实施方式,其中,所述装置还包括:
统计结果生成模块,用于动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
统计结果发送模块,用于将所述统计结果发送至所述发送端。
第五方面,本发明实施例还提供了一种视频数据传输系统,该系统包括:发送端和接收端,所述发送端包括如第三方面至第三方面的第四种可能的实施方式中任一项所述的装置,所述接收端包括如第四方面至第四方面的第二种可能的实施方式中任一项所述的装置。
在本发明实施例提供的视频数据传输方法、装置及系统中,该方法包括:首先,发送端确定当前待传输的视频帧的帧类型,并向接收端发送该视频帧;当确定出上述视频帧的帧类型为I帧时,接收接收端返回的关于I帧接收情况的反馈报文;最后,根据反馈报文对I帧进行相应的操作处理,直到接收端返回已接收到I帧的反馈报文,向接收端发送当前视频帧的后一帧,上述操作处理包括:从I帧副本链表中删除I帧、或者再次向接收端发送I帧。本发明实施例在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证I帧关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种视频数据传输方法的流程示意图;
图2示出了本发明实施例所提供的在视频数据传输过程中动态调整发送速率与反馈信息之间的变化关系示意图;
图3示出了本发明实施例所提供的另一种视频数据传输方法的流程示意图;
图4示出了本发明实施例所提供的又一种视频数据传输方法的流程示意图;
图5示出了本发明实施例所提供的一种视频数据传输装置的结构示意图;
图6示出了本发明实施例所提供的另一种视频数据传输装置的结构示意图;
图7示出了本发明实施例所提供的一种视频数据传输系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中在当前网络不稳定的情况下,RTP无论是采用TCP作为数据传输协议,还是采用UDP数据传输协议,均无法既保证数据传输的投递率,又保证接收端接收到的数据的完整性、有序性,从而导致视频的播放过程中或者出现卡顿、抖动的问题,或者出现视频跳帧、拖影、花屏的现象。基于此,本发明实施例提供了一种视频数据传输方法、装置及系统,下面通过实施例进行描述。
如图1所示,本发明实施例提供了一种视频数据传输方法,该方法包括步骤S102-S106,具体如下:
步骤S102:发送端确定当前待传输的视频帧的帧类型,并向接收端发送该视频帧,上述帧类型包括:I帧、P帧或者B帧,其中,帧类型为I帧的视频帧为视频数据中的关键帧数据;
步骤S104:上述发送端当确定出上述视频帧的帧类型为I帧时,接收上述接收端返回的关于上述I帧接收情况的反馈报文;
步骤S106:上述发送端根据上述反馈报文对上述I帧进行相应的操作处理,直到上述接收端返回已接收到上述I帧的反馈报文,向上述接收端发送当前上述视频帧的后一帧,上述操作处理包括:从I帧副本链表中删除上述I帧、或者再次向接收端发送上述I帧。
其中,在视频数据传输过程中具有两个执行主体,一个是视频数据的发送端,另一个是视频数据的接收端,由发送端逐帧将视频数据中的各个视频帧依次发送至接收端,上述步骤S102-S106以发送端为执行主体,该发送端可以是用户终端,也可以是服务器,一种应用场景为:在基于无线传输的单兵视频采集系统的应用场景中,PMVP的一个功能,如移动单兵、4G单兵,发送端为用户终端(如,智能手机、平板电脑等),将用户终端作为一个移动摄像机,实时采集音视频数据,并将采集到的音视频传输至服务器;另一种应用场景为:在音视频观看、播放的应用场景中,发送端为服务器,用户使用用户终端上的视频播放APP(如优酷、爱奇艺等)观看视频时,服务器实时向用户终端发送与用户点击的视频链接相关的视频数据,以使用户终端逐帧播放,供用户进行视频的观看。
具体的,发送端在采用面向非连接的传输协议(如,UDP数据传输协议)的基础上将视频数据逐帧发送至接收端,保证了视频数据传输的投递率;同时,要求接收端当接收到帧类型为I帧的视频帧时,需要反馈关于该帧类型为I帧的视频帧接收情况的反馈报文,然后,发送端接收接收端返回的反馈报文,并根据接收到的反馈报文判断是否需要重新向接收端发送上述视频帧,确保接收端均已接收到每个帧类型为I帧的视频帧,从而保证接收端接收到的帧类型为I帧的视频帧的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,进而避免出现视频跳帧、花屏、拖影等情况。而对于帧类型为P帧或者B帧的视频帧,在打上包序号等关键信息后直接通过采用UDP数据传输协议发送至接收端,无需接收端反馈相应的反馈报文。
在本发明提供的实施例中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
具体的,上述向接收端发送上述视频帧,具体包括:
上述发送端根据预设的包头格式对上述视频帧进行打包;
上述发送端将打包后且帧类型为I帧的上述视频帧按序存储在I帧副本链表中;
上述发送端采用UDP传输协议将打包后的上述视频帧发送至上述接收端。
其中,视频帧封装包头格式,具体为:
各个视频帧的包序号为发送端采用16位的序号按照顺序生成的;
各个视频帧的时间戳为发送端发送视频帧的时间;
各个视频帧的帧类型为采用8位标识的方式生成的,I帧为0*01,P帧为0*02,B帧为0*03;
I帧序号为发送端采用16位的序号按照顺序生成的,后续接收端接收到视频帧时,通过对接收到的视频帧进行解析,即可根据视频帧序号的包头识别出帧类型为I帧的视频帧,然后,向发送端反馈关于该帧类型为I帧的视频帧接收情况的反馈报文;
各个视频帧的数据包大小为数据的长度。
I帧的存储方式是按序插入I帧副本链表中,便于后续发送端根据接收端返回的反馈报文中的I帧的视频帧序号快速查找到相应的帧类型为I帧的视频帧,根据反馈报文类型将该帧类型为I帧的视频帧从I帧副本链表中删除、或者再次向接收端发送该帧类型为I帧的视频帧。
具体的,上述发送端根据上述反馈报文对上述I帧进行相应的操作处理,包括:
当接收到的反馈报文为ACK反馈报文时,上述发送端确定上述接收端已接收到上述I帧,从I帧副本链表中删除上述I帧,其中,ACK(Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接受无误;
当接收到的反馈报文为GET反馈报文时,上述发送端确定上述接收端未接收到上述I帧,再次向上述接收端发送上述I帧,其中,GET请求获取数据字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示未接收到发来的数据。
进一步的,为了确保发送视频帧过程与接收反馈报文过程互不干扰,提高数据处理的效率和降低数据处理误判率,基于此,上述发送端采用第一线程向上述接收端发送上述视频帧,并采用第二线程接收上述接收端返回的上述反馈报文,其中,上述第一线程与上述第二线程为两个相互独立的线程。
在本发明提供的实施例中,发送端向接收端发送视频帧和发送端接收接收端返回的反馈报文分别采用两个相互独立的线程来执行,使得发送视频帧过程与接收反馈报文过程互不干扰,从而提高了数据处理的效率和降低数据处理误判率。
进一步的,为了提高不稳定网络的运行效率和数据传输效率,引入流量控制机制,动态调整发送端发送数据的速率,从而缓解在当前不稳定网络下出现网络拥塞的现象,同时保证网络带宽资源得到充分利用,基于此,上述方法还包括:
上述发送端接收上述接收端发送的统计结果,该统计结果包括:丢包率,和/或网络拥塞指数;
上述发送端根据上述统计结果动态调整发送速率,该发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
具体的,发送端根据当前网络状况进行流量控制,控制发送速率,即动态调整发送端的码率、帧率、以及分辨率,具体为:
接收端动态统计丢包率、网络拥塞指数,并将该统计结果发送至发送端;
发送端根据该统计结果动态调整视频码率、帧率和分辨率,以使当前网络状况满足当前视频传输的需求,从而降低丢包率、网络拥塞指数;
其中,(1)网络负载率与吞吐率之间的关系:当网络负载率比较大时,网络负载率处于膝点与崖点之间吞吐率增加缓慢,网络负载率达到崖点(带宽负载峰值)后,可能出现网络拥塞,从而导致吞吐率急速下降;
(2)网络负载率与响应时间之间的关系:响应时间随网络负载率的增加而增加,当网络负载率比较大时,出现响应迟缓的现象。
具体的,在本发明提供的实施例中给出了流量控制传输策略,具体包括:
设定多维向量x(t)={x1(t),x2(t),......xn(t)},其中,xn(t)为第n个发送端在t时刻的负载状态,而网络链路的总负载为∑xn(t);
设定统计结果即反馈信息y(t),其中,y(t)表示网络链路在t时刻的拥塞情况,将网络分为拥塞y(t)=1及空闲y(t)=0两种状态,若总负载∑xn(t)大于链路总带宽,则会出现拥塞,即y(t)=1,若总负载∑xn(t)小于链路总带宽,则会出现空闲,即y(t)=0。
接收端将反馈信息y(t)反馈给发送端后,发送端则根据当前网络状况进行流量控制,接收端控制发送速率,即调整发送端的码率、帧率、以及分辨率,当反馈信息y(t)=0,则增加发送速率,当反馈信息y(t)=1时,则减小发送速率,进而保证发送速率在网络空闲时增加,同时保证发送速率在网络拥塞时减小,从而确保当前网络一直处于最优状态。
具体的,如图2所示,当反馈信息y(t)快接近1时,发送端动态降低发送速率,该发送速率包括:码率、帧率、分辨率中的一种或多种,从而降低码率、帧率或者分辨率来防止网络拥塞的情况;当反馈信息y(t)小于1时且不能够充分利用时,发送端动态增加发送速率,从而提高码率、帧率或者分辨率来保证网络的利用率。
在本发明提供的实施例中,通过接收端动态统计丢包率、网络拥塞指数,并将该统计结果发送至发送端;发送端根据该统计结果动态调整视频码率、帧率和分辨率,以使当前网络状况满足当前视频传输的需求,从而降低丢包率、网络拥塞指数。
在本发明实施例提供的视频数据传输方法中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
本发明实施例还提供了一种视频数据传输方法,如图3所示,该方法包括:
步骤S302:接收端接收发送端传输的视频帧,该视频帧的帧类型包括:I帧、P帧或者B帧,其中,帧类型为I帧的视频帧为视频数据中的关键帧数据;
步骤S304:上述接收端当接收到的上述视频帧的帧类型为I帧时,向上述发送端发送关于上述I帧接收情况的反馈报文;
步骤S306:上述接收端采用数据帧缓存区插入方式按序对接收到的上述视频帧进行存储。
其中,上述步骤S302-S306以接收端为执行主体,该接收端可以是服务器,也可以是用户终端,一种应用场景为:在基于无线传输的单兵视频采集系统的应用场景中,PMVP的一个功能,如移动单兵、4G单兵,接收端为服务器,将发送端即用户终端(如,智能手机、平板电脑等)作为一个移动摄像机,实时采集音视频数据,并将采集到的音视频传输至服务器;另一种应用场景为:在音视频观看、播放的应用场景中,接收端为用户终端(如,智能手机、平板电脑等),用户使用用户终端上的视频播放APP(如优酷、爱奇艺等)观看视频时,发送端即服务器实时向用户终端发送与用户点击的视频链接相关的视频数据,以使用户终端逐帧播放,供用户进行视频的观看。
具体的,发送端在采用面向非连接的传输协议(如,UDP数据传输协议)的基础上将视频数据逐帧发送至接收端,接收端接收发送端传输的各个视频帧,保证了视频数据传输的投递率;同时,要求接收端当接收到帧类型为I帧的视频帧时,需要反馈关于该帧类型为I帧的视频帧接收情况的反馈报文,然后,发送端接收接收端返回的反馈报文,并根据接收到的反馈报文判断是否需要重新向接收端发送上述视频帧,确保接收端均已接收到每个帧类型为I帧的视频帧,从而保证接收端接收到的帧类型为I帧的视频帧的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,进而避免出现视频跳帧、花屏、拖影等情况。而对于帧类型为P帧或者B帧的视频帧,在打上包序号等关键信息后直接通过采用UDP数据传输协议发送至接收端,无需接收端反馈相应的反馈报文。
在本发明提供的实施例中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
具体的,上述接收端当接收到的上述视频帧的帧类型为I帧时,向上述发送端发送关于上述I帧接收情况的反馈报文,包括:
上述接收端对接收到的上述视频帧进行解析,其中,由于发送端是按照预设的包头格式对各个视频帧进行打包后再发送至接收端的,首先,接收端接收到视频帧时,通过对接收到的视频帧进行解析,即可根据视频帧序号的包头识别出帧类型为I帧的视频帧;
上述接收端获得帧类型为I帧的上述视频帧的视频帧序号;
上述接收端判断上述I帧的上述视频帧序号与前一I帧的视频帧序号是否连续,然后,接收端根据判断结果向发送端反馈关于该帧类型为I帧的视频帧接收情况的反馈报文,以便发送端根据接收到的反馈报文对相应的帧类型为I帧的视频帧从I帧副本链表中删除、或者再次向接收端发送该帧类型为I帧的视频帧;
若是,则上述接收端向上述发送端发送ACK反馈报文,上述ACK反馈报文携带有上述I帧的视频帧序号,此时,接收端已接收到该帧类型为I帧的视频帧;
若否,则上述接收端向上述发送端发送GET反馈报文,上述GET反馈报文携带有缺失的I帧的视频帧序号,此时,接收端未接收到该帧类型为I帧的视频帧。
进一步的,为了提高不稳定网络的运行效率和数据传输效率,引入流量控制机制,动态调整发送端发送数据的速率,从而缓解在当前不稳定网络下出现网络拥塞的现象,同时保证网络带宽资源得到充分利用,基于此,上述方法还包括:
上述接收端动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
上述接收端将上述统计结果发送至上述发送端。
其中,接收端动态统计丢包率、网络拥塞指数,发送端动态调整发送速率的过程在以发送端为执行主体的实施例中进行了详细的陈述,在此不再赘述。
具体的,如图4所示,给出了一种优选的视频数据传输的具体实施过程,对接收端与发送端之间的信息交互过程进行描述,具体包括:
发送端确定当前待传输的视频帧的帧类型,并根据预设的包头格式对上述视频帧进行打包,将打包后且帧类型为I帧的上述视频帧按序存储在I帧副本链表中;
上述发送端通过第一线程采用UDP传输协议将打包后的上述视频帧发送至接收端;
接收端接收发送端传输的视频帧;
上述接收端当接收到的上述视频帧的帧类型为I帧时,向上述发送端发送关于上述I帧接收情况的反馈报文;
上述发送端通过第二线程接收上述接收端返回的关于上述I帧接收情况的反馈报文,其中,上述第一线程和第二线程为两个相互独立的线程;
当接收到的反馈报文为ACK反馈报文时,上述发送端确定上述接收端已接收到上述I帧,从I帧副本链表中删除上述I帧;
当接收到的反馈报文为GET反馈报文时,上述发送端确定上述接收端未接收到上述I帧,再次通过第一线程采用UDP传输协议向上述接收端发送上述I帧,直到上述接收端返回已接收到上述I帧的反馈报文,向上述接收端发送当前上述视频帧的后一帧;
上述接收端采用数据帧缓存区插入方式按序对接收到的上述视频帧进行存储。
在本发明实施例提供的视频数据传输方法中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
本发明实施例还提供了一种视频数据传输装置,如图5所示,该装置设置于发送端,该装置包括:
帧类型确定模块502,用于确定当前待传输的视频帧的帧类型,上述帧类型包括:I帧、P帧或者B帧;
视频帧发送模块504,用于向接收端发送上述视频帧;
反馈报文接收模块506,用于当确定出上述视频帧的帧类型为I帧时,接收上述接收端返回的关于上述I帧接收情况的反馈报文;
I帧处理模块508,用于根据上述反馈报文对上述I帧进行相应的操作处理,直到上述接收端返回已接收到上述I帧的反馈报文,向上述接收端发送当前上述视频帧的后一帧,上述操作处理包括:从I帧副本链表中删除上述I帧、或者再次向接收端发送上述I帧。
在本发明提供的实施例中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
进一步的,上述视频帧发送模块504包括:
视频帧打包子模块,用于根据预设的包头格式对上述视频帧进行打包;
I帧存储子模块,用于将打包后且帧类型为I帧的上述视频帧按序存储在I帧副本链表中;
视频帧发送子模块,用于采用UDP传输协议将打包后的上述视频帧发送至上述接收端。
进一步的,上述I帧处理模块508包括:
第一I帧处理子模块,用于当接收到的反馈报文为ACK反馈报文时,确定上述接收端已接收到上述I帧,从I帧副本链表中删除上述I帧;
第二I帧处理子模块,用于当接收到的反馈报文为GET反馈报文时,确定上述接收端未接收到上述I帧,再次向上述接收端发送上述I帧。
进一步的,为了确保发送视频帧过程与接收反馈报文过程互不干扰,提高数据处理的效率和降低数据处理误判率,基于此,上述发送端采用第一线程向上述接收端发送上述视频帧,并采用第二线程接收上述接收端返回的上述反馈报文,其中,上述第一线程与上述第二线程为两个相互独立的线程。
进一步的,为了提高不稳定网络的运行效率和数据传输效率,引入流量控制机制,动态调整发送端发送数据的速率,从而缓解在当前不稳定网络下出现网络拥塞的现象,同时保证网络带宽资源得到充分利用,基于此,上述装置还包括:
统计结果接收模块,用于接收上述接收端发送的统计结果,上述统计结果包括:丢包率,和/或网络拥塞指数;
发送速率调整模块,用于根据上述统计结果动态调整发送速率,上述发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
在本发明实施例提供的视频数据传输装置中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
本发明实施例还提供了一种视频数据传输装置,如图6所示,该装置设置于接收端,该装置包括:
视频帧接收模块602,用于接收端接收发送端传输的视频帧;
反馈报文发送模块604,用于当接收到的上述视频帧的帧类型为I帧时,向上述发送端发送关于上述I帧接收情况的反馈报文;
视频帧插入模块606,用于采用数据帧缓存区插入方式按序对接收到的上述视频帧进行存储。
在本发明提供的实施例中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
进一步的,上述反馈报文发送模块604包括:
视频帧解析子模块,用于对接收到的上述视频帧进行解析;
视频帧序号确定子模块,用于获得帧类型为I帧的上述视频帧的视频帧序号;
视频帧序号判断子模块,用于判断上述I帧的上述视频帧序号与前一I帧的视频帧序号是否连续;若是,则上述接收端向上述发送端发送ACK反馈报文,上述ACK反馈报文携带有上述I帧的视频帧序号;若否,则上述接收端向上述发送端发送GET反馈报文,上述GET反馈报文携带有缺失的I帧的视频帧序号。
进一步的,为了提高不稳定网络的运行效率和数据传输效率,引入流量控制机制,动态调整发送端发送数据的速率,从而缓解在当前不稳定网络下出现网络拥塞的现象,同时保证网络带宽资源得到充分利用,基于此,上述装置还包括:
统计结果生成模块,用于动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
统计结果发送模块,用于将上述统计结果发送至上述发送端。
在本发明实施例提供的视频数据传输装置中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
本发明实施例还提供了一种视频数据传输系统,如图7所示,该系统包括:发送端10和接收端20,上述发送端10包括如图5所述的视频数据传输装置,上述接收端20包括如图6所述的视频数据传输装置。
具体的,上述接收端20与上述发送端10之间的信息交互过程,具体包括:
发送端10确定当前待传输的视频帧的帧类型,并根据预设的包头格式对上述视频帧进行打包,将打包后且帧类型为I帧的上述视频帧按序存储在I帧副本链表中;
上述发送端10通过第一线程采用UDP传输协议将打包后的上述视频帧发送至接收端20;
接收端20接收发送端10传输的视频帧;
上述接收端20当接收到的上述视频帧的帧类型为I帧时,向上述发送端10发送关于上述I帧接收情况的反馈报文;
上述发送端10通过第二线程接收上述接收端20返回的关于上述I帧接收情况的反馈报文,其中,上述第一线程和第二线程为两个相互独立的线程;
当接收到的反馈报文为ACK反馈报文时,上述发送端10确定上述接收端20已接收到上述I帧,从I帧副本链表中删除上述I帧;
当接收到的反馈报文为GET反馈报文时,上述发送端10确定上述接收端20未接收到上述I帧,再次通过第一线程采用UDP传输协议向上述接收端20发送上述I帧,直到上述接收端20返回已接收到上述I帧的反馈报文,向上述接收端20发送当前上述视频帧的后一帧;
上述接收端20采用数据帧缓存区插入方式按序对接收到的上述视频帧进行存储。
本发明实施例提供的视频数据传输系统中,在采用面向非连接的传输协议的基础上,对I帧采用可靠性数据传输机制,从而在保证视频数据传输的投递率的前提下,保证帧类型为I帧的关键帧的有序性和完整性,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。具体的,采用UDP数据传输协议和I帧可靠性传输机制对I帧进行数据传输,而对于P帧或者B帧仅采用UDP数据传输协议,不采用可靠性传输机制,即通过UDP数据传输协议保证了视频数据投递的高效性和视频播放的流畅性,从而提高视频数据传输的速率,还利用I帧可靠性传输机制保证了视频播放过程中关键帧数据的完整性和有序性,防止出现关键帧数据发送失败、数据包乱序、数据包丢失等数据传输异常的现象,缓解了在当前网络不稳定的情况下播放视频过程中出现拖影、花屏的现象。
本发明实施例所提供的视频数据传输装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (17)

1.一种视频数据传输方法,其特征在于,所述方法包括:
发送端确定当前待传输的视频帧的帧类型,并向接收端发送所述视频帧,所述帧类型包括:I帧、P帧或者B帧;
所述发送端当确定出所述视频帧的帧类型为I帧时,接收所述接收端返回的关于所述I帧接收情况的反馈报文;
所述发送端根据所述反馈报文对所述I帧进行相应的操作处理,直到所述接收端返回已接收到所述I帧的反馈报文,向所述接收端发送当前所述视频帧的后一帧,所述操作处理包括:从I帧副本链表中删除所述I帧、或者再次向接收端发送所述I帧。
2.根据权利要求1所述的方法,其特征在于,所述向接收端发送所述视频帧,包括:
所述发送端根据预设的包头格式对所述视频帧进行打包;
所述发送端将打包后且帧类型为I帧的所述视频帧按序存储在I帧副本链表中;
所述发送端采用UDP传输协议将打包后的所述视频帧发送至所述接收端。
3.根据权利要求1所述的方法,其特征在于,所述发送端根据所述反馈报文对所述I帧进行相应的操作处理,包括:
当接收到的反馈报文为ACK反馈报文时,所述发送端确定所述接收端已接收到所述I帧,从I帧副本链表中删除所述I帧;
当接收到的反馈报文为GET反馈报文时,所述发送端确定所述接收端未接收到所述I帧,再次向所述接收端发送所述I帧。
4.根据权利要求1所述的方法,其特征在于,所述发送端采用第一线程向所述接收端发送所述视频帧,并采用第二线程接收所述接收端返回的所述反馈报文,其中,所述第一线程与所述第二线程为两个相互独立的线程。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述发送端接收所述接收端发送的统计结果,所述统计结果包括:丢包率,和/或网络拥塞指数;
所述发送端根据所述统计结果动态调整发送速率,所述发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
6.一种视频数据传输方法,其特征在于,所述方法包括:
接收端接收发送端传输的视频帧;
所述接收端当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文;
所述接收端采用数据帧缓存区插入方式按序对接收到的所述视频帧进行存储。
7.根据权利要求6所述的方法,其特征在于,所述接收端当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文,包括:
所述接收端对接收到的所述视频帧进行解析;
所述接收端获得帧类型为I帧的所述视频帧的视频帧序号;
所述接收端判断所述I帧的所述视频帧序号与前一I帧的视频帧序号是否连续;
若是,则所述接收端向所述发送端发送ACK反馈报文,所述ACK反馈报文携带有所述I帧的视频帧序号;
若否,则所述接收端向所述发送端发送GET反馈报文,所述GET反馈报文携带有缺失的I帧的视频帧序号。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述接收端动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
所述接收端将所述统计结果发送至所述发送端。
9.一种视频数据传输装置,其特征在于,所述装置包括:
帧类型确定模块,用于确定当前待传输的视频帧的帧类型,所述帧类型包括:I帧、P帧或者B帧;
视频帧发送模块,用于向接收端发送所述视频帧;
反馈报文接收模块,用于当确定出所述视频帧的帧类型为I帧时,接收所述接收端返回的关于所述I帧接收情况的反馈报文;
I帧处理模块,用于根据所述反馈报文对所述I帧进行相应的操作处理,直到所述接收端返回已接收到所述I帧的反馈报文,向所述接收端发送当前所述视频帧的后一帧,所述操作处理包括:从I帧副本链表中删除所述I帧、或者再次向接收端发送所述I帧。
10.根据权利要求9所述的装置,其特征在于,所述视频帧发送模块包括:
视频帧打包子模块,用于根据预设的包头格式对所述视频帧进行打包;
I帧存储子模块,用于将打包后且帧类型为I帧的所述视频帧按序存储在I帧副本链表中;
视频帧发送子模块,用于采用UDP传输协议将打包后的所述视频帧发送至所述接收端。
11.根据权利要求9所述的装置,其特征在于,所述I帧处理模块包括:
第一I帧处理子模块,用于当接收到的反馈报文为ACK反馈报文时,确定所述接收端已接收到所述I帧,从I帧副本链表中删除所述I帧;
第二I帧处理子模块,用于当接收到的反馈报文为GET反馈报文时,确定所述接收端未接收到所述I帧,再次向所述接收端发送所述I帧。
12.根据权利要求9所述的装置,其特征在于,所述发送端采用第一线程向所述接收端发送所述视频帧,并采用第二线程接收所述接收端返回的所述反馈报文,其中,所述第一线程与所述第二线程为两个相互独立的线程。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
统计结果接收模块,用于接收所述接收端发送的统计结果,所述统计结果包括:丢包率,和/或网络拥塞指数;
发送速率调整模块,用于根据所述统计结果动态调整发送速率,所述发送速率包括:码率、帧率、以及分辨率中的一种或者多种。
14.一种视频数据传输装置,其特征在于,所述装置包括:
视频帧接收模块,用于接收端接收发送端传输的视频帧;
反馈报文发送模块,用于当接收到的所述视频帧的帧类型为I帧时,向所述发送端发送关于所述I帧接收情况的反馈报文;
视频帧插入模块,用于采用数据帧缓存区插入方式按序对接收到的所述视频帧进行存储。
15.根据权利要求14所述的装置,其特征在于,所述反馈报文发送模块包括:
视频帧解析子模块,用于对接收到的所述视频帧进行解析;
视频帧序号确定子模块,用于获得帧类型为I帧的所述视频帧的视频帧序号;
视频帧序号判断子模块,用于判断所述I帧的所述视频帧序号与前一I帧的视频帧序号是否连续;若是,则所述接收端向所述发送端发送ACK反馈报文,所述ACK反馈报文携带有所述I帧的视频帧序号;若否,则所述接收端向所述发送端发送GET反馈报文,所述GET反馈报文携带有缺失的I帧的视频帧序号。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
统计结果生成模块,用于动态统计丢包率,和/或网络拥塞指数,生成相应的统计结果;
统计结果发送模块,用于将所述统计结果发送至所述发送端。
17.一种视频数据传输系统,其特征在于,所述系统包括:发送端和接收端,所述发送端包括如权利要求9-13任一项所述的装置,所述接收端包括如权利要求14-16任一项所述的装置。
CN201611130549.8A 2016-12-09 2016-12-09 一种视频数据传输方法、装置及系统 Pending CN106792263A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611130549.8A CN106792263A (zh) 2016-12-09 2016-12-09 一种视频数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611130549.8A CN106792263A (zh) 2016-12-09 2016-12-09 一种视频数据传输方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106792263A true CN106792263A (zh) 2017-05-31

Family

ID=58874936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611130549.8A Pending CN106792263A (zh) 2016-12-09 2016-12-09 一种视频数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106792263A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277423A (zh) * 2017-07-28 2017-10-20 北京小米移动软件有限公司 丢包重传的方法及装置
CN108769450A (zh) * 2018-06-21 2018-11-06 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
CN109150876A (zh) * 2018-08-20 2019-01-04 深圳市昊源科技有限公司 一种视频无线传输的qos方法、装置及系统
CN109729396A (zh) * 2017-10-31 2019-05-07 华为技术有限公司 视频分片数据传输方法和装置
CN109769143A (zh) * 2019-02-03 2019-05-17 广州视源电子科技股份有限公司 视频图像处理方法、装置、视频系统、设备和存储介质
CN110381174A (zh) * 2019-07-06 2019-10-25 杭州安恒信息技术股份有限公司 一种基于无状态扫描的高速域名解析方法
CN110519632A (zh) * 2019-07-30 2019-11-29 华为技术有限公司 投屏方法及设备
CN110996035A (zh) * 2019-12-17 2020-04-10 紫光展讯通信(惠州)有限公司 信息发送方法及装置
CN111031196A (zh) * 2019-12-25 2020-04-17 普世(南京)智能科技有限公司 一种基于标志帧的低功耗单向无反馈影像传输方法及系统
CN111385221A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 一种数据处理方法和通信设备
CN112584081A (zh) * 2020-12-01 2021-03-30 北京融讯科创技术有限公司 视频传输方法、装置、电子设备及存储介质
CN113709131A (zh) * 2021-08-22 2021-11-26 山东云海国创云计算装备产业创新中心有限公司 一种网络数据传输方法、装置、计算机设备及可读介质
CN115396696A (zh) * 2022-08-22 2022-11-25 网易(杭州)网络有限公司 视频数据传输方法、系统、处理设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533387A (zh) * 2013-10-21 2014-01-22 腾讯科技(深圳)有限公司 一种视频直播控制方法、设备及系统
CN103532923A (zh) * 2012-11-14 2014-01-22 Tcl集团股份有限公司 一种实时媒体流传输方法及系统
CN104104924A (zh) * 2014-07-30 2014-10-15 浪潮集团有限公司 一种基于3g网络的视频监控系统带宽自适应传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532923A (zh) * 2012-11-14 2014-01-22 Tcl集团股份有限公司 一种实时媒体流传输方法及系统
CN103533387A (zh) * 2013-10-21 2014-01-22 腾讯科技(深圳)有限公司 一种视频直播控制方法、设备及系统
CN104104924A (zh) * 2014-07-30 2014-10-15 浪潮集团有限公司 一种基于3g网络的视频监控系统带宽自适应传输方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277423A (zh) * 2017-07-28 2017-10-20 北京小米移动软件有限公司 丢包重传的方法及装置
CN107277423B (zh) * 2017-07-28 2020-10-09 北京小米移动软件有限公司 丢包重传的方法及装置
CN109729396A (zh) * 2017-10-31 2019-05-07 华为技术有限公司 视频分片数据传输方法和装置
CN109729396B (zh) * 2017-10-31 2022-03-11 华为技术有限公司 视频分片数据传输方法和装置
CN112492118B (zh) * 2018-06-21 2023-11-17 深圳市道通智能航空技术股份有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
US11785148B2 (en) 2018-06-21 2023-10-10 Autel Robotics Co., Ltd. Data transmission control method, information sending end and receiving end and aerial vehicle image transmission system
CN108769450A (zh) * 2018-06-21 2018-11-06 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
CN108769450B (zh) * 2018-06-21 2021-01-05 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
CN112492118A (zh) * 2018-06-21 2021-03-12 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
CN109150876B (zh) * 2018-08-20 2021-06-29 深圳市昊一源科技有限公司 一种视频无线传输的qos方法、装置及系统
CN109150876A (zh) * 2018-08-20 2019-01-04 深圳市昊源科技有限公司 一种视频无线传输的qos方法、装置及系统
CN111385221A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 一种数据处理方法和通信设备
CN109769143A (zh) * 2019-02-03 2019-05-17 广州视源电子科技股份有限公司 视频图像处理方法、装置、视频系统、设备和存储介质
CN110381174A (zh) * 2019-07-06 2019-10-25 杭州安恒信息技术股份有限公司 一种基于无状态扫描的高速域名解析方法
CN110381174B (zh) * 2019-07-06 2021-12-07 杭州安恒信息技术股份有限公司 一种基于无状态扫描的高速域名解析方法
CN110519632A (zh) * 2019-07-30 2019-11-29 华为技术有限公司 投屏方法及设备
WO2021018187A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 投屏方法及设备
US11997153B2 (en) 2019-07-30 2024-05-28 Huawei Technologies Co., Ltd. Screen projection method and device
CN110996035B (zh) * 2019-12-17 2021-11-02 紫光展讯通信(惠州)有限公司 信息发送方法及装置
CN110996035A (zh) * 2019-12-17 2020-04-10 紫光展讯通信(惠州)有限公司 信息发送方法及装置
CN111031196A (zh) * 2019-12-25 2020-04-17 普世(南京)智能科技有限公司 一种基于标志帧的低功耗单向无反馈影像传输方法及系统
CN111031196B (zh) * 2019-12-25 2024-04-26 普世(南京)智能科技有限公司 一种基于标志帧的低功耗单向无反馈影像传输方法及系统
CN112584081A (zh) * 2020-12-01 2021-03-30 北京融讯科创技术有限公司 视频传输方法、装置、电子设备及存储介质
CN113709131A (zh) * 2021-08-22 2021-11-26 山东云海国创云计算装备产业创新中心有限公司 一种网络数据传输方法、装置、计算机设备及可读介质
CN113709131B (zh) * 2021-08-22 2024-01-09 山东云海国创云计算装备产业创新中心有限公司 一种网络数据传输方法、装置、计算机设备及可读介质
CN115396696A (zh) * 2022-08-22 2022-11-25 网易(杭州)网络有限公司 视频数据传输方法、系统、处理设备及存储介质
CN115396696B (zh) * 2022-08-22 2024-04-12 网易(杭州)网络有限公司 视频数据传输方法、系统、处理设备及存储介质

Similar Documents

Publication Publication Date Title
CN106792263A (zh) 一种视频数据传输方法、装置及系统
CN109996097B (zh) 一种投屏方法、系统及存储装置
US20200358886A1 (en) Data Transmission Method, Apparatus, And System
US8521901B2 (en) TCP burst avoidance
CN103780971A (zh) 一种互联网条件下基于rudp的实时视频传输方法
CN106209915A (zh) 一种实时流媒体无线传输方法及其系统
CN110418376A (zh) 数据传输方法及装置
CN102318312B (zh) 控制带宽共享
RU2009134145A (ru) Снижение влияния от потерь пакетов в передачах видео
CN107979449A (zh) 一种数据传输方法及装置
EP1914933B1 (en) Method and apparatus for retransmission request reduction in a network
CN104753980A (zh) 数据传输方法及相关装置和通信系统
CN112203138A (zh) 基于udp协议的投屏数据传输方法、装置、设备及存储介质
CN108494698A (zh) 一种基于传输速率的拥塞控制方法
CN101562500B (zh) 数据传输请求、发送方法及数据传输装置
Ahmad et al. Enhancing fast TCP’s performance using single TCP connection for parallel traffic flows to prevent head-of-line blocking
CN112866390B (zh) 一种数据传输方法、装置、终端设备和存储介质
CN107197392B (zh) 在弹幕视频流传输过程中的丢包方法及丢包装置
CN105657374A (zh) 一种自适应多网络链路实时视频传输控制系统
CN110719228B (zh) 基于实时数据分发服务的大数据包传输方法及装置
EP3809748B1 (en) Data transmitting method and device
CN101631074B (zh) 一种多链路报文发送方法、装置和网络设备
CN114125508B (zh) 无线域内视频组播的可靠性保障方法
CN114039702B (zh) 数据传输方法、装置、设备和介质
CN111615170B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication