CN111147606B - Data transmission method, device, terminal and storage medium - Google Patents

Data transmission method, device, terminal and storage medium Download PDF

Info

Publication number
CN111147606B
CN111147606B CN202010010098.4A CN202010010098A CN111147606B CN 111147606 B CN111147606 B CN 111147606B CN 202010010098 A CN202010010098 A CN 202010010098A CN 111147606 B CN111147606 B CN 111147606B
Authority
CN
China
Prior art keywords
data
data channel
channel
transmitted
type
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
Application number
CN202010010098.4A
Other languages
Chinese (zh)
Other versions
CN111147606A (en
Inventor
徐斌
卢俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010010098.4A priority Critical patent/CN111147606B/en
Publication of CN111147606A publication Critical patent/CN111147606A/en
Application granted granted Critical
Publication of CN111147606B publication Critical patent/CN111147606B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the disclosure provides a data transmission method, a data transmission device, a terminal and a storage medium. The method comprises the following steps: acquiring video data to be transmitted; determining at least one data channel of a first data channel, a second data channel and a third data channel, wherein the first data channel corresponds to first type data in video data to be transmitted, the second data channel corresponds to second type data in the video data to be transmitted, and the third data channel corresponds to third type data in the video data to be transmitted; and transmitting data corresponding to the at least one data channel through the at least one data channel. In the method disclosed by the disclosure, data are transmitted in a grading manner, different types of data are transmitted through different data channels, and at least one data channel is determined in all the data channels to transmit corresponding data, so that the method can be used for optimizing the transmission of the data, and further the weak network resistance and the quality of service (QoS) of data transmission are improved.

Description

Data transmission method, device, terminal and storage medium
Technical Field
The embodiment of the disclosure relates to the technical field of computers, and more particularly, to a method, an apparatus, a terminal and a storage medium for data transmission.
Background
In conventional data transmission (e.g., real-time communication data transmission), the transmitted data is not classified, so that in the case of a weak network or a network is poor, packet loss, delay, jitter, and the like occur, and the weak network resistance is poor.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In order to solve the above problems, the present disclosure provides a method, an apparatus, a terminal, and a storage medium for data transmission, where data is transmitted in a hierarchical manner, so that data with different degrees of importance is transmitted through different data channels, thereby improving the capability of resisting a weak network and further improving the quality of service (QoS).
According to an embodiment of the present disclosure, there is provided a method of data transmission, including: acquiring video data to be transmitted; determining at least one data channel of a first data channel, a second data channel and a third data channel, wherein the first data channel corresponds to first type data in the video data to be transmitted, the second data channel corresponds to second type data in the video data to be transmitted, and the third data channel corresponds to third type data in the video data to be transmitted; and transmitting data corresponding to the at least one data channel through the at least one data channel.
According to another embodiment of the present disclosure, there is provided a data transmission apparatus including: the data acquisition module is configured to acquire video data to be transmitted; a data channel determination module configured to determine at least one data channel of a first data channel, a second data channel, and a third data channel, where the first data channel corresponds to a first type of data in the video data to be transmitted, the second data channel corresponds to a second type of data in the video data to be transmitted, and the third data channel corresponds to a third type of data in the video data to be transmitted; and the data transmission module is configured to transmit data corresponding to the at least one data channel through the at least one data channel.
According to another embodiment of the present disclosure, there is provided a terminal including: at least one memory and at least one processor; the memory is used for storing program codes, and the processor is used for calling the program codes stored in the memory to execute the data transmission method.
According to another embodiment of the present disclosure, there is provided a computer storage medium storing program code for executing the above-described data transmission method.
In the data transmission method disclosed by the disclosure, data are transmitted in a grading manner, different types of data are transmitted through different data channels, and at least one data channel is determined in all the data channels to transmit corresponding data, so that the data transmission can be optimized, and the weak network resistance and the quality of service (QoS) are improved.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and features are not necessarily drawn to scale.
Fig. 1 shows a schematic flow diagram of a method of data transmission of an embodiment of the present disclosure.
Fig. 2 shows a schematic diagram of a data transmission process of an embodiment of the present disclosure.
Fig. 3 shows a schematic diagram of a data transmission device of an embodiment of the present disclosure.
FIG. 4 illustrates a schematic structural diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
In current data transmission (for example, real-time communication data transmission), classification of transmitted data is not performed, so that packet loss, delay, jitter and the like occur under the condition of a weak network or a poor network, and the weak network resistance is poor.
In the present disclosure, video data in real-time communication is taken as an example for explanation. However, it should be understood that the data transmitted in the present disclosure is not limited to video data, but may be any other suitable data. In addition, the terminal for transmitting data in the present disclosure may be a server of a video conference. It should be understood that the terminal in the present disclosure may include, but is not limited to, mobile terminal devices such as a mobile phone, a smart phone, a notebook computer, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a navigation device, a vehicle-mounted terminal device, a vehicle-mounted display terminal, a vehicle-mounted electronic rearview mirror, etc., and terminal devices such as a digital TV, a desktop computer, etc.
Fig. 1 provides a flow chart of a method of data transmission of an embodiment of the present disclosure. The method of the present disclosure includes step S101, obtaining video data to be transmitted. In some embodiments, for example, in a video conference, the server may obtain video data. It should be understood that the data generated by the video conference described above is merely exemplary, and the disclosure is not limited thereto.
The method of the present disclosure further includes step S102 of determining at least one of the first data channel, the second data channel, and the third data channel. In some embodiments, after the video data to be transmitted is obtained, a data channel for transmitting the data is determined. In some embodiments, the first data channel corresponds to a first type of data in the video data to be transmitted, the second data channel corresponds to a second type of data in the video data to be transmitted, and the third data channel corresponds to a third type of data in the video data to be transmitted. In some embodiments, each frame of the acquired video data stream itself has a type attribute. For example, in some embodiments, the first type of data is key frame data, the second type of data is long term reference frame (LTR) data, and the third type of data is normal reference frame data. In some embodiments, the key frame data refers to I-frame or intra-frame data, the long-term reference frame (LTR) data includes partial P-frames or predicted frames, and the normal reference frames include most P-frames and B-frames (bi-directionally predicted frames). In some embodiments, the I-frame is a key frame and is the most important data, other P-frames and B-frames are substantially referenced to the I-frame, and some P-frames and B-frames are decoded with reference to a long-term reference frame. Therefore, for the transmitted video data, the I frame is the key frame and is the most important data, and the long-term reference frame is the more important data, which can become the basis for the reference of the common reference frame. It should be appreciated that the type attributes of these data are merely exemplary, and other suitable classifications may be made or other suitable types of data may be included.
The method of the present disclosure further includes step S103 of transmitting data corresponding to at least one data channel through at least one data channel. In some embodiments, after determining at least one data channel for data transmission, the corresponding data is transmitted through the at least one data channel without requiring other data channels than the at least one data channel to transmit their corresponding data.
Therefore, by classifying the data, the data with different importance degrees are transmitted through different data channels, so that the priority of the transmitted data can be selected, the data transmission is optimized conveniently, and the security of the key data and the weak network resistance of the data transmission are improved.
By carrying out hierarchical transmission on the data, the determined at least one data channel transmits the corresponding data, which is beneficial to improving the weak network resistance and further improving the quality of service (QoS).
As shown in fig. 2, in some embodiments, after data (e.g., video data) is encoded, the data is transmitted through the first data channel, the second data channel, and the third data channel, and then received by the corresponding first receiving channel, second receiving channel, and third receiving channel of the receiving end, and then the received data is decoded, for example, by a decoder. In some embodiments, the receiving end may be various terminals as described above. In some embodiments, the received data is reordered in time sequence by a buffering module before decoding the data at the receiving end. In some embodiments, the data may include key frame data, long-term reference frame data, and normal reference frame data, and the key frame data, the long-term reference frame data, and the normal reference frame data are transmitted through the first data channel, the second data channel, and the third data channel, respectively. That is, the plurality of data channels correspond to respective multiple types of data.
In some embodiments, the first data channel employs a Transmission Control Protocol (TCP) or a fast reliable network transmission protocol (KCP). The reliability of transmission in the TCP and KCP modes is high, data can not be lost basically, and the defect is that delay can be caused certainly. The first data channel transmits the most important key frame data, and a reliable mode is selected for transmission, so that the safety of the transmitted data is ensured.
In some embodiments, the second data channel employs fast user datagram protocol (QUIC) or Stream Control Transmission Protocol (SCTP). The reliability of the QUIC and SCTP modes is lower than that of the TCP mode, but the transmission speed is relatively higher, and the data transmission efficiency is favorably improved. In addition, in some embodiments, the data to be transmitted further includes Forward Error Correction (FEC) data, and the FEC data may prevent some packet loss situations, for example, the same data packet is sent twice, and after one of the data packets is lost, there is also one data packet, so that a problem caused by the loss of the data packet is avoided. In some embodiments, the FEC data is transmitted over the second data channel.
In some embodiments, the third data channel employs User Datagram Protocol (UDP). Although the reliability of the UDP is poor and data loss may occur, the real-time performance of the UDP is good, and the data transmission efficiency can be improved. In some embodiments, the data to be transmitted further includes a retransmission packet, and when the receiving end feeds back that the data packet is lost, the retransmission packet may exist. In some embodiments, the retransmission packet may be transmitted over the third data channel.
In some embodiments, according to the importance of data, the most important data is reliably transmitted, the less important data is partially reliably transmitted, and the less important data is unreliability transmitted, so that the weak network resistance is improved, and the QoS is improved. A large amount of data are transmitted in a UDP mode, and the data transmission efficiency is improved. In addition, key data are transmitted through the TCP, and data security and weak network resistance are improved.
In some embodiments, the at least one data channel is determined based on a network status. In some embodiments, the network status includes network bandwidth. In some embodiments, for a case where the network bandwidth is greater than or equal to the first threshold, where the network bandwidth is sufficient to transmit all of the data, it is determined that the at least one channel includes the first data channel, the second data channel, and the third data channel. That is, each of the three data channels transmits its corresponding data.
In some embodiments, for a case where the network bandwidth is greater than or equal to the second threshold and less than the first threshold, it is determined that the at least one channel includes the first data channel and the second data channel. In some embodiments, sometimes the state of the network is poor and not enough to transmit all the data in the first data channel, the second data channel and the third data channel, and at this time, the data in the third data channel may be discarded from transmission and only the data in the first data channel and the second data channel may be transmitted. For example, in some embodiments, upon receiving data to be transmitted, the amount of data transmitted over each channel may be detected. In addition, the network bandwidth can be detected in real time. When it is detected that the bandwidth is insufficient to transmit all the data in the first data channel, the second data channel, and the third data channel, the normal frame data in the third data channel may be discarded, and the retransmission packet may not be transmitted, that is, the third data channel is discarded. In this way, under weak networks, transmission of important data (e.g., I-frames and long-term reference frames) is ensured, and the receiving end can still decode and play after receiving the data. By the method, the transmitted data volume is greatly reduced, the safety of important data is ensured, and the weak network resistance is improved.
In some embodiments, the at least one channel is determined to comprise a first data channel for the case where the network bandwidth is less than a second threshold. In some embodiments, when the network status is insufficient to transmit the data in the first data channel and the second data channel, the data in the third data channel and the second data channel may be discarded from transmission, and only the data in the first data channel may be transmitted. That is, when the detected bandwidth and the data in the second data channel cannot be normally transmitted, the third data channel and the second data channel may be discarded, for example, the long-term reference frame and the FEC data in the second data channel are also discarded. In this way, the transmission of the most important data (for example, I frame) is ensured, the transmitted data volume is greatly reduced, the safety of the important data is ensured, and the weak network resistance is improved.
In some embodiments, the first threshold and the second threshold are determined from the video data to be transmitted. In the above embodiment, the attribute of the video data to be transmitted may affect the first threshold and/or the second threshold, and the attribute may include resolution, code rate, frame rate, and/or size, etc. For example, for a 720P video with 24 frames per second, it can be roughly calculated that it needs a bandwidth of 160-. In addition, according to the above calculations, the bandwidth requirements of the three channels are roughly 1: 2: taking 160kbps as an example, when the network bandwidth is greater than or equal to 160kbps (a first threshold), the three data channels all transmit corresponding data; when the network bandwidth is less than 160kbps and greater than or equal to 120kbps (second threshold), the first data channel and the second data channel transmit their corresponding data, and the third data channel does not transmit the data corresponding to the third data channel; when the network bandwidth is less than 120kbps, only the first data channel transmits the corresponding data, and the second data channel and the third data channel do not transmit their corresponding data.
The embodiment of the present disclosure further provides a data transmission apparatus 300, which includes a data acquisition module 301, a data channel determination module 302, and a data transmission module 303. The data acquisition module 301 is configured to acquire video data to be transmitted. The data channel determining module 302 is configured to determine at least one of a first data channel, a second data channel, and a third data channel, where the first data channel corresponds to a first type of data in the video data to be transmitted, the second data channel corresponds to a second type of data in the video data to be transmitted, and the third data channel corresponds to a third type of data in the video data to be transmitted. The data transmission module 303 is configured to transmit data corresponding to at least one data channel through at least one data channel.
In addition, the present disclosure also provides a terminal, including: at least one memory and at least one processor; the memory is used for storing program codes, and the processor is used for calling the program codes stored in the memory to execute the data transmission method.
In addition, the present disclosure also provides a computer storage medium storing program codes for performing the above-described data transmission method.
In some embodiments, by transmitting data in a hierarchical manner, different data are transmitted through different data channels, so that the priority of the transmitted data can be selected, and the data transmission can be optimized. In addition, according to the importance of the data, the most important data is reliably transmitted, the next important data is partially reliably transmitted, and the less important data is unreliable transmitted, so that the weak network resistance is improved, and the QoS is improved. In addition, a large amount of data are transmitted in a UDP mode, the data transmission efficiency is improved, and the key data are transmitted through TCP, so that the data security and the weak network resistance are improved. In addition, when the network is poor, the data channel for transmitting the non-key frame can be discarded step by step, so that the transmitted data volume is reduced, but the transmission of the key data is ensured, so that the data received by the receiving end can still be decoded and played, and the weak network resistance is further improved.
Referring now to FIG. 4, a block diagram of an electronic device 400 suitable for use in implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 4, the electronic device 400 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 401 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage device 406 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the electronic apparatus 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Generally, the following devices may be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage devices 406 including, for example, magnetic tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device 400 to communicate wirelessly or by wire with other devices to exchange data. While fig. 4 illustrates an electronic device 400 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 406, or may be installed from the ROM 402. The computer program performs the above-described functions defined in the methods of the embodiments of the present disclosure when executed by the processing device 401.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring at least two internet protocol addresses; sending a node evaluation request comprising the at least two internet protocol addresses to node evaluation equipment, wherein the node evaluation equipment selects the internet protocol addresses from the at least two internet protocol addresses and returns the internet protocol addresses; receiving an internet protocol address returned by the node evaluation equipment; wherein the obtained internet protocol address indicates an edge node in the content distribution network.
Alternatively, the computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a node evaluation request comprising at least two internet protocol addresses; selecting an internet protocol address from the at least two internet protocol addresses; returning the selected internet protocol address; wherein the received internet protocol address indicates an edge node in the content distribution network.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first retrieving unit may also be described as a "unit for retrieving at least two internet protocol addresses".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, there is provided a method of data transmission, including: acquiring video data to be transmitted; determining at least one data channel of a first data channel, a second data channel and a third data channel, wherein the first data channel corresponds to first type data in the video data to be transmitted, the second data channel corresponds to second type data in the video data to be transmitted, and the third data channel corresponds to third type data in the video data to be transmitted; and transmitting data corresponding to the at least one data channel through the at least one data channel.
According to one or more embodiments of the present disclosure, the first data channel employs a Transmission Control Protocol (TCP) or a fast reliable network transmission protocol (KCP).
According to one or more embodiments of the present disclosure, the second data channel employs a fast user datagram protocol (QUIC) or a Stream Control Transmission Protocol (SCTP).
In accordance with one or more embodiments of the present disclosure, the third data channel employs a User Datagram Protocol (UDP).
According to one or more embodiments of the present disclosure, the at least one data channel is determined according to a network status.
According to one or more embodiments of the present disclosure, the network status includes a network bandwidth, and for a case that the network bandwidth is greater than or equal to a first threshold, it is determined that the at least one channel includes the first data channel, the second data channel, and the third data channel; for a case that the network bandwidth is greater than or equal to a second threshold and less than the first threshold, determining that the at least one channel includes the first data channel and the second data channel; and/or determining that the at least one channel comprises the first data channel for a case that the network bandwidth is less than the second threshold.
According to one or more embodiments of the present disclosure, the first threshold and the second threshold are determined according to the video data to be transmitted.
According to one or more embodiments of the present disclosure, there is also provided a data transmission apparatus including: the data acquisition module is configured to acquire video data to be transmitted; a data channel determination module configured to determine at least one data channel of a first data channel, a second data channel, and a third data channel, where the first data channel corresponds to a first type of data in the video data to be transmitted, the second data channel corresponds to a second type of data in the video data to be transmitted, and the third data channel corresponds to a third type of data in the video data to be transmitted; and the data transmission module is configured to transmit data corresponding to the at least one data channel through the at least one data channel.
According to one or more embodiments of the present disclosure, there is provided a terminal including: at least one memory and at least one processor; the memory is used for storing program codes, and the processor is used for calling the program codes stored in the memory to execute the data transmission method.
According to one or more embodiments of the present disclosure, there is provided a computer storage medium storing program code for performing the above-described data transmission method.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (8)

1. A method of data transmission, comprising:
acquiring video data to be transmitted;
determining at least one data channel of a first data channel, a second data channel and a third data channel, wherein the first data channel corresponds to first type data in the video data to be transmitted, the second data channel corresponds to second type data in the video data to be transmitted, and the third data channel corresponds to third type data in the video data to be transmitted, wherein the first type data is key frame data, the second type data is long-term reference frame data, and the third type data is common reference frame data;
transmitting data corresponding to the at least one data channel through the at least one data channel;
wherein the determining at least one of the first data channel, the second data channel, and the third data channel comprises determining the at least one data channel according to a network status, the network status comprising a network bandwidth,
for a case that the network bandwidth is greater than or equal to a first threshold, determining that the at least one channel includes the first data channel, the second data channel, and the third data channel;
for a case that the network bandwidth is greater than or equal to a second threshold and less than the first threshold, determining that the at least one channel includes the first data channel and the second data channel; and/or
Determining that the at least one channel includes the first data channel for a case that the network bandwidth is less than the second threshold.
2. The method of claim 1, wherein the first data channel employs a Transmission Control Protocol (TCP) or a fast reliable network transmission protocol (KCP).
3. The method of claim 1, wherein the second data channel employs fast user datagram protocol (QUIC) or Stream Control Transmission Protocol (SCTP).
4. The method of claim 1, wherein the third data channel employs a User Datagram Protocol (UDP).
5. The method of claim 1, wherein the first threshold and the second threshold are determined according to the video data to be transmitted.
6. A data transmission apparatus, comprising:
the data acquisition module is configured to acquire video data to be transmitted;
a data channel determination module configured to determine at least one data channel of a first data channel, a second data channel, and a third data channel, where the first data channel corresponds to a first type of data in the video data to be transmitted, the second data channel corresponds to a second type of data in the video data to be transmitted, and the third data channel corresponds to a third type of data in the video data to be transmitted, where the first type of data is key frame data, the second type of data is long-term reference frame data, and the third type of data is general reference frame data;
the data transmission module is configured to transmit data corresponding to the at least one data channel through the at least one data channel;
wherein the determining at least one of the first data channel, the second data channel, and the third data channel comprises determining the at least one data channel according to a network status, the network status comprising a network bandwidth,
for a case that the network bandwidth is greater than or equal to a first threshold, determining that the at least one channel includes the first data channel, the second data channel, and the third data channel;
for a case that the network bandwidth is greater than or equal to a second threshold and less than the first threshold, determining that the at least one channel includes the first data channel and the second data channel; and/or
Determining that the at least one channel includes the first data channel for a case that the network bandwidth is less than the second threshold.
7. A terminal, characterized in that the terminal comprises:
at least one memory and at least one processor;
wherein the memory is configured to store program code and the processor is configured to invoke the program code stored by the memory to perform the method of any of claims 1 to 5.
8. A computer storage medium characterized in that the computer storage medium stores program code for executing the method of any one of claims 1 to 5.
CN202010010098.4A 2020-01-06 2020-01-06 Data transmission method, device, terminal and storage medium Active CN111147606B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010010098.4A CN111147606B (en) 2020-01-06 2020-01-06 Data transmission method, device, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010010098.4A CN111147606B (en) 2020-01-06 2020-01-06 Data transmission method, device, terminal and storage medium

Publications (2)

Publication Number Publication Date
CN111147606A CN111147606A (en) 2020-05-12
CN111147606B true CN111147606B (en) 2021-07-23

Family

ID=70523753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010010098.4A Active CN111147606B (en) 2020-01-06 2020-01-06 Data transmission method, device, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN111147606B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885093B (en) * 2020-09-27 2021-03-26 腾讯科技(深圳)有限公司 Event request transmission method and device, storage medium and electronic equipment
CN115150367A (en) * 2021-03-31 2022-10-04 华为技术有限公司 Data layered transmission method, device and system
CN113225262B (en) * 2021-04-26 2023-03-24 中南大学湘雅三医院 Bone injury data grading transmission system, method, equipment and storage medium
CN113556634B (en) * 2021-08-03 2022-06-21 广东九博科技股份有限公司 Access method and terminal device of multi-service platform supporting SDH and PTN
CN113676404A (en) * 2021-08-23 2021-11-19 北京字节跳动网络技术有限公司 Data transmission method, device, apparatus, storage medium, and program
CN113890712A (en) * 2021-10-14 2022-01-04 微位(深圳)网络科技有限公司 Data transmission method and device, electronic equipment and readable storage medium
CN116955105A (en) * 2023-06-30 2023-10-27 摩尔线程智能科技(北京)有限责任公司 Cross-chip transmission performance analysis method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697357A (en) * 2004-05-10 2005-11-16 西门子公司 Method of transmission of data
CN107317821A (en) * 2017-07-19 2017-11-03 苏睿 A kind of transmission method of view data, apparatus and system
CN107949069A (en) * 2017-12-30 2018-04-20 广东欧珀移动通信有限公司 terminal wireless data transmission method, device, terminal and storage medium
CN108924058A (en) * 2018-08-30 2018-11-30 中国联合网络通信集团有限公司 Service traffics transmission method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140111859A (en) * 2013-03-12 2014-09-22 삼성전자주식회사 Method and device for sharing content
US10609699B2 (en) * 2017-03-16 2020-03-31 Kt Corporation Method for monitoring, transmitting, and receiving downlink pre-emption indication information in new radio networks and apparatus thereof
CN107094122A (en) * 2017-05-18 2017-08-25 武汉烽火技术服务有限公司 A kind of method and system of the adjust automatically network bandwidth

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697357A (en) * 2004-05-10 2005-11-16 西门子公司 Method of transmission of data
CN107317821A (en) * 2017-07-19 2017-11-03 苏睿 A kind of transmission method of view data, apparatus and system
CN107949069A (en) * 2017-12-30 2018-04-20 广东欧珀移动通信有限公司 terminal wireless data transmission method, device, terminal and storage medium
CN108924058A (en) * 2018-08-30 2018-11-30 中国联合网络通信集团有限公司 Service traffics transmission method and device

Also Published As

Publication number Publication date
CN111147606A (en) 2020-05-12

Similar Documents

Publication Publication Date Title
CN111147606B (en) Data transmission method, device, terminal and storage medium
CN113992967B (en) Screen projection data transmission method and device, electronic equipment and storage medium
CN112135169B (en) Media content loading method, device, equipment and medium
CN112312137A (en) Video transmission method and device, electronic equipment and storage medium
CN112312229A (en) Video transmission method and device, electronic equipment and storage medium
CN114039703B (en) Data transmission method, device, equipment and medium
CN110545472B (en) Video data processing method and device, electronic equipment and computer readable medium
CN112199174A (en) Message sending control method and device, electronic equipment and computer readable storage medium
CN112954354A (en) Video transcoding method, device, equipment and medium
CN115484240A (en) Decoding method, decoding device, data transmission method, data transmission device, terminal and server
CN113542856B (en) Method, device, equipment and computer readable medium for reverse playing of online video
CN113259729B (en) Data switching method, server, system and storage medium
CN113794942A (en) Method, apparatus, system, device and medium for switching view angle of free view angle video
CN113242446B (en) Video frame caching method, video frame forwarding method, communication server and program product
CN112153322B (en) Data distribution method, device, equipment and storage medium
CN111368557B (en) Video content translation method, device, equipment and computer readable medium
CN113037853A (en) Data processing method, device, equipment and storage medium
CN112887742A (en) Live stream processing method, device, equipment and storage medium
CN112995780B (en) Network state evaluation method, device, equipment and storage medium
CN112653691B (en) Data processing method, device, equipment and storage medium
CN113364672B (en) Method, device, equipment and computer readable medium for determining media gateway information
CN118101553A (en) Data transmission method, device, equipment and storage medium
CN114979762A (en) Video downloading and transmission method, device, terminal equipment, server and medium
CN117857849A (en) Bandwidth allocation method, device, equipment and storage medium
CN114979712A (en) Video playing starting method, device, equipment and storage medium

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