CN114979092A - 一种基于rtp的数据传输方法、装置、设备和介质 - Google Patents

一种基于rtp的数据传输方法、装置、设备和介质 Download PDF

Info

Publication number
CN114979092A
CN114979092A CN202210519469.0A CN202210519469A CN114979092A CN 114979092 A CN114979092 A CN 114979092A CN 202210519469 A CN202210519469 A CN 202210519469A CN 114979092 A CN114979092 A CN 114979092A
Authority
CN
China
Prior art keywords
data
rtp
indicator
file
data file
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
CN202210519469.0A
Other languages
English (en)
Other versions
CN114979092B (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.)
Shenzhen Zhihuilin Network Technology Co ltd
Original Assignee
Shenzhen Zhihuilin Network 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 Shenzhen Zhihuilin Network Technology Co ltd filed Critical Shenzhen Zhihuilin Network Technology Co ltd
Priority to CN202210519469.0A priority Critical patent/CN114979092B/zh
Publication of CN114979092A publication Critical patent/CN114979092A/zh
Application granted granted Critical
Publication of CN114979092B publication Critical patent/CN114979092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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]

Abstract

本申请提供一种基于RTP的数据传输方法、装置、设备和介质,其中方法的实现包括:发送端获取待发送流媒体文件,以及流媒体文件对应的至少一个数据文件;获取至少一个数据文件中每个数据文件对应的数据值,并确定与每个数据文件对应的数据值存在预设关系式的数字等效项;采用RTP码流发送每个数据文件的数据值的指示符,其中指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。接收端接收采用RTP码流发送的指示符,根据指示符和SEQ和/或CSRC确定数字等效项,再根据数据等效项和预设数学关系式确定流媒体文件。采用本申请实施例的方法,能够有效节约数据传输资源,提升数据传输效率。

Description

