CN116233563A - Method and system for transmitting audio and video data - Google Patents
Method and system for transmitting audio and video data Download PDFInfo
- Publication number
- CN116233563A CN116233563A CN202310261367.8A CN202310261367A CN116233563A CN 116233563 A CN116233563 A CN 116233563A CN 202310261367 A CN202310261367 A CN 202310261367A CN 116233563 A CN116233563 A CN 116233563A
- Authority
- CN
- China
- Prior art keywords
- data
- audio
- type
- source data
- variable
- 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
Images
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/631—Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
-
- 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/643—Communication protocols
-
- 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/647—Control 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/64784—Data processing by the network
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
Abstract
本申请实施例提供了一种音视频数据传输方法和系统,发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述方法包括:对待传输的音视频流数据进行解封装得到多种类型的源数据;根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文;从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端。通过基于QUIC作为传输协议,在基于QUIC协议首次以1‑RTT握手建连后,后续握手重连只需0‑RTT;用自定义的预设协议取代RTMP协议,可实现基于QUIC协议建联后直接发送音视频数据,省去了RTMP握手的时间,大大降低了首帧的延迟。
The embodiment of the present application provides a method and system for transmitting audio and video data. A connection based on the QUIC protocol is established between the sending end and the receiving end. The connection based on the QUIC protocol includes multiple transmission streams. The method includes: Decapsulate the audio and video stream data to obtain multiple types of source data; encapsulate according to the type of each type of source data to obtain a target data message supporting a preset protocol; determine from the multiple transport streams and The type of the target data packet matches the target transport stream, and transmits the target data packet to the receiving end through the target transport stream. Based on QUIC as the transmission protocol, after the first 1-RTT handshake based on the QUIC protocol to establish a connection, the subsequent handshake reconnection only needs 0-RTT; the RTMP protocol can be replaced by a custom preset protocol, which can realize the connection based on the QUIC protocol. Send audio and video data directly, saving the time of RTMP handshake and greatly reducing the delay of the first frame.
Description
技术领域technical field
本申请实施例涉及数据传输技术领域,尤其涉及一种音视频数据传输的方法、系统、计算机设备及计算机可读存储介质。The embodiments of the present application relate to the technical field of data transmission, and in particular to a method, system, computer equipment, and computer-readable storage medium for audio and video data transmission.
背景技术Background technique
现有技术中,如果采用TCP+RTMP的方案传输音视频流数据,在传输音视频数据之前必须得经过TCP的三次握手和RTMP的多次握手,这些握手会大大增加网络的传输时延;而且,如果客户端更换网络,会导致TCP连接断开,如需继续接收音视频数据,需要重新发起TCP和RTMP握手,这将导致用户观看视频时出现卡顿或黑屏等情况,大大地降低用户的观看体验。此外,利用同一个TCP连接传输音视频数据时,为保证传输数据有序,TCP会出现队头阻塞问题,即在传输音视频数据时,若排在前面的数据出现丢包时,会导致后面的数据即使收到也无法被应用层使用,造成音频与视频数据传输互相干扰,用户观看的视频卡顿,影响观看体验。In the prior art, if the scheme of TCP+RTMP is adopted to transmit audio and video stream data, three handshakes of TCP and multiple handshakes of RTMP must be performed before transmitting audio and video data, and these handshakes will greatly increase the transmission delay of the network; and , if the client changes the network, the TCP connection will be disconnected. If the client needs to continue receiving audio and video data, it needs to re-initiate the TCP and RTMP handshake. viewing experience. In addition, when using the same TCP connection to transmit audio and video data, in order to ensure the orderly transmission of data, TCP will have the problem of queue head blocking, that is, when transmitting audio and video data, if the data in the front is lost, it will cause Even if the data is received, it cannot be used by the application layer, causing audio and video data transmission to interfere with each other, and the video watched by the user freezes, affecting the viewing experience.
发明内容Contents of the invention
本申请实施例的目的是提供一种音视频数据传输方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:在传输音视频数据时,音频与视频数据传输互相干扰,导致用户观看的视频卡顿,影响观看体验。The purpose of the embodiments of the present application is to provide an audio and video data transmission method, system, computer equipment, and computer-readable storage medium, which are used to solve the following problem: when transmitting audio and video data, audio and video data transmission interfere with each other, causing users to The watched video freezes, which affects the viewing experience.
本申请实施例的一个方面提供了一种音视频数据传输方法,应用于发送端,所述发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述方法包括:An aspect of the embodiment of the present application provides an audio and video data transmission method, which is applied to the sending end, and a connection based on the QUIC protocol is established between the sending end and the receiving end, and the connection based on the QUIC protocol includes multiple transmission streams , the method includes:
对待传输的音视频流数据进行解封装得到多种类型的源数据;Decapsulate the audio and video stream data to be transmitted to obtain various types of source data;
根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文;Encapsulate according to the type of the source data of each type to obtain a target data message supporting a preset protocol;
从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端。Determining a target transport stream matching the type of the target data packet from the plurality of transport streams, and transmitting the target data packet to the receiving end through the target transport stream.
可选地,所述根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文,包括:Optionally, encapsulating according to the type of each type of source data to obtain a target data message supporting a preset protocol, including:
在所述源数据中封装基于所述预设协议的头部数据;其中,所述基于所述预设协议的头部数据包含类型字段;Encapsulating header data based on the preset protocol in the source data; wherein the header data based on the preset protocol includes a type field;
根据所述源数据对应的类型配置所述类型字段的值,得到支持预设协议的目标数据报文。The value of the type field is configured according to the type corresponding to the source data to obtain a target data packet supporting a preset protocol.
可选地,所述基于所述预设协议的头部数据还包含可变长度的格式字段,可变长度字段和时间戳字段;Optionally, the header data based on the preset protocol further includes a variable-length format field, a variable-length field and a timestamp field;
所述根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文,还包括:The encapsulation according to the type of each type of source data to obtain the target data message supporting the preset protocol also includes:
确定所述源数据的长度,并根据所述源数据的长度配置所述可变长度的格式字段的值和可变长度字段的值;及,determining the length of the source data, and configuring the value of the variable-length format field and the value of the variable-length field according to the length of the source data; and,
确定所述源数据在所述音视频流数据中对应的时间戳,并根据所述时间戳配置所述时间戳字段的值。Determine the time stamp corresponding to the source data in the audio and video stream data, and configure the value of the time stamp field according to the time stamp.
可选地,所述可变长度的格式字段和类型字段的字节长度之和为一个字节,所述时间戳的字节长度为四个字节,所述可变长度的格式字段用于指示所述可变长度字段对应的字节数。Optionally, the sum of the byte lengths of the variable-length format field and the type field is one byte, the byte length of the timestamp is four bytes, and the variable-length format field is used for Indicates the number of bytes corresponding to the variable-length field.
可选地,所述根据所述源数据的长度配置所述可变长度的格式字段的值和可变长度字段的值,包括:Optionally, configuring the value of the variable-length format field and the value of the variable-length field according to the length of the source data includes:
根据所述源数据的长度配置所述可变长度字段的值,并根据所述可变长度字段的值确定所述可变长度字段对应的字节数;configuring the value of the variable length field according to the length of the source data, and determining the number of bytes corresponding to the variable length field according to the value of the variable length field;
根据所述可变长度字段对应的字节数配置所述可变长度的格式字段的值。The value of the variable-length format field is configured according to the number of bytes corresponding to the variable-length field.
可选地,所述根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文,还包括:Optionally, the encapsulating according to the type of each type of source data to obtain a target data message supporting a preset protocol further includes:
在所述源数据中封装基于UDP协议的头部数据和基于QUIC协议的头部数据。The header data based on the UDP protocol and the header data based on the QUIC protocol are encapsulated in the source data.
可选地,所述源数据的类型包含元数据类型、视频帧类型和音频帧类型。Optionally, the type of the source data includes metadata type, video frame type and audio frame type.
可选地,所述多个传输流之间相互独立,每一个所述传输流用于传输一种类型的数据报文。Optionally, the multiple transport streams are independent of each other, and each of the transport streams is used to transmit a type of data packet.
本申请实施例的一个方面又提供了一种音视频数据传输的方法,应用于接收端,所述接收端与发送端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述方法包括:An aspect of the embodiment of the present application provides a method for audio and video data transmission, which is applied to the receiving end, and a connection based on the QUIC protocol is established between the receiving end and the sending end, and the connection based on the QUIC protocol includes multiple transport stream, the method comprising:
通过所述多个传输流接收所述发送端传输的目标数据报文;receiving the target data packet transmitted by the sender through the multiple transmission streams;
解析所述目标数据报文得到源数据和基于预设协议的头部数据;Analyzing the target data packet to obtain source data and header data based on a preset protocol;
根据所述基于预设协议的头部数据,确定所述源数据对应的类型;Determine the type corresponding to the source data according to the header data based on the preset protocol;
根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据。Encapsulate the source data according to the type corresponding to the source data to obtain audio and video stream data.
可选地,所述基于预设协议的头部数据中包含类型字段;Optionally, the header data based on the preset protocol includes a type field;
所述根据所述基于预设协议的头部数据,确定所述源数据对应的类型,包括:The determining the type corresponding to the source data according to the header data based on the preset protocol includes:
根据所述类型字段的值,确定所述源数据对应的类型。Determine the type corresponding to the source data according to the value of the type field.
可选地,所述基于预设协议的头部数据中还包含可变长度的格式字段,可变长度字段,和时间戳字段;Optionally, the header data based on the preset protocol also includes a variable-length format field, a variable-length field, and a timestamp field;
在所述解析所述目标数据报文得到源数据和基于预设协议的头部数据的步骤之后,还包括:After the step of analyzing the target data message to obtain the source data and the header data based on the preset protocol, it also includes:
根据所述可变长度的格式字段的值确定所述可变长度字段的字节数;determining the number of bytes of the variable-length field according to the value of the variable-length format field;
根据所述可变长度字段的字节数,从所述基于预设协议的头部数据中确定所述可变长度字段的值,并根据所述可变长度字段的值,确定所述源数据对应的长度;According to the number of bytes of the variable length field, determine the value of the variable length field from the header data based on the preset protocol, and determine the source data according to the value of the variable length field the corresponding length;
根据所述时间戳字段的值,确定所述源数据在所述音视频流数据中对应的时间戳。According to the value of the timestamp field, determine the corresponding timestamp of the source data in the audio and video stream data.
可选地,所述根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据,包括:Optionally, the encapsulation of the source data according to the type corresponding to the source data to obtain audio and video stream data includes:
根据所述源数据对应的类型、长度和时间戳,对所述源数据进行封装,得到音视频流数据。According to the type, length and time stamp corresponding to the source data, the source data is encapsulated to obtain audio and video stream data.
本申请实施例的一个方面又提供了一种音视频数据传输系统,包含发送端和接收端,其中,所述发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流;An aspect of the embodiment of the present application provides an audio and video data transmission system, including a sending end and a receiving end, wherein a connection based on the QUIC protocol is established between the sending end and the receiving end, and the connection based on the QUIC protocol Contains multiple transport streams;
所述发送端用于,获取待传输的音视频流数据;对所述音视频流数据进行解封装得到多种类型的源数据;根据每一类所述源数据的类型对所述源数据进行封装,得到支持预设协议的目标数据报文;从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端;The sending end is used to obtain the audio and video stream data to be transmitted; decapsulate the audio and video stream data to obtain multiple types of source data; perform the source data according to each type of source data Encapsulate to obtain a target data message supporting a preset protocol; determine a target transport stream matching the type of the target data message from the multiple transport streams, and transmit the target data message through the target transport stream The text is transmitted to the receiving end;
所述接收端用于,通过所述多个传输流接收所述发送端传输的目标数据报文;解析所述目标数据报文得到源数据和基于预设协议的头部数据;根据所述基于预设协议的头部数据,确定所述源数据对应的类型;根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据。The receiving end is used to receive the target data message transmitted by the sending end through the multiple transmission streams; parse the target data message to obtain source data and header data based on a preset protocol; according to the The header data of the preset protocol determines the type corresponding to the source data; the source data is encapsulated according to the type corresponding to the source data to obtain audio and video stream data.
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的音视频数据传输方法的步骤。An aspect of the embodiments of the present application provides a computer device, the computer device includes a memory, a processor, and a computer program stored in the memory and operable on the processor, when the processor executes the computer program The steps of the above-mentioned audio and video data transmission method are realized.
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的音视频数据传输方法的步骤。An aspect of the embodiments of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program can be executed by at least one processor, so that the at least one When the processor executes the computer program, the steps of the above audio and video data transmission method are realized.
本申请实施例提供的音视频数据传输方法、系统、设备及计算机可读存储介质,通过基于QUIC作为传输协议,相较于TCP每次建连都需1.5-RTT,本申请在基于QUIC协议首次以1-RTT握手建连后,后续握手重连只需0-RTT;用自定义的预设协议取代RTMP协议,可实现基于QUIC协议建联后直接发送音视频数据,省去了RTMP握手的时间,大大降低了首帧的延迟。即使客户端断开或者更换网络重连,QUIC的连接迁移、0-RTT特性使得网络无缝衔接发送数据,提升用户观看视频的流畅度体验;利用QUIC协议的多路复用传输的特性,实现低延时传输音视频数据。The audio and video data transmission method, system, equipment, and computer-readable storage medium provided by the embodiments of the present application use QUIC as the transmission protocol. Compared with TCP, which requires 1.5-RTT for each connection establishment, this application is based on the QUIC protocol for the first time. After the 1-RTT handshake is used to establish a connection, the subsequent handshake reconnection only needs 0-RTT; the custom preset protocol is used to replace the RTMP protocol, and the audio and video data can be sent directly after the connection is established based on the QUIC protocol, eliminating the need for RTMP handshake Time, greatly reducing the delay of the first frame. Even if the client is disconnected or the network is reconnected, QUIC's connection migration and 0-RTT characteristics make the network seamlessly connect and send data, improving the smooth experience of users watching videos; using the multiplexing transmission characteristics of the QUIC protocol to realize Low-latency transmission of audio and video data.
此外,本申请通过将一条音视频流数据拆分成不同类型的多类数据,将这几类数据经过自定义的预设协议打包后,通过基于QUIC协议的一个连接的多个传输流有序可靠安全的发送,一类数据利用同一个连接中一个传输流进行发送,实现各类数据之间传输速度互不影响,可以进一步降低音视频数据在网络传输中时延,达到低延时传输音视频数据的效果。In addition, this application divides a piece of audio and video stream data into different types of multiple types of data, and after these types of data are packaged through a custom preset protocol, multiple transmission streams through a connection based on the QUIC protocol are ordered Reliable and safe transmission, one type of data is sent using one transmission stream in the same connection, so that the transmission speed of various types of data does not affect each other, which can further reduce the delay of audio and video data in network transmission, and achieve low-latency transmission of audio Effects on video data.
附图说明Description of drawings
图1示意性示出了根据本申请实施例的音视频数据传输方法的应用环境图;Fig. 1 schematically shows an application environment diagram of an audio and video data transmission method according to an embodiment of the present application;
图2示意性示出了根据本申请实施例一的音视频数据传输方法的流程图;FIG. 2 schematically shows a flow chart of an audio and video data transmission method according to
图3示意性示出了根据本申请实施例一用于C/S软件架构下的一个QUIC的Connection的示意图;Fig. 3 schematically shows a schematic diagram of a Connection for a QUIC under the C/S software architecture according to an embodiment of the present application;
图4示意性示出了根据本申请实施例一的一种数据报文的数据结构示意图;FIG. 4 schematically shows a schematic diagram of a data structure of a data packet according to
图5示意性示出了根据本申请实施例一的一种基于预设协议的头部数据包含的内容示意图;Fig. 5 schematically shows a schematic diagram of content contained in header data based on a preset protocol according to
图6示意性示出了根据本申请实施例二的音视频数据传输方法的流程图;FIG. 6 schematically shows a flowchart of an audio and video data transmission method according to
图7示意性示出了根据本申请实施例三的音视频数据传输装置的框图;FIG. 7 schematically shows a block diagram of an audio and video data transmission device according to Embodiment 3 of the present application;
图8示意性示出了根据本申请实施例四的音视频数据传输装置的框图;FIG. 8 schematically shows a block diagram of an audio and video data transmission device according to
图9示意性示出了根据本申请实施例五的音视频数据传输系统的框图;及FIG. 9 schematically shows a block diagram of an audio and video data transmission system according to Embodiment 5 of the present application; and
图10示意性示出了根据本申请实施例六的适于实现音视频数据传输方法的计算机设备的硬件架构示意图。FIG. 10 schematically shows a schematic diagram of a hardware architecture of a computer device suitable for implementing a method for transmitting audio and video data according to
具体实施方式Detailed ways
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solution and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present application, not to limit the present application. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。It should be noted that the descriptions involving "first", "second", etc. in the embodiments of the present application are only for descriptive purposes, and should not be understood as indicating or implying their relative importance or implicitly indicating the indicated technical features quantity. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of these features. In addition, the technical solutions of the various embodiments can be combined with each other, but it must be based on the realization of those skilled in the art. When the combination of technical solutions is contradictory or cannot be realized, it should be considered that the combination of technical solutions does not exist , nor within the scope of protection required by the present application.
现有技术中,如果采用TCP+RTMP的方案传输音视频流数据,在传输音视频数据之前必须得经过TCP的三次握手和RTMP的多次握手,这些握手会大大增加网络的传输时延;而且,如果客户端更换网络,会导致TCP连接断开,如需继续接收音视频数据,需要重新发起TCP和RTMP握手,这将导致用户观看视频时出现卡顿或黑屏等情况,大大地降低用户的观看体验。In the prior art, if the scheme of TCP+RTMP is adopted to transmit audio and video stream data, three handshakes of TCP and multiple handshakes of RTMP must be performed before transmitting audio and video data, and these handshakes will greatly increase the transmission delay of the network; and , if the client changes the network, the TCP connection will be disconnected. If the client needs to continue receiving audio and video data, it needs to re-initiate the TCP and RTMP handshake. viewing experience.
此外,利用同一个TCP连接传输音视频数据时,为保证传输数据有序,TCP会出现队头阻塞问题,即在传输音视频数据时,若排在前面的数据出现丢包时,会导致后面的数据即使收到也无法被应用层使用,造成音频与视频数据传输互相干扰,用户观看的视频卡顿,影响观看体验。In addition, when using the same TCP connection to transmit audio and video data, in order to ensure the orderly transmission of data, TCP will have the problem of queue head blocking, that is, when transmitting audio and video data, if the data in the front is lost, it will cause Even if the data is received, it cannot be used by the application layer, causing audio and video data transmission to interfere with each other, and the video watched by the user freezes, affecting the viewing experience.
有鉴于此,本申请旨在提出一种基于QUIC协议的音视频数据传输方案,包括:通过在发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述方法包括:通过发送端对待传输的音视频流数据进行解封装得到多种类型的源数据;根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文;从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端。In view of this, the present application aims to propose an audio and video data transmission scheme based on the QUIC protocol, including: by establishing a connection based on the QUIC protocol between the sending end and the receiving end, the connection based on the QUIC protocol includes multiple transmission stream, the method includes: decapsulating the audio and video stream data to be transmitted by the sending end to obtain multiple types of source data; encapsulating according to the type of each type of source data to obtain a target datagram supporting a preset protocol determining a target transport stream matching the type of the target data packet from the plurality of transport streams, and transmitting the target data packet to the receiving end through the target transport stream.
通过基于QUIC作为传输协议,相较于TCP每次建连都需1.5-RTT,本申请在基于QUIC协议首次以1-RTT握手建连后,后续握手重连只需0-RTT;用自定义的预设协议取代RTMP协议,可实现基于QUIC协议建联后直接发送音视频数据,省去了RTMP握手的时间,大大降低了首帧的延迟。即使客户端断开或者更换网络重连,QUIC的连接迁移、0-RTT特性使得网络无缝衔接发送数据,提升用户观看视频的流畅度体验;利用QUIC协议的多路复用传输的特性,实现低延时传输音视频数据。By using QUIC as the transport protocol, compared to TCP which requires 1.5-RTT for each connection establishment, this application only needs 0-RTT for subsequent handshakes and reconnections after the first 1-RTT handshake based on the QUIC protocol. The preset protocol replaces the RTMP protocol, which can directly send audio and video data after establishing a connection based on the QUIC protocol, which saves the time of RTMP handshake and greatly reduces the delay of the first frame. Even if the client is disconnected or the network is reconnected, QUIC's connection migration and 0-RTT characteristics make the network seamlessly connect and send data, improving the smooth experience of users watching videos; using the multiplexing transmission characteristics of the QUIC protocol to realize Low-latency transmission of audio and video data.
此外,本申请通过将一条音视频流数据拆分成不同类型的多类数据,将这几类数据经过自定义的预设协议打包后,通过基于QUIC协议的一个连接的多个传输流有序可靠安全的发送,一类数据利用同一个连接中一个传输流进行发送,实现各类数据之间传输速度互不影响,可以进一步降低音视频数据在网络传输中时延,达到低延时传输音视频数据的效果。In addition, this application divides a piece of audio and video stream data into different types of multiple types of data, and after these types of data are packaged through a custom preset protocol, multiple transmission streams through a connection based on the QUIC protocol are ordered Reliable and safe transmission, one type of data is sent using one transmission stream in the same connection, so that the transmission speed of various types of data does not affect each other, which can further reduce the delay of audio and video data in network transmission, and achieve low-latency transmission of audio Effects on video data.
本申请提供了多个实施例进一步介绍音视频数据传输方案,具体参照下文。The present application provides multiple embodiments to further introduce audio and video data transmission schemes, for details, refer to the following.
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。In the description of the present application, it should be understood that the numerals before the steps do not indicate the order in which the steps are performed, but are only used to facilitate the description of the present application and to distinguish each step, and therefore cannot be construed as limiting the present application.
以下为本申请的术语解释:The following is an explanation of the terms used in this application:
QUIC:Quick UDP Internet Connection,早期是谷歌制定的一种基于UDP(UserDatagram Protocol,用户数据报协议)的低时延的互联网传输层协议,目前IETF(InternetEngineering Task Force,国际互联网工程任务组)已经正式颁布标准化版本RFC 9000。QUIC: Quick UDP Internet Connection, a low-latency Internet transport layer protocol based on UDP (UserDatagram Protocol, User Datagram Protocol) developed by Google in the early days. At present, IETF (InternetEngineering Task Force, Internet Engineering Task Force) has officially Published standardized version RFC 9000.
RTMP:Real Time Messaging Protocol,实时消息传输协议,一种设计用来进行实时数据通信的网络协议。RTMP: Real Time Messaging Protocol, real-time message transmission protocol, a network protocol designed for real-time data communication.
RTT:Round Trip Time,代表网络数据往返时延。0-RTT代表在握手阶段即可发送应用数据。RTT: Round Trip Time, representing the round-trip delay of network data. 0-RTT means that application data can be sent during the handshake phase.
音视频流:一个完整的音视频流,包括音频、视频和基础元信息,常见的视频文件如mp4、mov、flv、avi、rmvb等视频文件,就是一个容器的封装,里面包含了音频和视频两部分,并且都是通过一些特定的编码算法,进行编码压缩生成。Audio and video stream: a complete audio and video stream, including audio, video and basic metadata. Common video files such as mp4, mov, flv, avi, rmvb and other video files are a container package that contains audio and video Two parts, and are generated by encoding and compressing through some specific encoding algorithms.
图1示意性示出了根据本申请实施例的环境应用示意图。如图1所示:Fig. 1 schematically shows a schematic diagram of an environment application according to an embodiment of the present application. As shown in Figure 1:
计算机设备10000可以通过网络20000连接客户端30000。The
计算机设备10000可以提供服务,如进行网络调试,或返回音视频数据传输结果数据给客户端30000等。The
计算机设备10000可以位于诸如单个场所之类的数据中心,或者分布在不同的地理位置(例如,在多个场所)中。计算机设备10000可以经由一个或多个网络20000提供服务。网络20000包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。网络20000可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络20000可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
计算机设备10000可以由一个或多个计算节点实现。一个或多个计算节点可以包括虚拟化的计算实例。虚拟化的计算实例可以包括虚拟机,例如计算机系统,操作系统,服务器等的仿真。计算节点可以基于虚拟映像和/或定义用于仿真的特定软件(例如,操作系统,专用应用程序,服务器)的其他数据,由计算节点加载虚拟机。随着对不同类型的处理服务的需求改变,可以在一个或多个计算节点上加载和/或终止不同的虚拟机。可以实现管理程序来管理同一计算节点上不同虚拟机的使用。
客户端30000可以被配置为访问计算机设备10000的内容和服务。客户端30000可以包括任何类型的电子设备,诸如移动设备、平板设备、膝上型计算机、工作站、虚拟现实设备,游戏设备、机顶盒、数字流媒体设备、车辆终端、智能电视、机顶盒等。
客户端30000可以将音视频数据传输结果数据等输出(例如,显示、渲染、呈现)给用户。The
以下将通过多个实施例介绍网络调试方案。该方案可以通过计算机设备10000实施。The network debugging solution will be introduced through multiple embodiments below. This scheme can be implemented by the
实施例一Embodiment one
图2示意性示出了根据本申请实施例一的音视频数据传输方法的流程图。应用于发送端,所述发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述的方法包括步骤S202-S206,其中,Fig. 2 schematically shows a flowchart of an audio and video data transmission method according to
步骤S202,对待传输的音视频流数据进行解封装得到多种类型的源数据;Step S202, decapsulating the audio and video stream data to be transmitted to obtain various types of source data;
本实施例的音视频数据传输方案可以用于基于C/S软件架构下,不限于音视频流的封装格式,其中,发送端负责解封装并发送音视频数据,接收端负责接收并重新封装音视频数据。在具体实现时,发送端可以为server服务器端也可以为client客户端,同理,接收端可以为server端也可以为client端,本实施例对此不做限制。The audio and video data transmission scheme of this embodiment can be used under the C/S software architecture, not limited to the encapsulation format of audio and video streams, wherein, the sending end is responsible for decapsulating and sending audio and video data, and the receiving end is responsible for receiving and repackaging audio and video data. video data. In specific implementation, the sending end may be a server or a client, and similarly, the receiving end may be a server or a client, which is not limited in this embodiment.
在本实施例中,发送端在需要传输音视频流数据时,首先对待传输的音视频流数据进行解封装得到多种类型的源数据。具体的用来解封装音视频流数据的协议可以是已公开的技术,本申请实施例对此不再赘述。In this embodiment, when the sending end needs to transmit audio and video stream data, it first decapsulates the audio and video stream data to be transmitted to obtain various types of source data. The specific protocol used to decapsulate the audio and video stream data may be a published technology, which will not be repeated in this embodiment of the present application.
在本实施例中,解封装之后得到的源数据可以包含三种类型,分别为元数据类型、视频帧类型和音频帧类型。其中,元数据为描述数据的数据,主要是用于描述数据属性的信息。此外,当需求有扩展元数据的类型时,也可定义其他类型,本实施例对此不做具体限制。In this embodiment, the source data obtained after decapsulation may include three types, namely metadata type, video frame type and audio frame type. Among them, metadata is data describing data, mainly information used to describe data attributes. In addition, when a type of extended metadata is required, other types may also be defined, which is not specifically limited in this embodiment.
步骤S204,根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文;Step S204, encapsulating according to the type of each type of source data to obtain a target data message supporting a preset protocol;
其中,预设协议是自定义的协议,主要用于发送端和接受端之间识别数据报文的相关信息,包含报文类型、报文长度和是视频时间戳等信息,使得发送端和接受端之间无需多余的握手交互,就可以直接传输音视频数据报文。Among them, the preset protocol is a self-defined protocol, which is mainly used to identify the relevant information of the data message between the sender and the receiver, including information such as message type, message length, and video time stamp, so that the sender and receiver Audio and video data packets can be directly transmitted between terminals without unnecessary handshake interaction.
在本实施例中,针对每一类的源数据,可以根据该源数据的类型进行封装基于预设协议的头部,得到支持预设协议的目标数据报文。具体的,基于预设协议的头部中可以包含Type类型字段,在封装数据报文时,可以根据该源数据的类型配置Type字段的值,得到支持预设协议的目标数据报文,因此,目标数据报文中携带数据的类型信息,接受端通过解析目标数据报文可以确定数据的类型。In this embodiment, for each type of source data, a header based on a preset protocol may be encapsulated according to the type of the source data to obtain a target data packet supporting the preset protocol. Specifically, the Type field can be included in the header based on the preset protocol. When encapsulating the data packet, the value of the Type field can be configured according to the type of the source data to obtain the target data packet supporting the preset protocol. Therefore, The target data message carries data type information, and the receiving end can determine the data type by analyzing the target data message.
步骤S206,从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端。Step S206, determining a target transport stream matching the type of the target data packet from the plurality of transport streams, and transmitting the target data packet to the receiving end through the target transport stream.
在本实施例中,在发送端和接收端之间建立1个基于QUIC协议的连接Connection,一个QUIC的Connection包含多个传输流stream,多个传输流之间相互独立,每一个传输流用于传输一种类型的数据报文,使得音视频数据的各类数据之间的传输速度互不影响。在生成目标数据报文之后,通过从多个传输流中确定与目标数据报文的类型匹配的目标传输流,然后通过该目标传输流将目标数据报文传输至接收端。In this embodiment, a connection based on the QUIC protocol is established between the sending end and the receiving end. A QUIC Connection includes multiple transport streams, and the multiple transport streams are independent of each other. Each transport stream is used for transmission A type of data packet, so that the transmission speed of various types of audio and video data does not affect each other. After the target data message is generated, a target transport stream matching the type of the target data message is determined from multiple transport streams, and then the target data message is transmitted to the receiving end through the target transport stream.
在一种示例中,如图3所示,假定server端为发送端,client为接收端,在server端和client端之间建立1个QUIC的Connection,这个QUIC的Connection包含三个stream,分别为stream1、stream2和stream3,其中,使用stream1传输元数据,使用stream2传输视频帧数据,使用stream3传输音频帧数据,从而实现这三类数据之间传输速度互不影响,加快音视频数据传输的速度。In one example, as shown in Figure 3, assuming that the server is the sending end and the client is the receiving end, a QUIC Connection is established between the server and the client. This QUIC Connection contains three streams, respectively stream1, stream2 and stream3, among them, stream1 is used to transmit metadata, stream2 is used to transmit video frame data, and stream3 is used to transmit audio frame data, so that the transmission speed of these three types of data does not affect each other, and the speed of audio and video data transmission is accelerated.
以下提供几个可选地实施例,以进行优化所述音视频数据传输方法,具体如下:Several optional embodiments are provided below to optimize the audio and video data transmission method, specifically as follows:
在本申请的一种优选实施例中,所述步骤S204可以包括如下步骤:In a preferred embodiment of the present application, the step S204 may include the following steps:
在所述源数据中封装基于所述预设协议的头部数据;其中,所述基于所述预设协议的头部数据包含类型字段;根据所述源数据对应的类型配置所述类型字段的值,得到支持预设协议的目标数据报文。Encapsulate header data based on the preset protocol in the source data; wherein, the header data based on the preset protocol includes a type field; configure the type field according to the type corresponding to the source data Value, get the target data packet that supports the preset protocol.
在本实施例中,基于预设协议的头部数据包含类型字段,用于定义报文类型。在封装源数据时,通过在源数据中封装基于预设协议的头部数据;然后,根据源数据对应的类型配置类型字段的值,得到支持预设协议的目标数据报文。In this embodiment, the header data based on the preset protocol includes a type field, which is used to define the packet type. When encapsulating the source data, the header data based on the preset protocol is encapsulated in the source data; then, the value of the type field is configured according to the type corresponding to the source data to obtain a target data packet supporting the preset protocol.
在本申请的一种优选实施例中,所述基于所述预设协议的头部数据还包含可变长度的格式字段,可变长度字段和时间戳字段;In a preferred embodiment of the present application, the header data based on the preset protocol further includes a variable-length format field, a variable-length field and a timestamp field;
所述步骤S204,还可以包括如下步骤:The step S204 may also include the following steps:
确定所述源数据的长度,并根据所述源数据的长度配置所述可变长度的格式字段的值和可变长度字段的值;及,确定所述源数据在所述音视频流数据中对应的时间戳,并根据所述时间戳配置所述时间戳字段的值。Determine the length of the source data, and configure the value of the variable-length format field and the value of the variable-length field according to the length of the source data; and, determine that the source data is in the audio and video stream data corresponding timestamp, and configure the value of the timestamp field according to the timestamp.
在本实施例中,基于预设协议的头部数据还可以包含可变长度的格式字段,可变长度字段和时间戳字段,其中,可变长度的格式字段用于指示可变长度字段对应的字节数;可变长度字段用于描述报文的长度;时间戳字段用于描述报文在音视频流数据中对应的时间戳。In this embodiment, the header data based on the preset protocol may also include a variable-length format field, a variable-length field and a timestamp field, wherein the variable-length format field is used to indicate the corresponding The number of bytes; the variable length field is used to describe the length of the message; the timestamp field is used to describe the corresponding timestamp of the message in the audio and video stream data.
在本申请的一种优选实施例中,所述可变长度的格式字段和类型字段的字节长度之和为一个字节,所述时间戳的字节长度为四个字节。具体的,可变长度的格式字段可以为2个比特,类型字段可以为6个比特。可变长度字段的字节长度可变。In a preferred embodiment of the present application, the sum of the byte lengths of the variable-length format field and the type field is one byte, and the byte length of the time stamp is four bytes. Specifically, the variable-length format field may be 2 bits, and the type field may be 6 bits. A variable-length field has a variable length in bytes.
在具体实现中,可变长度的格式字段可以记为Fmt,可变长度字段可以记为Length,Fmt和Length的字节长度的对应关系可以如下表1所示:In a specific implementation, the variable-length format field can be recorded as Fmt, and the variable-length field can be recorded as Length. The correspondence between the byte lengths of Fmt and Length can be shown in Table 1 below:
表1Table 1
其中,Fmt字段为0,1,2,3时,Length字段分别占用1,2,4,8字节,该Length的值取决于上述源数据的长度。Wherein, when the Fmt field is 0, 1, 2, and 3, the Length field occupies 1, 2, 4, and 8 bytes respectively, and the value of the Length depends on the length of the above-mentioned source data.
在本申请的一种优选实施例中,所述根据所述源数据的长度配置所述可变长度的格式字段的值和可变长度字段的值,可以包括如下步骤:In a preferred embodiment of the present application, configuring the value of the variable-length format field and the value of the variable-length field according to the length of the source data may include the following steps:
根据所述源数据的长度配置所述可变长度字段的值,并根据所述可变长度字段的值确定所述可变长度字段对应的字节数;根据所述可变长度字段对应的字节数配置所述可变长度的格式字段的值。Configure the value of the variable-length field according to the length of the source data, and determine the number of bytes corresponding to the variable-length field according to the value of the variable-length field; The number of sections configures the value of the variable-length format field.
在本实施例中,通过根据源数据的长度配置可变长度字段的值,并根据可变长度字段的值确定可变长度字段对应的字节数;然后根据可变长度字段对应的字节数配置可变长度的格式字段的值。使用可变长度的格式字段来描述可变长度资源的字节数,以便于接收端对目标数据报文进行解析。In this embodiment, the value of the variable-length field is configured according to the length of the source data, and the number of bytes corresponding to the variable-length field is determined according to the value of the variable-length field; then according to the number of bytes corresponding to the variable-length field Configure the value of the variable-length format field. The variable-length format field is used to describe the number of bytes of the variable-length resource, so that the receiving end can parse the target data packet.
在本申请的一种优选实施例中,所述步骤S204,还可以包括如下步骤:In a preferred embodiment of the present application, the step S204 may also include the following steps:
在所述源数据中封装基于UDP协议的头部数据和基于QUIC协议的头部数据。The header data based on the UDP protocol and the header data based on the QUIC protocol are encapsulated in the source data.
在本实施例中,封装得到的目标数据报文基于QUIC协议进行传输,可以通过在源数据中封装基于UDP协议的头部数据和基于QUIC协议的头部数据。In this embodiment, the encapsulated target data packet is transmitted based on the QUIC protocol, which may be achieved by encapsulating header data based on the UDP protocol and header data based on the QUIC protocol in the source data.
如图4示出了,一种数据报文的数据结构示意图,包含基于UDP协议的头部数据UDPHeader、基于QUIC协议的头部数据QUIC Header、预设协议Header和报文内容数据payload。其中,QUIC Header符合RFC 9000标准,预设协议Header部分可根据需求自行定义各字段,主要用于Client和Server两端识别payload报文类型,报文长度和音视频时间戳等信息,使得双端无需多余的握手交互,直接传输音视频数据信息;其中,payload报文部分承载着发送方解封装后的元数据,音频帧和视频帧等类型的数据。As shown in FIG. 4 , a data structure diagram of a data message includes header data UDPHeader based on the UDP protocol, header data QUIC Header based on the QUIC protocol, a preset protocol Header, and message content data payload. Among them, the QUIC Header conforms to the RFC 9000 standard. The header part of the preset protocol can define various fields according to the needs. It is mainly used for identifying the payload message type, message length, audio and video timestamp and other information at both ends of the Client and Server, so that both ends do not need to The redundant handshake interaction directly transmits audio and video data information; among them, the payload message part carries metadata decapsulated by the sender, audio frames and video frames and other types of data.
如图5所示,是一种基于预设协议的头部数据包含的内容示意图;包含可变长度的格式字段fmt,类型字段type,可变长度字段length,时间戳字段timestamp。其中,fmt字段占2个比特,用于表示可变长度length字段的字节数;type字段占6个比特;fmt与type字段共占1字节;timestamp字段占4个字节。Length的长度是可变的,取决于数据报文的大小。As shown in Figure 5, it is a schematic diagram of the content contained in the header data based on the preset protocol; it includes a variable-length format field fmt, a type field type, a variable-length field length, and a timestamp field timestamp. Among them, the fmt field occupies 2 bits and is used to indicate the number of bytes of the variable-length length field; the type field occupies 6 bits; the fmt and type fields occupy 1 byte; the timestamp field occupies 4 bytes. The length of Length is variable and depends on the size of the datagram.
实施例二Embodiment two
图6示意性示出了根据本申请实施例二的音视频数据传输方法的流程图。应用于接收端,所述接收端与发送端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,所述的方法包括步骤S602-S608,其中,FIG. 6 schematically shows a flowchart of an audio and video data transmission method according to
步骤S602,通过所述多个传输流接收所述发送端传输的目标数据报文;Step S602, receiving the target data message transmitted by the sender through the multiple transport streams;
在本实施例中,在发送端和接收端之间建立1个基于QUIC协议的连接Connection,一个QUIC的Connection包含多个传输流stream,多个传输流之间相互独立,每一个的传输流用于传输一种类型的数据报文,使得音视频数据的各类数据之间的传输速度互不影响。具体的,在发送端传输音视频数据时,接收端可以通过QUIC协议的连接的多个传输流,接收发送端传输的目标数据报文。In this embodiment, a connection based on the QUIC protocol is established between the sending end and the receiving end. A QUIC Connection includes multiple transport streams, and the multiple transport streams are independent of each other. Each transport stream is used for One type of data message is transmitted, so that the transmission speed of various types of audio and video data does not affect each other. Specifically, when the sending end transmits audio and video data, the receiving end can receive the target data packet transmitted by the sending end through multiple transport streams connected by the QUIC protocol.
步骤S604,解析所述目标数据报文得到源数据和基于预设协议的头部数据;Step S604, analyzing the target data message to obtain source data and header data based on a preset protocol;
步骤S606,根据所述基于预设协议的头部数据,确定所述源数据对应的类型;Step S606, according to the header data based on the preset protocol, determine the type corresponding to the source data;
在本实施例中,在接收到目标数据报文之后,通过解析目标数据报文得到源数据和基于预设协议的头部数据,然后根据基于预设协议的头部数据,确定源数据对应的类型。具体的,基于预设协议的头部数据中包含类型字段,通过类型字段的值可以确定源数据对应的类型。In this embodiment, after receiving the target data message, the source data and the header data based on the preset protocol are obtained by parsing the target data message, and then the source data corresponding to the source data is determined according to the header data based on the preset protocol. type. Specifically, the header data based on the preset protocol contains a type field, and the type corresponding to the source data can be determined through the value of the type field.
步骤S608,根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据。Step S608: Encapsulate the source data according to the type corresponding to the source data to obtain audio and video stream data.
在本实施例中,接收端通过根据源数据对应的类型对源数据进行封装,可以得到音视频流数据。In this embodiment, the receiving end can obtain audio and video stream data by encapsulating the source data according to the type corresponding to the source data.
以下提供几个可选地实施例,以进行优化所述音视频数据传输方法,具体如下:Several optional embodiments are provided below to optimize the audio and video data transmission method, specifically as follows:
在本申请的一种优选实施例中,所述基于预设协议的头部数据中包含类型字段;所述步骤S606可以包括如下步骤:In a preferred embodiment of the present application, the header data based on the preset protocol includes a type field; the step S606 may include the following steps:
根据所述类型字段的值,确定所述源数据对应的类型。Determine the type corresponding to the source data according to the value of the type field.
在本实施例中,接收端可以通过解析基于预设协议的头部数据,得到类型字段的值,确定源数据对应的类型。In this embodiment, the receiving end can obtain the value of the type field by analyzing the header data based on the preset protocol, and determine the type corresponding to the source data.
在本申请的一种优选实施例中,所述基于预设协议的头部数据中还包含可变长度的格式字段,可变长度字段,和时间戳字段;In a preferred embodiment of the present application, the header data based on the preset protocol further includes a variable-length format field, a variable-length field, and a timestamp field;
在所述步骤S604之后,还可以包括如下步骤:After the step S604, the following steps may also be included:
根据所述可变长度的格式字段的值确定所述可变长度字段的字节数;根据所述可变长度字段的字节数,从所述基于预设协议的头部数据中确定所述可变长度字段的值,并根据所述可变长度字段的值,确定所述源数据对应的长度;根据所述时间戳字段的值,确定所述源数据在所述音视频流数据中对应的时间戳。Determine the number of bytes of the variable-length field according to the value of the variable-length format field; determine the number of bytes from the header data based on the preset protocol according to the number of bytes of the variable-length field The value of the variable length field, and according to the value of the variable length field, determine the length corresponding to the source data; according to the value of the timestamp field, determine that the source data corresponds to the audio and video stream data the timestamp of .
在本实施例中,基于预设协议的头部数据还可以包含可变长度的格式字段,可变长度字段和时间戳字段,其中,可变长度的格式字段用于指示可变长度字段对应的字节数;可变长度字段用于描述报文的长度;时间戳字段用于描述报文在音视频流数据中对应的时间戳。In this embodiment, the header data based on the preset protocol may also include a variable-length format field, a variable-length field and a timestamp field, wherein the variable-length format field is used to indicate the corresponding The number of bytes; the variable length field is used to describe the length of the message; the timestamp field is used to describe the corresponding timestamp of the message in the audio and video stream data.
接收端在解析数据报文时,通过根据可变长度的格式字段的值确定可变长度字段的字节数;然后,根据可变长度字段的字节数,从基于预设协议的头部数据中确定可变长度字段的值,并根据可变长度字段的值,确定源数据对应的长度;根据时间戳字段的值,确定源数据在音视频流数据中对应的时间戳。When the receiving end parses the data message, it determines the number of bytes of the variable-length field according to the value of the variable-length format field; then, according to the number of bytes of the variable-length field, from the header data based on the preset protocol Determine the value of the variable length field in the variable length field, and determine the length corresponding to the source data according to the value of the variable length field; determine the corresponding time stamp of the source data in the audio and video stream data according to the value of the time stamp field.
在本申请的一种优选实施例中,所述根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据,包括:In a preferred embodiment of the present application, the source data is encapsulated according to the type corresponding to the source data to obtain audio and video stream data, including:
根据所述源数据对应的类型、长度和时间戳,对所述源数据进行封装,得到音视频流数据。According to the type, length and time stamp corresponding to the source data, the source data is encapsulated to obtain audio and video stream data.
在本实施例中,接收端在重新封装音视频数据时,可以根据源数据对应的类型、长度和时间戳,对各类源数据进行封装,得到所需要的音视频流数据。In this embodiment, when the receiving end repackages audio and video data, it can package various source data according to the type, length and time stamp corresponding to the source data to obtain the required audio and video stream data.
实施例三Embodiment Three
图7示意性示出了根据本申请实施例三的音视频数据传输装置的框图,该音视频数据传输装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本申请实施例中各程序模块的功能。Figure 7 schematically shows a block diagram of an audio-video data transmission device according to Embodiment 3 of the present application, the audio-video data transmission device can be divided into one or more program modules, and one or more program modules are stored in a storage medium and executed by one or more processors to complete the embodiments of the present application. The program modules referred to in the embodiments of the present application refer to a series of computer program instruction segments capable of accomplishing specific functions. The following description will specifically introduce the functions of the program modules in the embodiments of the present application.
如图7所示,该音视频数据传输装置700,应用于发送端,所述发送端与接收端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,可以包括如下模块:As shown in Figure 7, the audio and video data transmission device 700 is applied to the sending end, and a connection based on the QUIC protocol is established between the sending end and the receiving end, and the connection based on the QUIC protocol includes a plurality of transmission streams, which may include The following modules:
数据解封装模块710,用于对待传输的音视频流数据进行解封装得到多种类型的源数据;A data decapsulation module 710, configured to decapsulate audio and video stream data to be transmitted to obtain various types of source data;
源数据封装模块720,用于根据每一类所述源数据的类型进行封装,得到支持预设协议的目标数据报文;A source data encapsulation module 720, configured to encapsulate according to the type of each type of source data, to obtain a target data message supporting a preset protocol;
数据报文传输模块730,用于从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端。A data message transmission module 730, configured to determine a target transport stream matching the type of the target data message from the multiple transport streams, and transmit the target data message to the target transport stream through the target transport stream the receiving end.
在本申请的一种优选实施例中,所述源数据封装模块720,包括:In a preferred embodiment of the present application, the source data encapsulation module 720 includes:
第一头部数据封装子模块,用于在所述源数据中封装基于所述预设协议的头部数据;其中,所述基于所述预设协议的头部数据包含类型字段;根据所述源数据对应的类型配置所述类型字段的值,得到支持预设协议的目标数据报文。The first header data encapsulation submodule is configured to encapsulate header data based on the preset protocol in the source data; wherein, the header data based on the preset protocol includes a type field; according to the The type corresponding to the source data configures the value of the type field to obtain a target data packet supporting a preset protocol.
在本申请的一种优选实施例中,所述基于所述预设协议的头部数据还包含可变长度的格式字段,可变长度字段和时间戳字段;In a preferred embodiment of the present application, the header data based on the preset protocol further includes a variable-length format field, a variable-length field and a timestamp field;
所述第一头部数据封装子模块,还包括:The first header data encapsulation submodule also includes:
可变长度字段配置单元,用于确定所述源数据的长度,并根据所述源数据的长度配置所述可变长度的格式字段的值和可变长度字段的值;及,a variable-length field configuration unit, configured to determine the length of the source data, and configure the value of the variable-length format field and the value of the variable-length field according to the length of the source data; and,
时间戳字段配置单元,用于确定所述源数据在所述音视频流数据中对应的时间戳,并根据所述时间戳配置所述时间戳字段的值。A timestamp field configuration unit, configured to determine a timestamp corresponding to the source data in the audio and video stream data, and configure a value of the timestamp field according to the timestamp.
在本申请的一种优选实施例中,所述可变长度的格式字段和类型字段的字节长度之和为一个字节,所述时间戳的字节长度为四个字节,所述可变长度的格式字段用于指示所述可变长度字段对应的字节数。In a preferred embodiment of the present application, the sum of the byte lengths of the variable-length format field and the type field is one byte, the byte length of the timestamp is four bytes, and the variable-length The variable-length format field is used to indicate the number of bytes corresponding to the variable-length field.
在本申请的一种优选实施例中,所述可变长度字段配置单元,包括:In a preferred embodiment of the present application, the variable length field configuration unit includes:
可变长度字段的字节数确定子单元,用于根据所述源数据的长度配置所述可变长度字段的值,并根据所述可变长度字段的值确定所述可变长度字段对应的字节数;The byte number determination subunit of the variable-length field is configured to configure the value of the variable-length field according to the length of the source data, and determine the corresponding variable-length field according to the value of the variable-length field. number of bytes;
可变长度的格式字段配置子单元,用于根据所述可变长度字段对应的字节数配置所述可变长度的格式字段的值。The variable-length format field configuration subunit is configured to configure the value of the variable-length format field according to the number of bytes corresponding to the variable-length field.
在本申请的一种优选实施例中,所述源数据封装模块720,还包括:In a preferred embodiment of the present application, the source data encapsulation module 720 further includes:
第二头部数据封装子模块,用于在所述源数据中封装基于UDP协议的头部数据和基于QUIC协议的头部数据。The second header data encapsulation submodule is used to encapsulate the header data based on UDP protocol and the header data based on QUIC protocol in the source data.
在本申请的一种优选实施例中,所述源数据的类型包含元数据类型、视频帧类型和音频帧类型。In a preferred embodiment of the present application, the type of source data includes metadata type, video frame type and audio frame type.
在本申请的一种优选实施例中,所述多个传输流之间相互独立,每一个的传输流用于传输一种类型的数据报文。In a preferred embodiment of the present application, the multiple transport streams are independent of each other, and each transport stream is used to transmit a type of data packet.
实施例四Embodiment Four
图8示意性示出了根据本申请实施例四的音视频数据传输装置的框图,该音视频数据传输装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本申请实施例中各程序模块的功能。Figure 8 schematically shows a block diagram of an audio-video data transmission device according to
如图8所示,该音视频数据传输装置800,应用于接收端,所述接收端与发送端之间建立基于QUIC协议的连接,所述基于QUIC协议的连接包含多个传输流,可以包括如下模块:As shown in Figure 8, the audio and video data transmission device 800 is applied to the receiving end, and a connection based on the QUIC protocol is established between the receiving end and the sending end, and the connection based on the QUIC protocol includes a plurality of transmission streams, which may include The following modules:
数据报文接收模块810,用于通过所述多个传输流接收所述发送端传输的目标数据报文;A data message receiving module 810, configured to receive the target data message transmitted by the sender through the multiple transmission streams;
数据报文解析模块820,用于解析所述目标数据报文得到源数据和基于预设协议的头部数据;A data packet parsing module 820, configured to parse the target data packet to obtain source data and header data based on a preset protocol;
数据类型确定模块830,用于根据所述基于预设协议的头部数据,确定所述源数据对应的类型;A data type determination module 830, configured to determine the type corresponding to the source data according to the header data based on the preset protocol;
数据封装模块840,用于根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据。The data encapsulation module 840 is configured to encapsulate the source data according to the type corresponding to the source data to obtain audio and video stream data.
在本申请的一种优选实施例中,所述基于预设协议的头部数据中包含类型字段;In a preferred embodiment of the present application, the header data based on the preset protocol includes a type field;
所述数据类型确定模块830,包括:The data type determining module 830 includes:
类型确定子模块,用于根据所述类型字段的值,确定所述源数据对应的类型。The type determination submodule is configured to determine the type corresponding to the source data according to the value of the type field.
在本申请的一种优选实施例中,所述基于预设协议的头部数据中还包含可变长度的格式字段,可变长度字段,和时间戳字段;In a preferred embodiment of the present application, the header data based on the preset protocol further includes a variable-length format field, a variable-length field, and a timestamp field;
所述数据报文解析模块820,还包括:The data message parsing module 820 also includes:
可变长度字段的字节数确定子模块,用于根据所述可变长度的格式字段的值确定所述可变长度字段的字节数;A submodule for determining the number of bytes of the variable-length field is used to determine the number of bytes of the variable-length field according to the value of the variable-length format field;
数据长度确定子模块,用于根据所述可变长度字段的字节数,从所述基于预设协议的头部数据中确定所述可变长度字段的值,并根据所述可变长度字段的值,确定所述源数据对应的长度;A data length determination submodule, configured to determine the value of the variable-length field from the header data based on the preset protocol according to the byte number of the variable-length field, and determine the value of the variable-length field according to the number of bytes of the variable-length field value to determine the corresponding length of the source data;
时间戳确定子模块,用于根据所述时间戳字段的值,确定所述源数据在所述音视频流数据中对应的时间戳。The timestamp determination submodule is configured to determine the corresponding timestamp of the source data in the audio and video stream data according to the value of the timestamp field.
在本申请的一种优选实施例中,所述数据封装模块840,包括:In a preferred embodiment of the present application, the data encapsulation module 840 includes:
数据封装子模块,用于根据所述源数据对应的类型、长度和时间戳,对所述源数据进行封装,得到音视频流数据。The data encapsulation sub-module is used for encapsulating the source data according to the type, length and time stamp corresponding to the source data to obtain audio and video stream data.
实施例五Embodiment five
图9示意性示出了根据本申请实施例五的音视频数据传输系统的框图,该音视频数据传输装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本申请实施例中各程序模块的功能。Figure 9 schematically shows a block diagram of an audio-video data transmission system according to Embodiment 5 of the present application, the audio-video data transmission device can be divided into one or more program modules, and one or more program modules are stored in a storage medium and executed by one or more processors to complete the embodiments of the present application. The program modules referred to in the embodiments of the present application refer to a series of computer program instruction segments capable of accomplishing specific functions. The following description will specifically introduce the functions of the program modules in the embodiments of the present application.
如图9所示,该音视频数据传输系统900包括发送端910和接收端920,其中,As shown in Figure 9, the audio and video data transmission system 900 includes a sending end 910 and a receiving end 920, wherein,
所述发送端910用于,获取待传输的音视频流数据;对所述音视频流数据进行解封装得到多种类型的源数据;根据每一类所述源数据的类型对所述源数据进行封装,得到支持预设协议的目标数据报文;从所述多个传输流中确定与所述目标数据报文的类型匹配的目标传输流,并通过所述目标传输流将所述目标数据报文传输至所述接收端;The sending end 910 is used to obtain audio and video stream data to be transmitted; decapsulate the audio and video stream data to obtain various types of source data; Encapsulate to obtain a target data message supporting a preset protocol; determine a target transport stream matching the type of the target data message from the multiple transport streams, and transmit the target data message through the target transport stream The message is transmitted to the receiving end;
所述接收端920用于,通过所述多个传输流接收所述发送端传输的目标数据报文;解析所述目标数据报文得到源数据和基于预设协议的头部数据;根据所述基于预设协议的头部数据,确定所述源数据对应的类型;根据所述源数据对应的类型对所述源数据进行封装,得到音视频流数据。The receiving end 920 is configured to receive the target data message transmitted by the sending end through the multiple transport streams; parse the target data message to obtain source data and header data based on a preset protocol; according to the Based on the header data of the preset protocol, the type corresponding to the source data is determined; and the source data is encapsulated according to the type corresponding to the source data to obtain audio and video stream data.
实施例六Embodiment six
图10示意性示出了根据本申请实施例六的适于实现音视频数据传输方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括FEN独立的服务器,或者多个服务器所组成的服务器集群)等。如图10所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:FIG. 10 schematically shows a schematic diagram of a hardware architecture of a
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如音视频数据传输方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。The memory 10010 includes at least one type of computer-readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 10010 may be an internal storage module of the
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。The processor 10020 may be a central processing unit (Central Processing Unit, CPU for short), a controller, a microcontroller, a microprocessor, or other data processing chips in some embodiments. The processor 10020 is generally used to control the overall operation of the
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。The network interface 10030 may include a wireless network interface or a wired network interface, and the network interface 10030 is generally used to establish a communication link between the
需要指出的是,图10仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。It should be noted that FIG. 10 only shows a computer device having components 10010-10030, but it should be understood that implementing all of the illustrated components is not required and that more or fewer components may instead be implemented.
在本实施例中,存储于存储器10010中的音视频数据传输方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。In this embodiment, the audio and video data transmission method stored in the memory 10010 can also be divided into one or more program modules, and executed by one or more processors (the processor 10020 in this embodiment) to Complete the embodiment of this application.
实施例七Embodiment seven
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的音视频数据传输方法的步骤。The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method for transmitting audio and video data in the embodiment are implemented.
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中音视频数据传输方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。In this embodiment, the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory ( ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk, Optical Disk, etc. In some embodiments, the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or a memory of the computer device. In some other embodiments, the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, referred to as SMC), a secure digital ( Secure Digital (referred to as SD) card, flash memory card (Flash Card) and so on. Of course, the computer-readable storage medium may also include both the internal storage unit of the computer device and its external storage device. In this embodiment, the computer-readable storage medium is usually used to store the operating system and various application software installed on the computer device, such as the program code of the audio and video data transmission method in the embodiment. In addition, the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present application can be implemented by general-purpose computing devices, and they can be concentrated on a single computing device, or distributed among multiple computing devices. Optionally, they may be implemented in program code executable by a computing device, thereby, they may be stored in a storage device to be executed by a computing device, and in some cases, may be implemented in a code different from that described herein The steps shown or described are executed in sequence, or they are fabricated into individual integrated circuit modules, or multiple modules or steps among them are fabricated into a single integrated circuit module for implementation. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structures or equivalent process transformations made by using the description of the application and the accompanying drawings are directly or indirectly used in other related technical fields. , are all included in the patent protection scope of the present application in the same way.
Claims (15)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310261367.8A CN116233563A (en) | 2023-03-17 | 2023-03-17 | Method and system for transmitting audio and video data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310261367.8A CN116233563A (en) | 2023-03-17 | 2023-03-17 | Method and system for transmitting audio and video data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116233563A true CN116233563A (en) | 2023-06-06 |
Family
ID=86591104
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310261367.8A Pending CN116233563A (en) | 2023-03-17 | 2023-03-17 | Method and system for transmitting audio and video data |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116233563A (en) |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101527724A (en) * | 2008-03-03 | 2009-09-09 | 汤姆森许可贸易公司 | Data transport container for transferring different data in internet protocol network |
| CN109218186A (en) * | 2017-07-05 | 2019-01-15 | 华为技术有限公司 | A kind of multi-path data method for transmission processing and the network equipment |
| US20190394527A1 (en) * | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Machine learning based packet service classification methods for experience-centric cellular scheduling |
| CN112153022A (en) * | 2020-09-11 | 2020-12-29 | 上海七牛信息技术有限公司 | RTMP rapid publishing and subscribing method |
| US20210409447A1 (en) * | 2020-06-25 | 2021-12-30 | Nokia Solutions And Networks Oy | Multilayer tunneling of protocols over quic |
| CN114157607A (en) * | 2021-12-06 | 2022-03-08 | 上海哔哩哔哩科技有限公司 | Media streaming method and system |
| CN114640724A (en) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | Data transmission method, device and equipment based on RUDP and computer storage medium |
| CN114710568A (en) * | 2022-04-28 | 2022-07-05 | 中移(杭州)信息技术有限公司 | Audio and video data communication method, equipment and storage medium |
| CN115766902A (en) * | 2022-11-14 | 2023-03-07 | 网络通信与安全紫金山实验室 | Method, device, equipment and medium for transmitting non-sensitive data through QUIC |
-
2023
- 2023-03-17 CN CN202310261367.8A patent/CN116233563A/en active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101527724A (en) * | 2008-03-03 | 2009-09-09 | 汤姆森许可贸易公司 | Data transport container for transferring different data in internet protocol network |
| CN109218186A (en) * | 2017-07-05 | 2019-01-15 | 华为技术有限公司 | A kind of multi-path data method for transmission processing and the network equipment |
| US20190394527A1 (en) * | 2018-06-22 | 2019-12-26 | Samsung Electronics Co., Ltd. | Machine learning based packet service classification methods for experience-centric cellular scheduling |
| US20210409447A1 (en) * | 2020-06-25 | 2021-12-30 | Nokia Solutions And Networks Oy | Multilayer tunneling of protocols over quic |
| CN112153022A (en) * | 2020-09-11 | 2020-12-29 | 上海七牛信息技术有限公司 | RTMP rapid publishing and subscribing method |
| CN114640724A (en) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | Data transmission method, device and equipment based on RUDP and computer storage medium |
| CN114157607A (en) * | 2021-12-06 | 2022-03-08 | 上海哔哩哔哩科技有限公司 | Media streaming method and system |
| CN114710568A (en) * | 2022-04-28 | 2022-07-05 | 中移(杭州)信息技术有限公司 | Audio and video data communication method, equipment and storage medium |
| CN115766902A (en) * | 2022-11-14 | 2023-03-07 | 网络通信与安全紫金山实验室 | Method, device, equipment and medium for transmitting non-sensitive data through QUIC |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10911511B2 (en) | Carriage of ISO-BMFF event boxes in an MPEG-2 transport stream | |
| KR100918327B1 (en) | Method and apparatus for generating a header in a communication network | |
| US12489802B2 (en) | Media streaming method and system | |
| CN112953850B (en) | Data transmission method and device, computer readable medium and electronic equipment | |
| US20180131609A1 (en) | Protocol frame transmission method, apparatus, and system, and node device | |
| CN115733898A (en) | Data transmission method and related equipment | |
| CN102088460A (en) | Method, device and system for transmitting streaming media data in restricted networks | |
| CN105577645A (en) | Proxy-based HLS client device and its implementation method | |
| KR102480751B1 (en) | Method and apparatus for signaling and operation of low delay consumption of media data in mmt | |
| CN116527787A (en) | Audio and video data transmission method and system | |
| CN116233563A (en) | Method and system for transmitting audio and video data | |
| CN115086714B (en) | Data processing method, device, equipment and storage medium | |
| CN114531606B (en) | Method, system and equipment for generating packaged video data to be transmitted and transmitting video | |
| JP6970124B2 (en) | Methods for sending and receiving MMTP packets and their devices | |
| WO2017008401A1 (en) | Protocol frame transmission method and device, node equipment and system | |
| EP4651473A1 (en) | Data transmission method and related apparatus | |
| CN113746755B (en) | Data processing method, device, equipment and computer readable storage medium | |
| CN117641066A (en) | Live broadcast source returning method and system | |
| CN116527202A (en) | Method and system for data transmission | |
| CN117978847A (en) | Cloud game data transmission method and device, intelligent equipment and storage medium | |
| WO2025060986A1 (en) | Downlink transmission method for application metadata, related device, and communication system | |
| CN117640555A (en) | QUIC message transmission method and related equipment | |
| CN121396605A (en) | Long connection data transmission method and device, equipment and medium thereof | |
| HK40046429A (en) | Data transmission method, device, computer readable medium and electronic equipment | |
| HK40046429B (en) | Data transmission method, device, computer readable medium and electronic equipment |
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 |

