CN117729343A - 一种实时视频传输方法 - Google Patents
一种实时视频传输方法 Download PDFInfo
- Publication number
- CN117729343A CN117729343A CN202311320173.7A CN202311320173A CN117729343A CN 117729343 A CN117729343 A CN 117729343A CN 202311320173 A CN202311320173 A CN 202311320173A CN 117729343 A CN117729343 A CN 117729343A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- retransmitted
- sent
- sending module
- 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 41
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000012216 screening Methods 0.000 claims abstract description 14
- 238000005538 encapsulation Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 230000008521 reorganization Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000005484 gravity Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本说明书实施例公开了一种实时视频传输方法。该方法包括发送模块分别获取实时视频数据和第一待重发数据,并基于码流类型分别对实时视频数据进行重要性标记,得到打标数据;发送模块筛除第一待重发数据中的冗余数据,得到第二待重发数据;将标记为重要的第二待重发数据基于待发时间排序先发送至处理模块的待发队列中,再将标记为不重要的第二待重发数据和打标数据基于待发时间排序发送至待发队列中;当处理模块检测到待发队列中存在待发数据时,处理模块基于队列顺序将待发数据依次发送给接收模块;接收模块对接收自处理模块的接收数据解码。本说明书实施例通过在发送和接收视频数据时筛除部分不满足条件的视频数据,提高实时视频传输的实时性。
Description
技术领域
本申请涉及通讯传输技术领域,具体而言,涉及一种实时视频传输方法。
背景技术
随着通信网络行业的发展,现在传输的实时视频清晰度要求越来越高,随之视频码率越来越大,在弱网条件下保证视频传输的可靠性和实时性成为一个巨大的挑战。定制化用户数据报协议(User Datagram Protocol, UDP)是现在视频传输的主流协议之一,通过自动重传请求(Automatic Repeat reQuest, ARQ)机制来对丢失或损坏数据进行重传,但该机制在网络波动大或网络质量低的情况下,会因为仍然需要处理较多的数据而导致出现严重卡顿、花屏的现象,无法满足实时性的要求。
发明内容
本说明书实施例提供了一种实时视频传输方法,其技术方案如下:
第一方面,本说明书本说明书实施例提供了一种实时视频传输方法,应用于实时视频传输系统,所述系统包括发送模块、接收模块和处理模块,所述处理模块、发送模块和接收模块之间两两通讯连接,所述方法包括:
所述发送模块分别获取实时视频数据和第一待重发数据,并基于码流类型分别对各所述实时视频数据进行重要性标记,得到打标数据,所述打标数据包括重要数据和不重要数据,所述第一待重发数据包括所述接收模块反馈给所述发送模块的需要重发的历史实时视频数据;
所述发送模块筛除所述第一待重发数据中的冗余数据,得到第二待重发数据,所述冗余数据包括所述第一待重发数据中被标记为不重要并且待发时长超过预设时长的视频数据;
所述发送模块将标记为重要的所述第二待重发数据基于待发时间排序先发送至所述处理模块的待发队列中,再将标记为不重要的所述第二待重发数据和打标数据基于待发时间排序发送至所述处理模块的待发队列中;
当所述处理模块检测到所述待发队列中存在待发数据时,所述处理模块基于队列顺序将所述待发数据依次发送给所述接收模块;
所述接收模块对接收自所述处理模块的接收数据解码。
本说明书一些实施例提供的技术方案带来的有益效果至少包括:
在本说明书一个或多个实施例中,当发送模块获取到实时视频数据时,发送模块会对实时视频数据中的第一待重发数据进行编码,根据数据码流不同,发送模块会将第一待重发数据进行标记分为重要数据和不重要数据。在发送模块发送交付数据给处理模块之前,筛除掉第一待重发数据中不重要且超时的数据,从而使发送数据量减小,根据需要重传数据的重要性,进行选择性重传或丢弃,对满足要求数据发送前根据时间进行发送序列排序,在接收模块通过处理模块接收到视频数据后,对视频数据中的重要数据进行选择性保留,并反馈给发送模块需要重传的视频数据。通过以上筛选和排序过程减少了实时视频传输过程中的数据量,并在发送和接收视频数据后根据时效性筛除掉超时视频数据,从而确保传输实时视频的低延时特征,满足弱网条件下实时视频传输的实时性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种实时视频传输系统的系统架构示意图;
图2为本说明书实施例提供的一种实时视频传输方法的流程示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述。
本说明书中的说明书和权利要求书及上述附图中的术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本申请的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
首先,以下将对本申请实施例中的部分用于进行解释说明,以便于本领域技术人员理解。
请参阅图1,图1示出了本说明书实施例提供的一种实时视频传输方法的系统架构示意图。
如图1所示,该实时视频传输方法的系统架构至少可以包括发送模块10、处理模块20、网络30和接收模块40。
发送模块10包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、智能可穿戴设备等类型的电子设备,也可以为运行于上述电子设备的软体,例如应用程序等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。可选地,发送模块10向处理模块20发送视频数据,发送模块10可以获取应用程序接口的视频数据信息。
处理模块20根据发送模块10发送的实时视频数据信息,将该实时视频数据信息通过网络30发送给接收模块40。具体的,处理模块20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
网络30用以在发送模块10和处理模块20之间提供通信链路的介质。网络30可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
接收模块40接收模块包括但不限于平板电脑或笔记本电脑的网络接口卡或无线网卡、智能手机或其他移动设备的无线接口、服务器的网络接口卡、各种物联网设备等类型的电子设备,也可以为运行于上述电子设备的软体,例如应用程序等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
此外,需要说明的是,图1所示的仅仅是本公开提供的一种系统,在实际应用中,还可以包括其他系统,例如可以包括更多的发送模块或接收模块。
本说明书实施例中,上述发送模块10、处理模块20和接收模块40之间可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
接下来请参阅图2,图2示出了本说明书实施例提供的一种实时视频传输方法的流程示意图。
如图2所示,该实时视频传输方法至少可以包括以下步骤:
S201、所述发送模块分别获取实时视频数据和第一待重发数据,并基于码流类型分别对各所述实时视频数据进行重要性标记,得到打标数据。
其中,所述打标数据包括重要数据和不重要数据,所述第一待重发数据包括所述接收模块反馈给所述发送模块的需要重发的历史实时视频数据。
在本说明书实施例中,发送模块获取到的视频数据包括实时视频数据和第一待重发数据两部分。当实时视频传输系统开机启动,进行第一轮工作时,此时系统的发送模块中并不存在第一待重发数据,而当完成一轮视频传输后,接收模块会通过视频传输机制反馈给发送模块接收成功或者失败信号。发送模块在接收到接收模块反馈的接收失败信号后,会将对应接收失败的数据,即需要重发的第一待重发数据与新一轮的实时视频数据一起进行后续选择性重发的处理过程。发送模块接收到的数据会具备不同的码流类型,不同码流类型的数据在传输过程中的重要性是不一样的,故发送模块将根据码流类型对实时视频数据进行重要性标记,以得到打标数据。
其中,视频传输机制可以选择一种自动重传请求(Automatic Repeat reQuest,ARQ)机制来对丢失或损坏数据进行重传。ARQ视频传输机制的基本原理是发送模块将视频数据分割成小的数据包进行传输,并在接收模块收到数据包后发送确认(Acknowledgement,ACK)信号给发送模块,表示数据包已经正确接收。如果发送模块没有收到接收模块的ACK确认信息,或者接收模块检测到数据包有错误,接收模块会发送否定确认(Negative Acknowledgement,NACK)信号给发送模块会进行重传,直到接收模块正确接收到数据包或达到最大重传次数。
在一种可实施方式中,所述基于码流类型分别对各所述实时视频数据进行重要性标记,得到打标数据,包括:
所述发送模块对所述实时视频数据编码,得到编码数据;
所述发送模块对所述编码数据进行封装,得到封装数据;
所述发送模块基于码流类型分别对各所述封装数据进行重要性标记,得到打标数据。
在本说明书实施例中,发送模块接收到视频数据后,会对视频数据中的实时视频数据进行编码,实时视频数据经过发送模块中的编码器编码后成为编码数据。在得到编码数据之后,发送模块会根据不同的传输协议和编码方式选择添加一些控制信息和标识来对编码数据进行封装。在得到封装数据之后,发送模块会根据得到的封装数据的码流类型不同进行分类,再对不同分类的封装数据进行打标,分别打上重要性标记和不重要性标记,从而得到打标数据。
其中,发送模块在对编码数据进行封装时,常采用帧封装或者数据包封装方式。帧封装通常将原始视频数据划分为视频帧,对每个视频帧进行帧封装。首先添加帧头,由于帧头包含一些控制信息和标识,用于标识帧的类型、大小、编码方式等,帧头中可能还包含一些必要的信息,如时间戳、帧序号等;再添加帧数据、帧尾,帧尾用于标识帧的结束,通常包含一些校验信息,如校验和,用于验证帧数据的完整性。而数据包封装是发送模块将每个视频帧封装成数据包。首先添加包头,由于包头中包含一些控制信息和标识,用于标识数据包的起始和结束,以及其他必要的信息,如源地址、目标地址等;再添加帧数据,将帧数据添加到数据包中;最后添加包尾,用于标识数据包的结束,通常包含一些校验信息,如校验和,用于验证数据包的完整性,使接收端能够正确解析和处理视频数据。具体的封装方式可能会根据不同的传输协议和编码方式而有所差异。
在一种可实施方式中,所述方法还包括:
所述发送模块通过IPB编码器对所述实时视频数据编码,得到编码数据,所述编码数据包括I帧视频数据、P帧视频数据和B帧视频数据,所述P帧视频数据包括重要P帧视频数据和不重要P帧视频数据。
在本说明书实施例中,发送模块对视频数据中的实时视频数据通过关键、预测、双向(Intra、Predictive、Bi-directional,IPB)编码器进行编码,得到的编码数据包括关键帧或内部帧(Intra-frame,I帧)视频数据、预测帧(Predictive-frame,P帧)视频数据和双向预测帧(Bidirectional-frame,B帧)视频数据,在P帧视频数据中又包括重要P帧视频数据和不重要P帧视频数据。
其中,IPB编码器采用了基于帧的编码原理,通过将视频帧分为三种类型:I帧、P帧和B帧来实现压缩。每个I帧都是完整的图像帧,它不依赖于其他帧进行解码,通常用于视频的起始位置、场景切换或者关键动作等,由于I帧是完整的图像帧,它的压缩率较低,但是能够提供较高的图像质量。P帧的编码依赖于前面的I帧或P帧,通过参考之前的帧进行预测,只编码与参考帧之间的差异,而这种差异通常是目标图像与参考图像之间的运动矢量和残余误差,相对于I帧,P帧的压缩率更高,但是解码时需要参考之前的帧进行恢复。B帧的编码依赖于前后的I帧或P帧,通过参考之前和之后的帧进行预测,编码图像与参考图像之间的差异,B帧可以提供更高的压缩率,因为它可以选择最匹配的参考帧进行预测,但是解码时需要参考前后的帧进行恢复。
其中,在判断P帧视频数据是否为重要P帧视频数据时,可采用量化参数、运动矢量或者丢失容忍度等方式来判断。在使用量化参数判断时,由于IPB编码器使用量化参数来控制编码帧的质量和压缩率,因此量化参数越小,表示编码器更加注重保留细节和图像质量。这样重要P帧视频数据通常会使用较小的量化参数进行编码,以确保图像质量的保留,而不重要P帧视频数据可能会使用较大的量化参数进行编码,以提高压缩率。在使用运动矢量判断时,由于P帧通过参考之前的帧进行预测,其中运动矢量描述了目标图像与参考图像之间的运动。重要P帧视频数据通常会具有较大的运动矢量,表示目标图像与参考图像之间存在较大的运动,需要更精确的预测。而不重要P帧视频数据可能会具有较小的运动矢量,表示目标图像与参考图像之间的运动较小,预测误差较小。在使用丢失容忍度判断时,由于IPB编码器可以根据应用场景的要求设置丢失容忍度,即允许在解码时出现多少丢失的信息。对于重要P帧视频数据,编码器可能会设置较低的丢失容忍度,以确保重要的细节和图像质量不会丢失。而对于不重要P帧视频数据,编码器可能会设置较高的丢失容忍度,以提高压缩率,即使在解码时丢失部分信息也可以接受。
在一种可实施方式中,所述方法还包括:
所述发送模块对所述封装数据中的所述I帧视频数据和重要P帧视频数据添加重要标记,得到重要数据;
所述发送模块对所述封装数据中的所述B帧视频数据和不重要P帧视频数据添为不重要标记,得到不重要数据。
在本说明书实施例中,发送模块将对封装数据根据码流类型不同进行打标。由于I帧视频数据和重要P帧视频数据包含绝大部分重要的图像信息,因此将I帧视频数据和重要P帧视频数据标记为重要数据,将剩余的不重要P帧视频数据和B帧视频数据标记为不重要数据,以便于后续发送模块的选择性重传。
其中,对视频数据进行标记时除了采用帧类型标记之外,还可以采用帧头标记、帧长度标记或者时间戳标记等打标方式。在使用帧头标记时,发送模块可以在每个视频帧的开头添加一个特定的帧头标记。这个标记可以是一个固定的字节序列或者特定的比特位模式,用于标识该帧的开始位置。在使用帧长度标记时,发送模块可以在每个视频帧之前添加一个表示帧长度的标记。这个标记可以是一个固定长度的整数,指示接收模块在接收到数据后需要读取多少字节作为当前视频帧的数据。在使用时间戳标记时,发送模块可以为每个视频帧附加一个时间戳,用于表示该帧的时间信息。时间戳可以是一个绝对时间值(如时钟时间)或相对时间值(如帧之间的时间间隔)。接收模块可以根据时间戳对视频帧进行排序和同步,以确保正确的播放顺序和时序一致性。这些打标方式可以单独或组合使用,以根据具体需求和传输协议的要求对视频数据进行标记。
S202、所述发送模块筛除所述第一待重发数据中的冗余数据,得到第二待重发数据。
其中,所述冗余数据包括所述第一待重发数据中被标记为不重要并且待发时长超过预设时长的视频数据。
在本说明书实施例中,由于第一待重发数据为前一轮实时视频发送完成后,接收模块反馈给发送模块需要重发的视频数据,因此发送模块获得的第一待重发数据中就已经对数据类型进行了重要性标记。在对第一待重发数据进行筛除前,首先发送模块可以预设一个时间阈值,当检测到第一待重发数据中有标记为不重要并且等待发送时间超过之前预设的时间阈值时,此时将这部分待重发数据作为冗余数据筛除掉,从而得到第二待重发数据。
S203、所述发送模块将标记为重要的所述第二待重发数据基于待发时间排序先发送至所述处理模块的待发队列中,再将标记为不重要的所述第二待重发数据和打标数据基于待发时间排序发送至所述处理模块的待发队列中。
在本说明书实施例中,发送模块首先将第二待重发数据中的标记为重要的待重发数据筛选出来,根据数据等待的发送时间,将这些第二待重发数据中的重要待重发数据按等待时间由近到远进行排列,发送到待发队列中,在发送时优先发送这部分数据。接下来,发送模块将剩余的第二待重发数据和打标数据按等待时间由近到远进行排列,发送至待发队列中,排在重要待重发数据之后进行数据发送。
在一种可实施方式中,所述方法还包括:
所述发送模块对所述打标数据进行分组,得到分组数据;
所述发送模块对标记为重要的所述第二待重发数据进行打包,得到第一打包数据;
所述发送模块对标记为不重要的所述第二待重发数据和分组数据进行打包,得到第二打包数据;
所述发送模块将所述第一打包数据基于待发时间排序先发送至所述处理模块的待发队列中,再将所述第二打包数据基于待发时间排序发送至所述处理模块的待发队列中。
在本说明书实施例中,发送模块发送视频数据至待发队列之前,还可以先将打标数据进行分组,得到相同大小数据量的分组数据。接着,发送模块先对标记为重要的第二待重发数据进行打包,得到第一打包数据;再将经过分组的打标数据和标记为不重要的第二待重发数据一起进行打包,得到第二打包数据;
得到第一、第二打包数据后,发送模块再依次将第一、第二打包数据发送至待发队列中。
在一种可实施方式中,所述方法还包括:所述发送模块对所述打标数据进行分组,包括:
所述发送模块基于所述待发队列前一轮发送的历史第二待重发数据计算分组置信值;
所述发送模块按分组置信值对所述打标数据平均分组。
本说明书实施例中,发送模块在对打标数据进行分组时,首先定义分组大小,分组大小可以用分组置信值X来表示。在计算X之前,需要先根据前一轮发送的历史第二待重发数据,统计前一轮重传数据的总字节数N和统计分组数M,将总字节数N与统计分组数M的比值定义为总重传数据的算数均值D。发送模块再根据算数均值D将前一轮重传数据分成大于等于算术均值的数据区域M和小于算数均值的数据区域N。发送模块进一步分别计算数据区域M所占全部重传数据的比重A,数据区域N所占全部重传数据的比重B。并同理分别计算数据区域M的算数均值C和数据区域N的算数均值D。最后发送模块将区域M的比重A与它的算数均值C乘积与区域N的比重B与它的算数均值D乘积相加之和作为分组置信值X的大小。在得到分组置信值X后,将打标数据根据X进行平均分组。
S204、当所述处理模块检测到所述待发队列中存在待发数据时,所述处理模块基于队列顺序将所述待发数据依次发送给所述接收模块。
在本说明书实施例中,当待发队列中存在发送模块发送的待发数据时,待发队列会生成监测信号,从而发送模块会将待发队列生成的监测信号发送给处理模块。进一步,处理模块在接收到监测信号后会生成传输指令,将待发队列中的视频数据按照队列顺序依次发送给接收模块,不断循环这个过程,完成实时视频由发送模块到处理模块再到接收模块的传输。
S205、所述接收模块对接收自所述处理模块的接收数据解码。
在本说明书实施例中,由于视频数据在发送模块中进行了编码器编码压缩,因此接收模块在接收到处理模块发送的接收数据后需要对有效视频数据进行数据解码,以完成实时视频的整个传输过程。
在一种可实施方式中,所述方法还包括:
所述接收模块基于数据内容和接收时间对接收自所述处理模块的接收数据分别进行重复性筛查和时效性筛查,得到交付数据;
所述接收模块将所述交付数据存入待交付队列;
所述接收模块对所述待交付队列中所述交付数据进行拆包,得到拆包数据;
所述接收模块将所述拆包数据中的重发数据插回到原始分组,得到重组数据;
所述接收模块基于数据完整性和数据重要性对所述重组数据进行筛查,得到有效重组数据;
所述接收模块对所述有效重组数据进行解码。
本说明书实施例中,接收模块接收到处理模块发送的接收数据后,可以首先将接收数据进行重复性筛查,再将剩余的接收数据进行时效性检查,以去除重复数据和过期数据,并将剩余的接收数据发送至交付队列。由于接收数据是经过发送模块打包处理后的,因此接受模块进一步将交付队列中的交付数据进行拆包,并将拆包后数据中的重发数据根据数据分组信息插回到原始分组,并与剩余的拆包数据一起合并为重组数据。接收模块在得到重组数据后,基于数据完整性和数据重要性对所述重组数据进行筛查,接收模块获得有效重组数据后通过解码器对有效重组数据进行解码。
在一种可实施方式中,所述方法还包括:
所述接收模块基于数据内容对所述接收数据进行分类,得到重复数据和有效数据,筛除所述接收数据中的所述重复数据;
所述接收模块筛除所述有效数据中接收时间超过预设时间阈值的过时数据,得到交付数据;
所述接收模块筛除所述重组数据中的不完整数据,得到完整重组数据;
所述接收模块筛除所述完整重组数据中标记为不重要的无效完整重组数据,得到有效重组数据。
在本说明书实施例中,接收模块接收到处理模块发送的接收数据后,会对接收数据进行重复性筛查,若接收模块发现接收数据中的重传数据经过判断为已经收到过的重复性重传数据,则移除掉这部分重复重传数据,得到有效数据。经过重复性筛查后再将剩余的有效数据进行时效性检查,例如若接收的数据时间超过1s,则移除掉这部分超时数据,得到交付数据,再将剩余的交付数据发送至交付队列。接收模块在得到重组数据后,首先检查数据的完整性,若检测收到数据有缺损或其它情况,则给发送模块反馈NACK信号,要求发送模块重传此部分数据,此部分数据即为发送模块中获得的第一待重传数据。若没有问题则反馈ACK信号并进行下一步重要性筛查,将完整重组数据中标记为不重要的完整重传重组数据筛除掉,将剩余的重组数据定义为有效重组数据。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (8)
1.一种实时视频传输方法,其特征在于,所述方法应用于实时视频传输系统,所述系统包括发送模块、接收模块和处理模块,所述处理模块、发送模块和接收模块之间两两通讯连接,所述方法包括:
所述发送模块分别获取实时视频数据和第一待重发数据,并基于码流类型分别对各所述实时视频数据进行重要性标记,得到打标数据,所述打标数据包括重要数据和不重要数据,所述第一待重发数据包括所述接收模块反馈给所述发送模块的需要重发的历史实时视频数据;
所述发送模块筛除所述第一待重发数据中的冗余数据,得到第二待重发数据,所述冗余数据包括所述第一待重发数据中被标记为不重要并且待发时长超过预设时长的视频数据;
所述发送模块将标记为重要的所述第二待重发数据基于待发时间排序先发送至所述处理模块的待发队列中,再将标记为不重要的所述第二待重发数据和打标数据基于待发时间排序发送至所述处理模块的待发队列中;
当所述处理模块检测到所述待发队列中存在待发数据时,所述处理模块基于队列顺序将所述待发数据依次发送给所述接收模块;
所述接收模块对接收自所述处理模块的接收数据解码。
2.根据权利要求1所述的方法,其特征在于,所述基于码流类型分别对各所述实时视频数据进行重要性标记,得到打标数据,包括:
所述发送模块对所述实时视频数据编码,得到编码数据;
所述发送模块对所述编码数据进行封装,得到封装数据;
所述发送模块基于码流类型分别对各所述封装数据进行重要性标记,得到打标数据。
3.根据权利要求2所述的方法,其特征在于,所述发送模块对所述实时视频数据编码,得到编码数据,包括:
所述发送模块通过IPB编码器对所述实时视频数据编码,得到编码数据,所述编码数据包括I帧视频数据、P帧视频数据和B帧视频数据,所述P帧视频数据包括重要P帧视频数据和不重要P帧视频数据。
4.根据权利要求3所述的方法,其特征在于,所述发送模块基于码流类型分别对各所述封装数据进行重要性标记,得到打标数据,包括:
所述发送模块对所述封装数据中的所述I帧视频数据和重要P帧视频数据添加重要标记,得到重要数据;
所述发送模块对所述封装数据中的所述B帧视频数据和不重要P帧视频数据添为不重要标记,得到不重要数据。
5.根据权利要求1所述的方法,其特征在于,所述发送模块将标记为重要的所述第二待重发数据基于待发时间排序先发送至所述处理模块的待发队列中,再将标记为不重要的所述第二待重发数据和打标数据基于待发时间排序发送至所述处理模块的待发队列中,包括:
所述发送模块对所述打标数据进行分组,得到分组数据;
所述发送模块对标记为重要的所述第二待重发数据进行打包,得到第一打包数据;
所述发送模块对标记为不重要的所述第二待重发数据和分组数据进行打包,得到第二打包数据;
所述发送模块将所述第一打包数据基于待发时间排序先发送至所述处理模块的待发队列中,再将所述第二打包数据基于待发时间排序发送至所述处理模块的待发队列中。
6.根据权利要求5所述的方法,其特征在于,所述发送模块对所述打标数据进行分组,包括:
所述发送模块基于所述待发队列前一轮发送的历史第二待重发数据计算分组置信值;
所述发送模块按分组置信值对所述打标数据平均分组。
7.根据权利要求1所述的方法,其特征在于,所述接收模块对接收自所述处理模块的接收数据解码,包括:
所述接收模块基于数据内容和接收时间对接收自所述处理模块的接收数据分别进行重复性筛查和时效性筛查,得到交付数据;
所述接收模块将所述交付数据存入待交付队列;
所述接收模块对所述待交付队列中所述交付数据进行拆包,得到拆包数据;
所述接收模块将所述拆包数据中的重发数据插回到原始分组,得到重组数据;
所述接收模块基于数据完整性和数据重要性对所述重组数据进行筛查,得到有效重组数据;
所述接收模块对所述有效重组数据进行解码。
8.根据权利要求7所述的方法,其特征在于,所述接收模块基于数据内容和接收时间对接收自所述处理模块的接收数据分别进行重复性筛查和时效性筛查,包括:
所述接收模块基于数据内容对所述接收数据进行分类,得到重复数据和有效数据,筛除所述接收数据中的所述重复数据;
所述接收模块筛除所述有效数据中接收时间超过预设时间阈值的过时数据,得到交付数据;
所述接收模块基于数据完整性和数据重要性对所述重组数据进行筛查,得到有效重组数据,包括:
所述接收模块筛除所述重组数据中的不完整数据,得到完整重组数据;
所述接收模块筛除所述完整重组数据中标记为不重要的无效完整重组数据,得到有效重组数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320173.7A CN117729343A (zh) | 2023-10-12 | 2023-10-12 | 一种实时视频传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320173.7A CN117729343A (zh) | 2023-10-12 | 2023-10-12 | 一种实时视频传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117729343A true CN117729343A (zh) | 2024-03-19 |
Family
ID=90198608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311320173.7A Pending CN117729343A (zh) | 2023-10-12 | 2023-10-12 | 一种实时视频传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117729343A (zh) |
-
2023
- 2023-10-12 CN CN202311320173.7A patent/CN117729343A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7584404B2 (en) | Method and apparatus for multimedia communication over packet channels | |
EP1346578B1 (en) | Method for multimedia communication over packet channels | |
KR100612003B1 (ko) | 통신망에서 비트 스트림 송수신 장치 및 그 방법 | |
CN102143367B (zh) | 一种纠错校验方法、设备和系统 | |
CN101061659B (zh) | 自适应前向纠错的方法和设备 | |
CN109862440A (zh) | 音视频传输前向纠错方法、装置、计算机设备及存储介质 | |
WO2002100067A1 (en) | Real-time packetization and retransmission in streaming applications | |
CN109547467A (zh) | 媒体数据纠错传输及纠错方法、装置、设备及存储介质 | |
CN113364508B (zh) | 一种语音数据的传输控制方法、系统及设备 | |
CN105681342A (zh) | 一种基于h264的多路视频会议系统的抗误码方法及系统 | |
CN110087140A (zh) | 一种传输流媒体数据的方法、装置、介质及设备 | |
CN113612516B (zh) | 一种卫星通信数据包的压缩测试方法、系统及设备 | |
CN1868165A (zh) | 传输数据的设备、系统和方法 | |
WO2019034061A1 (zh) | 数据传输方法、装置及系统 | |
CN117729343A (zh) | 一种实时视频传输方法 | |
CN113301051A (zh) | 数据的传输方法、装置、计算机存储介质和处理器 | |
CN105611424B (zh) | 基于rudp的音视频可靠传输qos方法、接收端及系统 | |
US10116415B2 (en) | Transmission device, receiving device, transmission method, and receiving method | |
JP2011521575A (ja) | データストリームのデータパケットを処理する装置および方法ならびに当該装置の使用方法 | |
CN115348456B (zh) | 视频图像处理方法、装置、设备及存储介质 | |
CN114978427B (zh) | 数据处理方法、装置、程序产品、计算机设备和介质 | |
CN116320439A (zh) | 基于rs编码的云游戏视频流弱网传输优化方法和系统 | |
CN109150410B (zh) | 数据传输方法和装置 | |
CN112165655A (zh) | 基于视联网的数据传输方法、装置、设备及介质 | |
CN114401460B (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 |