一种基于RTP的数据传输方法、装置、设备和介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种基于RTP的数据传输方法、装置、设备和介质。
背景技术
随着网络技术以及媒体技术的快速发展,人们能接触到的媒体形式越来越丰富,同时,随着媒体形式的日益增多以及互联网的高度普及,信息量呈现出了前所未有的高速增长,从而,数据传输量也进入了空前增长时代。
实时传输协议(Real-time Transport Protocol,RTP)是一种网络传输协议,详细说明了在网络中传递音频和视频的标准数据包格式。该协议为数据提供了具有实时特征的端对端传送服务。视频文件或音频文件可以拆分成RTP流进行发送。采用RTP流进行数据传输的过程中,如果无压缩发送,则将消耗大量的传输资源,同时占用大量的传输时间。如果数据进行压缩后发送,例如原始视频由FFMPEG等视频压缩软件逐帧处理,该软件专门设计用于通过以视觉方式分析所有帧来压缩视频。采用该方法压缩后的视频文件,同样具有不小的体量,需要耗费大量资源用于进行视频文件的发送。
发明内容
本申请实施例提供了一种基于RTP的数据传输方法、装置、设备和介质,达成简化数据压缩过程,节约数据传输资源,提升数据传输效率的目的。
第一方面,本申请实施例提供了一种基于RTP的数据发送方法,该方法包括:获取待发送视频文件,以及流媒体文件对应的至少一个数据文件;获取至少一个数据文件中每个数据文件对应的数据值,并确定与每个数据文件对应的数据值存在预设关系式的数字等效项,其中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定;采用RTP码流发送每个数据文件的数据值的指示符,其中指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
可见,在本申请实施例中,在通过RTP建立传输的过程中,利用RTP标头中的序列号SEQ和/或贡献者标识CSRC,以及预设关系式确定数字等效项,其中数字等效项与数据文件对应的数据值之间存在预设关系式。然后在发送RTP流的时候,不发送实际的数据内容,而是通过发送数字等效项的指示符完成对数据内容的发送。这样能够大大降低对数据内容进行压缩的时间消耗,同时能够减少发送数据内容的资源占用,提升数据发送效率。
在一个可选的示例中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示SEQ和/或CSRC中的至少一位字符作为数字等效项。
在一个可选的示例中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示偏移量,偏移量与SEQ和/或CSRC中的预设数据值组成数字等效项。
在一个可选的示例中,RTP码流中包括至少一个数据切片,在采用RTP码流发送每个数据文件的数据值的指示符之前,该方法还包括:获取预设关系式,并根据RTP标头中的序列号SEQ和/或贡献者标识CSRC和指示符确定数字等效项,其中指示符为默认指示符;根据预设关系式和数字等效项确定预设数据值;按照预设数据值划分RTP码流中的至少一个数据切片。
在一个可选的示例中,预设关系式根据待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,至少一个历史流媒体文件用于训练获得至少一个预设关系式。
第二方面,本申请实施例提供了一种基于RTP的数据接收方法,该方法包括:
接收采用RTP码流发送的指示符,指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,数字等效项与每个数据文件对应的数据值存在预设关系式,每个数据文件对应的数据值由待发送流媒体文件的数据文件确定;根据指示符和RTP标头中的序列号SEQ和/或贡献者标识CSRC确定至少一个数据文件中每个数据文件对应的数字等效项;根据预设关系式和数字等效项,确定至少一个数据文件的数据值;根据至少一个数据文件的数据值获取待发送视频文件。
第三方面,本申请实施例提供了一种数据发送装置,该装置包括:
处理单元,用于获取待发送视频文件,以及流媒体文件对应的至少一个数据文件;
所述处理单元,还用于获取所述至少一个数据文件中每个数据文件对应的数据值,并确定与所述每个数据文件对应的数据值存在预设关系式的数字等效项,其中,所述数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定;
发送单元,用于采用RTP码流发送所述每个数据文件的数据值的指示符,其中所述指示符用于指示所述数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
第四方面,本申请实施例提供了一种数据接收装置,该装置包括:
接收单元,用于接收采用RTP码流发送的指示符,所述指示符用于指示数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,所述数字等效项与所述每个数据文件对应的数据值存在预设关系式,所述每个数据文件对应的数据值由待发送流媒体文件的数据文件确定;
处理单元,用于根据所述指示符和所述RTP标头中的序列号SEQ和/或贡献者标识CSRC确定所述至少一个数据文件中每个数据文件对应的数字等效项;
所述处理单元,还用于根据预设关系式和所述数字等效项,确定所述至少一个数据文件的数据值;根据所述至少一个数据文件的数据值获取待发送视频文件。
第五方面,本申请实施例提供了一种电子设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得电子设备执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,或者使得电子设备执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在通信装置上运行时,使得通信装置执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,或者使得通信装置执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。
第七方面,本申请实施例提供了一种计算机程序产品,其中,计算机程序产品包括计算机程序,计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,或执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种RTP流标头示意图;
图2为本申请实施例提供的一种基于RTP的数据传输方法流程图;
图3为本申请实施例提供的一种指示符指示数字等效项的示意图;
图4为本申请实施例提供的另一种指示符指示数字等效项的示意图;
图5为本申请实施例提供的一种NAL单元结构示意图;
图6是本申请实施例提供的一种数据发送装置的结构示意图;
图7是本申请实施例提供的一种数据接收装置的结构示意图;
图8是本申请的实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请实施例涉及的应用场景进行介绍。
视频文件被拆分成RTP码流发送的时候,每个RTP流都包括一个标头(header)。具体可参阅图1,图1为本申请实施例提供的一种RTP流标头示意图,如图1所示,标头中的前12字节为固定内容。其中,
V:表示RTP协议的版本号,占2位(bits);
P:表示填充标志,占1位,如果P=1,则表示在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分;
X:表示扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头;
CC:表示贡献者标识符(Contributor identifier,CSRC)计数器,占4位,指示CSRC标识符个数。M为标志,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始;
PT(payload type):有效荷载类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等,在流媒体中大部分是用来区分音频流和视频流,这样便于客户端进行解析;
序列号(sequence number):占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。这个字段当下层的承载协议用UDP的时候,网络状况不好的时候可以用来检查丢包。当出现网络抖动的情况可以用来对数据进行重新排序。序列号的初始值是随机的,同时音频包和视频包的sequence是分别计数的;
时间戳(timestamp):占32位。时戳反映了该RTP报文的第一个八位组的采样时刻。接受者使用时戳来计算延迟和延迟抖动,并进行同步控制。可以根据RTP包的时间戳来获得数据包的时序。
同步信源标识符(Synchronization source identifier,SSRC):占32位,用于标识同步信源。同步信源是指产生媒体流的信源,例如麦克风、摄像机、RTP混合器等。他通过RTP报头中的一个32位数字SSRC标识符来标识,而不依赖网络地址,接收者将根据SSRC标识符来区分不同的信源,进行RTP报文的分组。
CSRC:每个CSRC标识符占32位,可以有0~15个CSRC。每个CSRC标识了包含在RTP报文有效载荷中的所有提供信源。
根据上述描述可知,SEQ可以根据待发送流媒体文件(包括视频文件或音频文件)大小,以及流媒体文件被拆分成的RTP流个数(RTP报文个数)确定。而CSRC根据SSRC确定,SSRC则根据媒体流的信源确定。因此,在发送端和接收端建立连接之后,针对后续同一个流媒体文件,接收端可以获知其RTP标头中的SEQ以及CSRC的值。并且由于SEQ占用16位,对应的值为N1=0~216-1;CSRC的值至少为N2=0~232-1,能够表达比较丰富的数值内容。
基于此,请参阅图2,为本申请实施例提供的一种基于RTP的数据传输方法流程图,如图2所示,该方法包括如下步骤:
201、发送端获取待发送流媒体文件,以及流媒体文件对应的至少一个数据文件。
在发送端预备发送流媒体文件时,假设流媒体文件是视频文件进行分段即时发送生成,那么,一个完整的流媒体文件可能有一个或多个数据文件组成。一个数据文件对应一个RTP包(或RTP报文),每个RTP报文由RTP标头以及荷载(数据)组成。
202、发送端获取至少一个数据文件中每个数据文件对应的数据值,并确定与每个数据文件对应的数据值存在预设关系式的数字等效项,其中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定。
在发送端与接收端建立RTP连接后,针对流媒体文件的每一个数据文件对应的RTP包,都要发送一次RTP标头。标头中的SEQ和CSRC能够表达丰富的数据值。那么,发送端可以采用SEQ和/或CSRC指示一个数字等效项,用于表征待发送的数据文件的数据值与该数字等效项之间存在的预设关系式。
可选地,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示SEQ和/或CSRC中的至少一位字符作为数字等效项。
首先,SEQ可能的值为0~216-1,并且拆分的数据文件个数越多,SEQ的总数值越大。可以采用指示符指示SEQ中的某一位或某几位数值作为数字等效项。具体请参阅图3,图3为本申请实施例提供的一种指示符指示数字等效项的示意图,如图3中的(a)所示,指示SEQ的前三位获得数字等效项645。或者,如图3中的(b)所示,指示SEQ的第一位,第三位,以及第五为获得数字等效项650。也即是说,指示符可以指示SEQ中连续的几位数作为数字等效项,也可以指示SEQ中断续的几位数作为数字等效项。
在一些情况下,指示符也可以指示CSRC中的某一位或某几位数值作为数字等效项。具体的指示过程与图3中SEQ的指示方法相同,在此不再赘述。
在一些情况下,可能数字等效项需要的数值需要结合SEQ和CSRC中的数值才能得到。那么可参阅图4,图4为本申请实施例提供的另一种指示符指示数字等效项的示意图,如图4所示,指示SEQ的第二位和第三位,以及CSRC中的第一位和第二位,组成数字等效项4512。
可选地,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示偏移量,偏移量与SEQ和/或CSRC中的预设数据值组成数字等效项。
在一些情况下,发送端和接收端进行了预设指示,用于确定SEQ和/或CSRC中的预设数据值。例如预设指示为CSRC的前三位。假设CSRC为454321,预设指示的CSRC中的预设数据值为454。但是与待发送的数据文件具有预设数学关系式的数字等效项可能并不刚好等于454,而是与454存在偏移量。例如根据待发送的数据文件的数据值以及预设数学关系式确定的数字等效项为400,那么454与400存在的偏移量为54,则采用指示符指示该偏移量,以便接收端根据该偏移量以及预设指示确定数字等效项。
在一些情况下,发送端可以采用指示符指示SEQ和/或CSRC中的字符以及偏移量,联合确定数字等效项。
具体地,假设指示符指示了的前两位SEQ和/或CSRC中字符,获得数字等效项为90,预设关系式为y=8x,然而该数据文件对应的数据值为y0=8100,而不是y=890。采用指示符重新指示,也无法从SEQ和/或CSRC的字符中指示得到数字等效项为100。那么,可以再采用指示符指示一个偏移量10,使得数字等效项为90+10=100。相应地,得到数据值y=8(90+10),满足了采用预设关系式和数字等效项获得数据文件的数据值的需求。
数据文件对应的数据值,是指数据文件由二进制(或十六进制)转换成10进制后对应的值。例如数据文件为0001000,转换成数据值后为:8。
预设关系式,是指发送端与接收端预先设定的数学关系式。具体例如可以为斐波纳契数列(fibonacci sequence),伯努利(bernoulli number),欧拉数关系式等。例如数学关系式为斐波纳契数列,满足F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)。采用数字等效项指示n的值,F(n)表示数据文件对应的数据值。当数字等效项=n=16,F(n)=987。
或者预设关系式也可以是一个简单的函数关系式,例如y=8x,其中y表示数据文件对应的数据值,x表示数字等效项的值。当x=12时,y=68719476736。
203、发送端采用RTP码流发送每个数据文件的数据值的指示符,其中指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
发送端在获得用于指示数据等效项的指示符后,采用RTP码流将其发送给接收端。也即是说,这个过程中采用指示符的发送替换了数据文件的发送。而指示符占用的内存远远小于数据文件的内存,这样能够有效提升采用RTP码流发送流媒体的效率。
204、接收端接收采用RTP码流发送的指示符,根据指示符和RTP标头中的序列号SEQ和/或贡献者标识CSRC确定至少一个数据文件中每个数据文件对应的数字等效项。
205、接收端根据预设关系式和数字等效项,确定至少一个数据文件的数据值。
206、接收端根据至少一个数据文件的数据值获取待发送流媒体文件。
接收端接收RTP码流,解析RTP包的标头信息,获得其中的SEQ和/或CSRC。然后解析RTP包中的荷载,获得指示符。然后根据SEQ和/或CSRC,以及指示符,得到数字等效项。另外由于预设关系式是发送端和接收端预先约定的,那么接收端根据预设关系式和数字等效项能够确定数据文件的数据值。例如预设关系式为y=8x,接收端根据SEQ和/或CSRC以及指示符确定x=12,则可以计算获得相应的RTP包的荷载为y=812=68719476736。
每个RTP包的荷载得到后,将数据文件的数据值转换成二进制数值(或十六进制数值),进而按照SEQ标注的顺序进行组合,获得流媒体文件。
可见,在本申请实施例中,采用指示符指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,以便数字等效项与预设关系式结合用于指示发送端采用RTP码流发送的每个数据文件的数据值。因为RTP标头是发送端发送每个RTP码流必然要发送的内容,因此实际上发送端是采用指示符的发送替换了数据文件的数据内容的发送,而指示符占用的内存远远小于数据内容。这样可以极大地减小发送资源的占用,提升流媒体的发送效率。同时这个过程中获得数据文件的替换值(指示符)的效率远远高于对流媒体文件进行逐帧压缩的效率,进一步提升了流媒体文件的压缩效率。
可选地,RTP码流中包括至少一个数据切片,在采用RTP码流发送每个数据文件的数据值的指示符之前,方法还包括:获取预设关系式,并根据RTP标头中的序列号SEQ和/或贡献者标识CSRC和指示符确定数字等效项,其中指示符为默认指示符;根据预设关系式和数字等效项确定预设数据值;按照预设数据值划分RTP码流中的至少一个数据切片。
在一些情况下,例如单个视频数据网络抽象层(network abstraction layer,NAL)单元无法封装在一个RTP包中时,可以采用分片包将NAL单元分片到多个RTP包中。具体地,请参阅图5,为本申请实施例提供的一种NAL单元结构示意图,如图5所示,其中:
NAL层:用于进行流媒体文件的拆包或组包过程,由NAL单元标头和NAL单元主体组成;
NAL单元标头(NAL unit,NALU):就是在RBSP的基础上加1位的网络标头;
编码后的数据流(raw byte sequence payload,SODB+trail bits,RBSP):算法是在SODB最后一位补1,不按字节对齐补0,如果补齐0,不知道在哪里结束,所以补1,如果不够8位则按位补0;
原始数据比特流(string of data bits,SODB):由VCL产生,数据长度不一定是8的倍数,SODB中包括分片标头和数据分片(slice);
视频数据编码层(video coding layer,VCL):用于对视频原始数据进行压缩。
根据上述描述可知,RBSP可以由数据分片组成。在现有技术中,数据分片的划分可以按照一帧图像的大小来划分。在本申请实施例中,可以采用指示符方便指示的方式划分数据分片。
具体地,发送端可以先获取预设关系式,例如预设关系式为y=8x,然后发送端根据待发送的RTP标头中的SEQ和/或贡献者标识CSRC以及指示符确定数字等效项,指示符为默认指示符,例如指示符为SEQ的前两位字符。那么假设SEQ为64530,则可以确定数字等效项为64。则可以根据数字等效项以及预设关系式确定预设数据值为y’=864=6.2771017353867*10^57。那么可以按照这个预设数据值划分数据分片,每个数据分片对应的数据值大小都为上述预设数据值。使得多个数据分片组成一个RTP包。发送端和接收端可以预先约定组合多个数据分片的方式,包括对多个数据分片的数据值求和得到RTP包的数据文件对应的数据值,或者求乘积得到RTP包的数据文件对应的数据值等。
在发送RTP包的时候,可以在RTP包的主体部分发送第二指示符,用于指示划分的数据分片个数,例如数据分片个数为5个,且数据分片之间的组合关系为乘积。那么RTP包中的数据文件对应的数据值为y=5*y’=5*864
假设一个数据文件对应的数据值不能刚好被划分为整数个数据分片,则剩余的数据文件对应的数据值可以按照常规压缩方法压缩后发送。或者也可以结合前述方法,由发送端生成用于指示数字等效项的指示符,采用指示符的发送来替代该剩余的数据文件的发送。
可见,在本申请实施例中,按照默认指示符指示的数字等效项确定预设数据值,再根据预设数据值将数据文件划分成数据分片,实际上进一步减少了发送端发送的内容,也进一步提升了流媒体文件的发送效率。
可选情况下,预设关系式根据待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,至少一个历史流媒体文件用于训练获得至少一个预设关系式。
在本申请实施例中,发送端与接收端之间的预设关系式可以是根据历史流媒体文件训练获得的。历史流媒体文件可以是根据文件信源划分的不同类型,例如信源为麦克风或摄像机将被划分成不同的文件类型。或者进一步地,可以根据数据文件占用空间和数据值近似度分类。例如数据文件1~3占用空间都为100M,数据文件1和数据文件2的数据值差异值小于第一预设阈值,而与数据文件3的差异值大于第一预设阈值,则认为数据文件1和数据文件2可以划分为同一数据类型。
完成数据文件类型的划分后,进行数据文件的数据值与该数据文件的SEQ和/或CSRC字符的数学关系式建立。具体过程可以是先根据某一个数据文件1的数据值与SEQ和/或CSRC字符建立数学关系式1,然后确定其他数据文件的数据值与SEQ和/或CSRC字符中的任意字符是否能够建立相应的数学关系式1。或者数据文件的数据值,与SEQ和/或CSRC字符中的任意字符采用数学关系式1进行运算后获得的数据值之间的差异值小于预设阈值,如果满足,也可以认为数据文件的数据值与SEQ和/或CSRC字符中的任意字符能够建立相应的数学关系式1。进而确定预设关系式为该数学关系式1。
预设关系是根据待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,即是说待发送流媒体文件与历史流媒体文件为同一个类型的流媒体文件,则待发送流媒体文件对应的预设关系式与该历史流媒体文件训练获得的数学关系式相同。
可见,在本申请实施例中,采用历史流媒体文件进行训练获得至少一个预设关系式,然后根据待发送流媒体文件与历史流媒体文件的匹配度确定待发送流媒体文件对应的预设关系式,可以减少根据预设关系式和数字等效项计算获得的数据值与数据文件的数据值之间的差异值,进而减少发送端采用指示符指示偏移量时,偏移量的内容。也即是说,该过程能够进一步减少发送端发送的数据量,提升流媒体文件的传输效率。
请参阅图6,图6是本申请实施例提供的一种数据发送装置的结构示意图,如图6所示,该数据发送装置600包括:
处理单元601,用于获取待发送流媒体文件,以及流媒体文件对应的至少一个数据文件;
处理单元601,还用于获取至少一个数据文件中每个数据文件对应的数据值,并确定与每个数据文件对应的数据值存在预设关系式的数字等效项,其中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定;
发送单元602,用于采用RTP码流发送每个数据文件的数据值的指示符,其中指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
在一种可行的实施例中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示SEQ和/或CSRC中的至少一位字符作为数字等效项。
在一种可行的实施例中,数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:采用指示符指示偏移量,偏移量与SEQ和/或CSRC中的预设数据值组成数字等效项。
在一种可行的实施例中,RTP码流中包括至少一个数据切片,在采用RTP码流发送每个数据文件的数据值的指示符之前,处理单元601还用于:获取预设关系式,并根据RTP标头中的序列号SEQ和/或贡献者标识CSRC和指示符确定数字等效项,其中指示符为默认指示符;根据预设关系式和数字等效项确定预设数据值;按照预设数据值划分RTP码流中的至少一个数据切片。
在一种可行的实施例中,预设关系式根据待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,至少一个历史流媒体文件用于训练获得至少一个预设关系式。
需要说明的是,上述各单元(处理单元601和发送单元602)用于执行上述方法的相关步骤。比如处理单元601用于执行步骤201~步骤202的相关内容,发送单元602用于执行步骤203的相关内容。
在本实施例中,数据发送装置600是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上处理单元601可通过图8所示的电子设备的处理器801来实现。
请参阅图7,图7是本申请实施例提供的一种数据接收装置的结构示意图,如图7所示,该数据接收装置700包括:
接收单元701,用于接收采用RTP码流发送的指示符,指示符用于指示数字等效项与RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,数字等效项与每个数据文件对应的数据值存在预设关系式,每个数据文件对应的数据值由待发送流媒体文件对应的数据文件确定;
处理单元702,用于根据指示符和RTP标头中的序列号SEQ和/或贡献者标识CSRC确定至少一个数据文件中每个数据文件对应的数字等效项;
处理单元702,还用于根据预设关系式和数字等效项,确定至少一个数据文件的数据值;根据至少一个数据文件的数据值获取待发送流媒体文件。
在一种可行的实施例中,预设关系式根据待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,至少一个历史流媒体文件用于训练获得至少一个预设关系式。
需要说明的是,上述各单元(处理单元702和接收单元701)用于执行上述方法的相关步骤。比如处理单元702用于执行步骤205~步骤206的相关内容,接收单元701用于执行步骤204的相关内容。
在本实施例中,数据接收装置700是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上处理单元702可通过图8所示的电子设备的处理器801来实现。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
上述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储应用程序代码的介质。
如图6所示的数据发送装置,或如图7所示的数据接收装置可以以图8中的结构来实现,如图8所示,电子设备800包括至少一个处理器801,至少一个存储器802以及至少一个通信接口803。所述处理器801、所述存储器802和所述通信接口803通过所述通信总线连接并完成相互间的通信。
处理器801可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口803,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器802用于存储执行以上方案的应用程序代码,并由处理器801来控制执行。所述处理器801用于执行所述存储器802中存储的应用程序代码。
存储器802存储的代码可执行以上提供的任一种基于RTP的数据传输方法(包括基于RTP的数据发送方法和/或基于RTP的数据接收方法)。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种基于RTP的数据传输方法(包括基于RTP的数据发送方法和/或基于RTP的数据接收方法)的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、接收端设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于RTP的数据发送方法,其特征在于,所述方法包括:
获取待发送流媒体文件,以及所述流媒体文件对应的至少一个数据文件;
获取所述至少一个数据文件中每个数据文件对应的数据值,并确定与所述每个数据文件对应的数据值存在预设关系式的数字等效项,其中,所述数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定;
采用RTP码流发送所述每个数据文件的数据值的指示符,其中所述指示符用于指示所述数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
2.根据权利要求1所述的方法,其特征在于,所述数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:
采用指示符指示所述SEQ和/或所述CSRC中的至少一位字符作为所述数字等效项。
3.根据权利要求1或2所述的方法,其特征在于,所述数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定,包括:
采用所述指示符指示偏移量,所述偏移量与所述SEQ和/或所述CSRC中的预设数据值组成所述数字等效项。
4.根据权利要求1所述的方法,其特征在于,所述RTP码流中包括至少一个数据切片,在采用RTP码流发送所述每个数据文件的数据值的指示符之前,所述方法还包括:
获取所述预设关系式,并根据所述RTP标头中的序列号SEQ和/或贡献者标识CSRC和指示符确定数字等效项,其中所述指示符为默认指示符;
根据所述预设关系式和所述数字等效项确定预设数据值;
按照所述预设数据值划分所述RTP码流中的至少一个数据切片。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述预设关系式根据所述待发送流媒体文件与至少一个历史流媒体文件的匹配度确定,所述至少一个历史流媒体文件用于训练获得至少一个预设关系式。
6.一种基于RTP的数据接收方法,其特征在于,所述方法包括:
接收采用RTP码流发送的指示符,所述指示符用于指示数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,所述数字等效项与所述每个数据文件对应的数据值存在预设关系式,所述每个数据文件对应的数据值由待发送流媒体文件的数据文件确定;
根据所述指示符和所述RTP标头中的序列号SEQ和/或贡献者标识CSRC确定所述至少一个数据文件中每个数据文件对应的数字等效项;
根据预设关系式和所述数字等效项,确定所述至少一个数据文件的数据值;
根据所述至少一个数据文件的数据值获取待发送流媒体文件。
7.一种数据发送装置,其特征在于,所述装置包括:
处理单元,用于获取待发送流媒体文件,以及流媒体文件对应的至少一个数据文件;
所述处理单元,还用于获取所述至少一个数据文件中每个数据文件对应的数据值,并确定与所述每个数据文件对应的数据值存在预设关系式的数字等效项,其中,所述数字等效项根据RTP标头中的序列号SEQ和/或贡献者标识CSRC确定;
发送单元,用于采用RTP码流发送所述每个数据文件的数据值的指示符,其中所述指示符用于指示所述数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系。
8.一种数据接收装置,其特征在于,所述装置包括:
接收单元,用于接收采用RTP码流发送的指示符,所述指示符用于指示数字等效项与所述RTP标头中的序列号SEQ和/或贡献者标识CSRC的关系,所述数字等效项与所述每个数据文件对应的数据值存在预设关系式,所述每个数据文件对应的数据值由待发送流媒体文件对应的数据文件确定;
处理单元,用于根据所述指示符和所述RTP标头中的序列号SEQ和/或贡献者标识CSRC确定所述至少一个数据文件中每个数据文件对应的数字等效项;
所述处理单元,还用于根据预设关系式和所述数字等效项,确定所述至少一个数据文件的数据值;根据所述至少一个数据文件的数据值获取待发送流媒体文件。
9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机执行指令,当所述计算机执行指令被运行时,使得所述电子设备执行权利要求1-5任一项所述的方法,或使得电子设备执行权利要求6所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在通信装置上运行时,使得所述通信装置执行权利要求1-5任一项所述的方法,或使得电子设备执行权利要求6所述的方法。
CN202210519469.0A 2022-05-13 2022-05-13 一种基于rtp的数据传输方法、装置、设备和介质 Active CN114979092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210519469.0A CN114979092B (zh) 2022-05-13 2022-05-13 一种基于rtp的数据传输方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210519469.0A CN114979092B (zh) 2022-05-13 2022-05-13 一种基于rtp的数据传输方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN114979092A true CN114979092A (zh) 2022-08-30
CN114979092B CN114979092B (zh) 2024-04-02

