CN112653652B - 流媒体传输方法、装置、终端及计算机可读存储介质 - Google Patents
流媒体传输方法、装置、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112653652B CN112653652B CN201910963749.9A CN201910963749A CN112653652B CN 112653652 B CN112653652 B CN 112653652B CN 201910963749 A CN201910963749 A CN 201910963749A CN 112653652 B CN112653652 B CN 112653652B
- Authority
- CN
- China
- Prior art keywords
- video
- video packets
- sequence
- packets
- packet
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种流媒体传输方法、装置、终端及计算机可读存储介质;其中,所述流媒体传输方法应用于发送端,包括:按照预设视频大小将视频帧拆分成n个视频包;获取所述n个视频包中的第一视频包及除所述第一视频包以外的n‑1个第二视频包;按照预设算法将所述n‑1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;向接收端发送预处理后的第一视频包及随机排列后的所述n‑1个第二视频包。本发明提供的技术方案解决了现有的流媒体数据在传输过程中安全性较低的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种流媒体传输方法、装置、终端及计算机可读存储介质。
背景技术
随着互联网的普及,流媒体技术得到了迅速发展。在现有的RTP(Real-timeTransport Protocol,实时传输协议)流媒体传输中,音视频数据通常是采用RTP协议,将一帧帧数据分解成若干个包,按照数据的时间先后顺序进行有序发送。当流媒体数据在传输中被非法截取或窃取,很容易被还原出原始的音视频数据,这导致流媒体数据在传输过程中的安全性较低。
发明内容
本发明实施例提供一种流媒体传输方法、装置、终端及计算机可读存储介质,以解决现有的流媒体数据在传输过程中安全性较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种流媒体传输方法,应用于发送端,包括:
按照预设视频大小将视频帧拆分成n个视频包;
获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;
按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;
向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。
可选地,所述按照预设算法将所述n-1个第二视频包的发送顺序随机排列的步骤之前,还包括:
生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数。
可选地,所述生成长度为n-1的随机序列的步骤,包括:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
可选地,所述预设算法为:
其中,p为发送第二视频包的顺序号,ri为随机序列{rj...rk}中的一个元素,j表示集合中第一个元素,k表示集合中最后一个元素,表示对集合{rj...rk}中所有元素求和,sizeof(S)为剩余未发送视频包的个数。
可选地,所述对所述第一视频包进行预处理的步骤,包括:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密;
所述向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包的步骤,包括:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
第二方面,本发明实施例还提供了一种流媒体传输方法,应用于接收端,包括:
接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包;
对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;
根据所述随机数对所述n-1个第二视频包进行排序;
将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
第三方面,本发明实施例还提供了一种流媒体传输装置,应用于发送端,包括:
拆分模块,用于按照预设视频大小将视频帧拆分成n个视频包;
第一获取模块,用于获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;
处理模块,用于按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;
发送模块,用于向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。
可选地,所述处理模块包括:
生成单元,用于生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数。
可选地,所述生成单元还用于:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
可选地,所述预设算法为:
其中,p为发送第二视频包的顺序号,ri为随机序列{rj...rk}中的一个元素,j表示集合中第一个元素,k表示集合中最后一个元素,表示对集合{rj...rk}中所有元素求和,sizeof(S)为剩余未发送视频包的个数。
可选地,所述处理模块还用于:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密;
所述发送模块还用于:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
第四方面,本发明实施例还提供了一种流媒体传输装置,应用于接收端,包括:
接收模块,用于接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包;
第二获取模块,用于对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;
排序模块,用于根据所述随机数对所述n-1个第二视频包进行排序;
组装模块,用于将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
第五方面,本发明实施例还提供了一种终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中任一项所述的流媒体传输方法的步骤,或者,所述计算机程序被所述处理器执行时实现如第二方面中所述的流媒体传输方法的步骤。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的流媒体传输方法的步骤,或者,所述计算机程序被所述处理器执行时实现如第二方面中所述的流媒体传输方法的步骤。
本发明实施例提供的技术方案,发送端按照预设视频大小将视频帧拆分成n个视频包,并获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;而后向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。这样,通过对第二视频包的发送顺序进行随机排列,网络监听者也就无法恢复出各第二视频包的原始顺序,也就无法还原出完整的视频帧,进而确保了视频帧的传输安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流媒体传输方法的流程图;
图2是本发明实施例提供的另一种流媒体传输方法的流程图;
图3是本发明实施例提供的一种流媒体传输装置的结构图;
图4是本发明实施例提供的另一种流媒体传输装置的结构图;
图5是本发明实施例提供的一种终端的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种流媒体传输方法,所述流媒体传输方法应用于发送端。请参照图1,所述流媒体传输方法包括以下步骤:
步骤101、按照预设视频大小将视频帧拆分成n个视频包。
可选地,发送端可以是将预设视频大小设置为小于MTU(Maximum TransmissionUnit,最大传输单元),例如MTU为1500bytes,那么预设视频大小也就是小于1500bytes,以确保拆分后的视频包能够顺利传输。
可以理解地,预设视频大小是固定的,那么视频帧越大,则被拆分成的视频包也就越多,视频帧越小,则被拆分成的视频包也就越少。
步骤102、获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包。
本发明实施例中,视频帧按照预设视频大小被拆分成n个视频包,这n个视频包可以是分别是R1、R2……Rn。其中,所述第一视频包可以是指R1,而除所述第一视频包以外的为第二视频包,也就是R2……Rn。
步骤103、按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理。
可以理解地,发送端在将视频帧拆分成n个视频包R1、R2……Rn后,通常是按照视频包的标号顺序依次发送给接收端,也就是先发送R1,然后发送R2,最后发送Rn,进而接收端根据接收到的视频包的接收顺序,也就能够将这n个视频包组装成视频帧。
而本发明实施例中,发送端能够按照预设算法将除第一视频包以外的n-1个第二视频包的发送顺序随机排列,那么这n-1个第二视频包也就会按照随机排列后的发送顺序进行发送。
例如,将3个第二视频包的发送顺序随机排列后,视频包R2对应的发送顺序为4,视频包R3对应的发送顺序为2,视频包R4对应的发送顺序为3,那么R2、R3、R4的发送顺序也就是先发送R3,再发送R4,最后发送R2。需要说明地是,第一视频包R1发送在所有的第二视频包之前,也就是说,第一视频包最先发送。
本发明实施例中,在所述步骤103之前还包括:
生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数。
例如,视频帧按照预设视频大小被拆分成了4个视频包,那么第二视频包也就包括R2、R3、R4,也就是要生成一个长度为3的随机序列{r2,r3,r4},该随机序列中也就包括3个随机数:r2,r3,r4,那么R2的序列号对应的也就是随机数r2,R3的序列号对应的也就是随机数r3,R4的序列号对应的也就是随机数r4。需要说明的是,r2、r3、r4只是随机数的一个标识符。
其中,所述生成长度为n-1的随机序列的步骤,包括:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;根据所述随机序列的种子生成长度为n-1的随机序列。
可以理解地,生成随机序列需要先明确随机序列的种子。本发明实施例中,所述随机序列的种子与视频帧的时间戳相关,而不同的视频帧所对应的时间戳是不同的,那么每一个视频帧被拆分成n个视频包后,在生成随机序列的过程中,其对应生成的随机序列的种子也就不同。
另外,随机序列的种子还与视频帧被拆分成视频包的数量相关,而每一帧视频帧的视频长度可能不同,那么被拆分成的视频包的数量也就可能不同,也即n的数值也就不同,也就使得生成的随机序列的种子有差别。
进而,不同的视频帧被拆分成n个视频包后,其对应生成的随机序列的种子也就不同,则生成的随机序列也就不同,随机数也不同,通过随机数也就能够区分出是否发送了相同的视频帧,避免视频帧的重复发送。另外,由于随机数种子还与当前时刻有关,也就能够确定不同视频帧之间的时间先后顺序,确保视频帧播放的流畅性。
本发明实施例中,所述预设算法为:
其中,p为发送第二视频包的顺序号,ri为随机序列{rj...rk}中的一个元素,j表示集合中第一个元素,k表示集合中最后一个元素,表示对集合{rj...rk}中所有元素求和,sizeof(S)为剩余未发送视频包的个数。
可以理解地,上述预设算法为对随机序列{rj...rk}求和后模除剩余未发送视频包的个数,进而以得到第二视频包的发送顺序。
例如,视频帧按照预设视频大小被拆分成了{R1、R2、R3、R4、R5、R6}6个视频包,其中R1为第一视频包,剩余的{R2、R3、R4、R5、R6}则为第二视频包,进而生成长度为5的随机序列{r2、r3、r4、r5、r6},随机序列中的随机数对应为第二视频包的序列号;sizeof(S)也就为5,此时已经确定了第一个要发送的是第一视频包,在剩下的5个第二视频包中选择第二个要发送的视频包,p=(r2+r3+r4+r5+r6)mod5,如p=2,则发送剩下的第二视频包{R2、R3、R4、R5、R6}中的第2个视频包,也即发送R4;此时剩余未发送视频包的个数为4,确定剩余的{R2、R3、R5、R6}中要发送的包,p=(r2+r3+r5+r6)mod4,若p=3,则发送剩下的第二视频包{R2、R3、R5、R6}中的第3个视频包,也即发送R6;此时剩余未发送视频包的个数为3,确定剩余的{R2、R3、R5}中发送的包,p=(r2+r3+r5)mod3,若p=1,则发送剩下的第二视频包{R2、R3、R5}中的第1个视频包,也即发送R3;此时剩余未发送视频包的个数为2,确定剩余的{R2、R5}中发送的包,p=(r2+r5)mod2,若p=0,则发送剩下的第二视频包{R2、R5}中的第0个视频包,也即发送R2;那么最后一个发送的视频包为R5。这样,上述6个视频包{R1、R2、R3、R4、R5、R6}的发送顺序也就依次是:R1、R4、R6、R3、R2、R5。可见,通过上述预设算法,也就将除R1以外的第二视频包的发送顺序进行了随机排列。
这样,由于第二视频包的发送顺序是随机排列的,网络监听者也就无法恢复出各第二视频包的原始顺序,进而确保了视频帧的传输安全。
本发明实施例中,虽然第一视频包的发送顺序是确定的,但发送端还会对第一视频包进行预处理,以确保第一视频包的传输安全。其中,所述对第一视频包进行预处理的步骤,包括:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;基于预设加密算法对所述第三视频包进行加密。
可以理解地,第三视频包中包括第一视频包,也即第一视频包的视频数据,还包括基于剩余的n-1个第二视频包生成的随机序列以及该随机序列的长度。例如,视频帧按照预设视频大小被拆分成了{R1、R2、R3、R4、R5、R6}6个视频包,其中R1为第一视频包,剩余的{R2、R3、R4、R5、R6}则为第二视频包,也就会生成长度为5的随机序列{r2、r3、r4、r5、r6},那么对第一视频包进行预处理后得到的第三视频包中也就包括:R1、随机序列{r2、r3、r4、r5、r6}以及该随机序列长度5。
进一步地,为确保第三视频包传输的安全性,发送端还能够对第三视频包进行加密处理。本发明实施例中,所述预设加密算法可以是非对称加密算法,发送端利用预先与接收端约定的公钥对第三视频包进行加密,进而得到加密后的第三视频包。可以理解地,通过对第三视频包进行加密,也就相当于对第一视频包进行了加密保护,确保了第一视频包在传输过程中的数据安全,避免第一视频包的数据被窃取。
步骤104、向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。
可以理解地,在对第一视频包进行预处理以及对n-1个第二视频包的发送顺序进行随机排列后,发送端向接收端发送预处理后的第一视频包以及随机排列后的n-1个第二视频包。
其中,所述对第一视频包进行预处理的具体过程已如上所述,也就是基于第一视频包生成了第三视频包,并对第三视频包进行了加密处理,进而所述步骤104可以包括:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
可以理解地,发送端利用预先与接收端约定的公钥对第三视频包进行加密,进而接收端在接收到加密后的第三视频包后,通过约定的公钥能够对其进行解密以获得第三视频包。而第三视频包中包括第一视频包,还包括基于剩余的n-1个第二视频包生成的随机序列以及该随机序列的长度;而n-1个第二视频包中,一个第二视频包的序列号对应为随机序列中的第一随机数,进而接收端根据所述随机序列中的随机数也就能够将随机排列后的n-1个第二视频包的顺序进行还原,进而将顺序还原后的n-1个第二视频包与第一视频包组装成一个完整的视频帧,以使得接收端能够进行视频帧的顺利播放。
本发明实施例提供的技术方案,发送端按照预设视频大小将视频帧拆分成n个视频包,并获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;而后向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。这样,通过对第二视频包的发送顺序进行随机排列,网络监听者也就无法恢复出各第二视频包的原始顺序,也就无法还原出完整的视频帧,进而确保了视频帧的传输安全。另外,发送端通过对第二视频包进行随机排列来提升安全性,无需再对第二视频包进行加密处理,降低了发送端的数据处理流程,不会占用发送端太大的处理空间,进而提升了发送端对于视频传输的处理效率。
请参照图2,图2是本发明实施例提供的另一种流媒体传输方法,所述流媒体传输方法应用于接收端。请参照图2,所述流媒体传输方法包括以下步骤:
步骤201、获取发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包。
需要说明地是,所述预处理后的第一视频包可以是指进行了加密处理的第一视频包,接收端能够通过预先与发送端约定的公钥对加密的第一视频包进行解密操作,进而以获得解密后的第一视频包。
或者,发送端对第一视频包的预处理可以是指发送端基于第一视频包生成第三视频包,并对第三视频包基于约定的公钥进行加密处理。其中,所述第三视频包中包括所述第一视频包、基于n-1个第二视频包生成的随机序列以及该随机序列的长度,发送端生成随机序列以及生成第三视频包的过程,可以是参照图1所述实施例中的具体描述,为避免重复,此处不再赘述。
步骤202、对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列。
其中,所述第二视频包的序列号对应所述随机序列中的一个随机数。需要说明地,发送端根据第二视频包的数量生成长度为n-1的随机序列{r2……rn},该随机序列中也就包括n-1个随机数,一个随机数对应一个第二视频包。例如,视频帧按照预设视频大小被拆分成了4个视频包,那么第二视频包也就包括R2、R3、R4,也就是要生成一个长度为3的随机序列{r2,r3,r4},该随机序列中也就包括3个随机数:r2,r3,r4,那么R2对应的序列号也就是随机数r2,R3对应的序列号也就是随机数r3,R4对应的序列号也就是随机数r4。这样,也就使得随机序列中的随机数是与n-1个第二视频包一一对应的。
步骤203、根据所述随机数对所述n-1个第二视频包进行排序。
可以理解地,由于随机序列中的随机数是与n-1个第二视频包一一对应的,那么接收端基于随机序列中的随机数的顺序也就能够将接收到的随机排列的n-1个第二视频包的顺序进行排序,进而以将随机排列的n-1个第二视频包的顺序进行还原。
例如,接收端接收到随机排列的第二视频包{R4、R6、R3、R2、R5},随机序列是{r2,r3,r4,r5,r6},随机序列中的随机数是作为第二视频包的序列号与第二视频包一一对应的,如r3对应为R3的序列号,r4对应为R4的序列号;因此,基于随机序列中的随机数也就能够还原第二视频包的顺序为{R2、R3、R4、R5、R6}。
步骤204、将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
可以理解地,在将n-1个第二视频包进行排序后,接收端也就能够将第一视频包与排序后的n-1个第二视频包组装成视频帧,以获得完整的视频帧数据,实现视频的播放。
本发明实施例提供的技术方案,接收端接收到的第二视频包的顺序是随机排列的,而接收端必须对预处理后的第一视频包进行还原处理,如解密操作,才能从中获得随机序列以实现对随机排列的第二视频包的顺序进行正确排序,进而才能组装出完整的视频帧。这样,也就提高了视频帧的数据安全,防止视频帧被窃取。另外,接收端接收到的第二视频包只是进行了随机排列,第二视频包并未被加密,接收端也就无需对第二视频包进行解密处理,降低了发送端的加密延迟和接收端的解密延迟,也就降低了接收端的运算复杂度,进而提升了接收端的处理效率。
本发明实施例还提供了一种流媒体传输装置,所述流媒体传输装置应用于发送端。请参照图3,所述流媒体传输装置300包括:
拆分模块301,用于按照预设视频大小将视频帧拆分成n个视频包;
第一获取模块302,用于获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;
处理模块303,用于按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;
发送模块304,用于向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。
可选地,所述处理模块303包括:
生成单元,用于生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数。
可选地,所述生成单元还用于:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
可选地,所述预设算法为:
其中,p为发送第二视频包的顺序号,ri为随机序列{rj...rk}中的一个元素,j表示集合中第一个元素,k表示集合中最后一个元素,表示对集合{rj...rk}中所有元素求和,sizeof(S)为剩余未发送视频包的个数。
可选地,所述处理模块303还用于:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密;
所述发送模块304还用于:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
需要说明的是,流媒体传输装置300能够实现图1所述的流媒体传输方法实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例中,流媒体传输装置300按照预设视频大小将视频帧拆分成n个视频包,并获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;而后向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。这样,通过对第二视频包的发送顺序进行随机排列,网络监听者也就无法恢复出各第二视频包的原始顺序,也就无法还原出完整的视频帧,进而确保了视频帧的传输安全。另外,通过对第二视频包进行随机排列来提升安全性,无需再对第二视频包进行加密处理,降低了流媒体传输装置300的数据处理流程,不会占用流媒体传输装置300太大的处理空间,进而提升了流媒体传输装置300对于视频传输的处理效率。
本发明实施例还提供了一种流媒体传输装置,所述流媒体传输装置应用于接收端。请参照图4,所述流媒体传输装置400包括:
接收模块401,用于接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包;
第二获取模块402,用于对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;
排序模块403,用于根据所述随机数对所述n-1个第二视频包进行排序;
组装模块404,用于将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
需要说明的是,流媒体传输装置400能够实现图2所述的流媒体传输方法实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例提供的技术方案,流媒体传输装置400接收到的第二视频包的顺序是随机排列的,而接收端必须对预处理后的第一视频包进行还原处理,如解密操作,才能从中获得随机序列以实现对随机排列的第二视频包的顺序进行正确排序,进而才能组装出完整的视频帧。这样,也就提高了视频帧的数据安全,防止视频帧被窃取。另外,流媒体传输装置400接收到的第二视频包只是进行了随机排列,第二视频包并未被加密,也就无需对第二视频包进行解密处理,降低了流媒体传输装置400的运算复杂度,进而提升了流媒体传输装置400的处理效率。
本发明实施例还提供了一种终端,请参加图5,所述终端包括:处理器500,用于读取存储器520中的计算机程序。在一种实施方式中,处理器500执行下列过程:
按照预设视频大小将视频帧拆分成n个视频包;获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包。
收发机510,用于在处理器500的控制下接收和发送数据。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
可选地,处理器500还用于读取所述计算机程序,执行如下步骤:
生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数。
可选地,处理器500还用于读取所述计算机程序,执行如下步骤:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
可选地,所述预设算法为:
其中,p为发送第二视频包的顺序号,ri为随机序列{rj...rk}中的一个元素,j表示集合中第一个元素,k表示集合中最后一个元素,表示对集合{rj...rk}中所有元素求和,sizeof(S)为剩余未发送视频包的个数。
可选地,处理器500还用于读取所述计算机程序,执行如下步骤:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密;
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
需要说明的是,本实施方式提供的终端能够实现上述图1所述流媒体传输方法实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。
或者,在另一种实施方式中,处理器500还能够用于执行下列过程:
接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包;对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;根据所述随机数对所述n-1个第二视频包进行排序;将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
本实施方式提供的终端能够实现上述图2所述流媒体传输方法实施例的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述图1所述流媒体传输方法实施例的各个过程,或者能够实现上述图2所述流媒体传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种流媒体传输方法,应用于发送端,其特征在于,包括:
按照预设视频大小将视频帧拆分成n个视频包;
获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;
按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;
向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包,其中,所述n-1个第二视频包按照随机排列后的发送顺序进行发送;
所述按照预设算法将所述n-1个第二视频包的发送顺序随机排列的步骤之前,还包括:
生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数;
所述对所述第一视频包进行预处理的步骤,包括:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密。
2.根据权利要求1所述的方法,其特征在于,所述生成长度为n-1的随机序列的步骤,包括:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
4.根据权利要求1所述的方法,其特征在于,
所述向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包的步骤,包括:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
5.一种流媒体传输方法,应用于接收端,其特征在于,包括:
接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包;其中,所述接收端接收到的所述n-1个第二视频包的顺序是随机排列的;
对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;
根据所述随机数对所述n-1个第二视频包进行排序;
将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
6.一种流媒体传输装置,应用于发送端,其特征在于,包括:
拆分模块,用于按照预设视频大小将视频帧拆分成n个视频包;
第一获取模块,用于获取所述n个视频包中的第一视频包及除所述第一视频包以外的n-1个第二视频包;
处理模块,用于按照预设算法将所述n-1个第二视频包的发送顺序随机排列,并对所述第一视频包进行预处理;
发送模块,用于向接收端发送预处理后的第一视频包及随机排列后的所述n-1个第二视频包,其中,所述n-1个第二视频包按照随机排列后的发送顺序进行发送;
所述处理模块包括:
生成单元,用于生成长度为n-1的随机序列作为所述n-1个第二视频包的序列号;
其中,一个所述第二视频包的序列号对应为所述随机序列中的一个随机数;
所述处理模块还用于:
生成第三视频包;所述第三视频包中包括所述第一视频包、所述随机序列以及所述随机序列的长度;
基于预设加密算法对所述第三视频包进行加密。
7.根据权利要求6所述的装置,其特征在于,所述生成单元还用于:
生成随机序列的种子;所述随机序列的种子=T0+T1+n*L,T0为所述视频帧的时间戳,T1为当前时刻,n为所述视频帧拆分成视频包的数量,L为预设尺寸大小;
根据所述随机序列的种子生成长度为n-1的随机序列。
9.根据权利要求6所述的装置,其特征在于,
所述发送模块还用于:
向接收端发送加密后的第三视频包以及随机排列后的所述n-1个第二视频包。
10.一种流媒体传输装置,应用于接收端,其特征在于,包括:
接收模块,用于接收发送端发送的预处理后的第一视频包及随机排列的n-1个第二视频包,其中,所述接收端接收到的所述n-1个第二视频包的顺序是随机排列的;
第二获取模块,用于对所述预处理后的第一视频包进行还原处理,以获得第一视频包及与所述n-1个第二视频包对应的随机序列;所述随机序列中的一个随机数对应为一个所述第二视频包的序列号;
排序模块,用于根据所述随机数对所述n-1个第二视频包进行排序;
组装模块,用于将所述第一视频包与排序后的n-1个第二视频包组装成视频帧。
11.一种终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-4中任一项所述的流媒体传输方法的步骤,或者,所述计算机程序被所述处理器执行时实现如权利要求5所述的流媒体传输方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的流媒体传输方法的步骤,或者,所述计算机程序被所述处理器执行时实现如权利要求5所述的流媒体传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963749.9A CN112653652B (zh) | 2019-10-11 | 2019-10-11 | 流媒体传输方法、装置、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963749.9A CN112653652B (zh) | 2019-10-11 | 2019-10-11 | 流媒体传输方法、装置、终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112653652A CN112653652A (zh) | 2021-04-13 |
CN112653652B true CN112653652B (zh) | 2022-06-14 |
Family
ID=75342773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910963749.9A Active CN112653652B (zh) | 2019-10-11 | 2019-10-11 | 流媒体传输方法、装置、终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112653652B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207809A (zh) * | 2006-12-19 | 2008-06-25 | 浙江工业大学 | 基于视频帧拆分的实时流媒体传输方法及系统 |
WO2017164640A1 (en) * | 2016-03-22 | 2017-09-28 | Jam2Go, Inc. | System and method for editing video contents automatically technical field |
CN109379380A (zh) * | 2018-12-06 | 2019-02-22 | 联想图像(天津)科技有限公司 | 数据传输方法、数据接收方法及远程打印系统、移动终端 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0918473A (ja) * | 1995-06-29 | 1997-01-17 | Mitsubishi Electric Corp | データ伝送装置 |
US9344278B2 (en) * | 2011-10-18 | 2016-05-17 | Broadcom Corporation | Secure data transfer using random ordering and random block sizing |
GB201310084D0 (en) * | 2013-06-06 | 2013-07-17 | Mastercard International Inc | Improvements to electronic authentication systems |
CN106203128B (zh) * | 2015-04-30 | 2020-01-14 | 宋青见 | 网页数据加解密方法、装置和系统 |
CN108769740A (zh) * | 2018-06-05 | 2018-11-06 | 苏州科达科技股份有限公司 | 视频数据加密传输方法、系统、设备及存储介质 |
CN108989324B (zh) * | 2018-08-02 | 2021-11-30 | 泉州禾逸电子有限公司 | 一种加密数据传输方法 |
CN109615370A (zh) * | 2018-10-25 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
-
2019
- 2019-10-11 CN CN201910963749.9A patent/CN112653652B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207809A (zh) * | 2006-12-19 | 2008-06-25 | 浙江工业大学 | 基于视频帧拆分的实时流媒体传输方法及系统 |
WO2017164640A1 (en) * | 2016-03-22 | 2017-09-28 | Jam2Go, Inc. | System and method for editing video contents automatically technical field |
CN109379380A (zh) * | 2018-12-06 | 2019-02-22 | 联想图像(天津)科技有限公司 | 数据传输方法、数据接收方法及远程打印系统、移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN112653652A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519742B (zh) | 一种音频同步播放方法、装置及tws蓝牙耳机 | |
CN1282475A (zh) | 数据通信 | |
CN105208028B (zh) | 一种数据传输方法和相关装置及设备 | |
CN111934873A (zh) | 一种投标文件加解密方法及装置 | |
CN111884802B (zh) | 媒体流加密传输方法、系统、终端和电子设备 | |
CN102857889A (zh) | 一种短消息加密的方法及装置 | |
CN113191863A (zh) | 投标方法、第三方设备、发标方设备及投标方设备 | |
CN111935197A (zh) | 一种招标文件加解密方法及装置 | |
CN115567189A (zh) | 一种加密方法、解密方法及装置 | |
CN115459909A (zh) | 密钥数据处理方法及装置 | |
CN103384233B (zh) | 一种代理转换的方法、装置和系统 | |
CN114117406A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111416702B (zh) | 数据传输方法及数据传输系统、计算机可读存储介质 | |
CN109005187A (zh) | 一种通信信息保护方法及装置 | |
CN112653652B (zh) | 流媒体传输方法、装置、终端及计算机可读存储介质 | |
CN106487761B (zh) | 一种消息传输方法和网络设备 | |
CN115296841B (zh) | 一种数据加密传输方法、装置、设备及存储介质 | |
CN116545676A (zh) | 密文处理方法和装置、电子设备及存储介质 | |
CN113497827B (zh) | 信息共享方法及设备 | |
CN113626848A (zh) | 样本数据生成方法、装置、电子设备及计算机可读介质 | |
CN108632215B (zh) | 数字通信加解密方法及装置 | |
CN113434845B (zh) | 业务办理方法、装置、电子设备及计算机可读存储介质 | |
WO2017031744A1 (zh) | 一种加密通话方法及终端 | |
JP3526523B2 (ja) | 秘密鍵伝送方式 | |
CN116668000A (zh) | 一种ar设备的数据处理方法、装置和系统 |
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 |