Family

ID=82983117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210519469.0A Active CN114979092B (zh) 2022-05-13 2022-05-13 一种基于rtp的数据传输方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN114979092B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007045140A1 (fr) * 2005-10-17 2007-04-26 Huawei Technologies Co., Ltd. Methode en temps reel pour transferer des donnees multimedia
KR101008753B1 (ko) * 2010-01-14 2011-01-14 주식회사 씨앤드디큐브 멀티미디어 데이터 스트리밍 시스템
CN104519014A (zh) * 2013-09-27 2015-04-15 华为技术有限公司 一种实时传输协议会话处理方法及设备
WO2015118181A1 (en) * 2014-02-10 2015-08-13 France Brevets Method for analyzing data packet streams
US20160173556A1 (en) * 2013-07-05 2016-06-16 Lg Electronics Inc. Method and apparatus for transmitting/receiving media broadcasting signal in real time transport protocol-based broadcasting system
CN108650550A (zh) * 2018-07-05 2018-10-12 平安科技(深圳)有限公司 网络传输质量分析方法、装置、计算机设备和存储介质
CN109672929A (zh) * 2018-12-14 2019-04-23 中国联合网络通信集团有限公司 一种视频业务报文的检测方法和设备
US20190246184A1 (en) * 2016-09-23 2019-08-08 Hangzhou Hikvision Digital Technology Co., Ltd. Data Transmission Method and Apparatus, and Electronic Device
WO2020034082A1 (zh) * 2018-08-14 2020-02-20 海能达通信股份有限公司 基于切片的rtp流传输方法、装置、终端及服务器
CN111147564A (zh) * 2019-12-20 2020-05-12 国久大数据有限公司 数据文件传输方法、系统及通信终端
CN114979093A (zh) * 2022-05-13 2022-08-30 深圳智慧林网络科技有限公司 一种基于rtp的数据传输方法、装置、设备和介质
CN114979094A (zh) * 2022-05-13 2022-08-30 深圳智慧林网络科技有限公司 一种基于rtp的数据传输方法、装置、设备和介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007045140A1 (fr) * 2005-10-17 2007-04-26 Huawei Technologies Co., Ltd. Methode en temps reel pour transferer des donnees multimedia
KR101008753B1 (ko) * 2010-01-14 2011-01-14 주식회사 씨앤드디큐브 멀티미디어 데이터 스트리밍 시스템
US20160173556A1 (en) * 2013-07-05 2016-06-16 Lg Electronics Inc. Method and apparatus for transmitting/receiving media broadcasting signal in real time transport protocol-based broadcasting system
CN104519014A (zh) * 2013-09-27 2015-04-15 华为技术有限公司 一种实时传输协议会话处理方法及设备
WO2015118181A1 (en) * 2014-02-10 2015-08-13 France Brevets Method for analyzing data packet streams
US20190246184A1 (en) * 2016-09-23 2019-08-08 Hangzhou Hikvision Digital Technology Co., Ltd. Data Transmission Method and Apparatus, and Electronic Device
CN108650550A (zh) * 2018-07-05 2018-10-12 平安科技(深圳)有限公司 网络传输质量分析方法、装置、计算机设备和存储介质
WO2020034082A1 (zh) * 2018-08-14 2020-02-20 海能达通信股份有限公司 基于切片的rtp流传输方法、装置、终端及服务器
CN109672929A (zh) * 2018-12-14 2019-04-23 中国联合网络通信集团有限公司 一种视频业务报文的检测方法和设备
CN111147564A (zh) * 2019-12-20 2020-05-12 国久大数据有限公司 数据文件传输方法、系统及通信终端
CN114979093A (zh) * 2022-05-13 2022-08-30 深圳智慧林网络科技有限公司 一种基于rtp的数据传输方法、装置、设备和介质
CN114979094A (zh) * 2022-05-13 2022-08-30 深圳智慧林网络科技有限公司 一种基于rtp的数据传输方法、装置、设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATE TOMOSKOZI; PATRICK SEELING; PETER EKLER; FRANK H. P. FITZEK: "Applying Robust Header Compression Version 2 for UDP and RTP Broadcasting with Field Constraints", 《017 IEEE 85TH VEHICULAR TECHNOLOGY CONFERENCE (VTC SPRING)》 *
洪先强: "无线流媒体数据容错接收关键技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 136 - 223 *

Also Published As

Publication number Publication date
CN114979092B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
US9930570B2 (en) Method and apparatus for packet header compression
KR101722719B1 (ko) 역방향의 강력한 헤더 압축 수신기
US9092319B2 (en) State memory management, wherein state memory is managed by dividing state memory into portions each portion assigned for storing state information associated with a specific message class
US20060104278A1 (en) Apparatus and method for compressing headers in a broadband wireless communication system
JP2002027023A (ja) 無線データ送受信装置及びその方法
US9392082B2 (en) Communication interface and method for robust header compression of data flows
JP6744459B2 (ja) メディアデータに関する情報を送信するための装置
CN113316028B (zh) 投屏方法、投屏设备及存储介质
CN114979093B (zh) 一种基于rtp的数据传输方法、装置、设备和介质
CN114979094A (zh) 一种基于rtp的数据传输方法、装置、设备和介质
CN114979092B (zh) 一种基于rtp的数据传输方法、装置、设备和介质
CN115103228A (zh) 视频流传输方法、装置、电子设备、存储介质及产品
CN113132766B (zh) 一种ts封装格式的vbr发送方法
CN114979794B (zh) 一种数据发送方法及装置
KR20190021300A (ko) 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
KR20180039604A (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
GR01 Patent grant
GR01 Patent grant