Data stream transmission method and device, computer equipment and medium

By collecting video information on mobile devices, encoding and transmitting it to the server, and adjusting the code rate according to the transmission progress, the problem of low picture fluency in mobile devices when using cloud desktops and cameras is solved, improving the user experience.

CN119893168APending Publication Date: 2025-04-25CHINA TELECOM CLOUD TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411796642.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

When using cloud desktops and cameras on mobile devices, due to the unstable wireless network transmission quality, the picture fluency is low, which affects the user experience.

Method used

By collecting local video information, encoding and transmitting it to the server, obtaining the encoding data transmission processing progress, and adjusting the encoder's code rate according to the progress to improve the smoothness of video transmission.

Benefits of technology

In the case of network fluctuations, the fluency of server reception and decoding is improved, more accurate bit rate control is achieved, the problem of low picture fluency is solved, and the user experience is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119893168A_ABST
    Figure CN119893168A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, and discloses a data stream transmission method and device, computer equipment and a medium, and the method comprises the steps: collecting local video information, coding the video information to obtain coded data, and transmitting the coded data to a server side through a network transmitting module; and obtaining the current coded data transmission processing progress, and adjusting the code rate of the encoder according to the current coded data transmission processing progress. According to the invention, the problem of network fluctuation when the cloud desktop and the camera of the mobile terminal equipment are used in the mobile terminal equipment can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a data stream transmission method, device, computer equipment and medium. Background Art

[0002] With the development of information technology, the demand for mobile office and cloud office based on desktop virtualization technology is gradually increasing. As the data transmission means of desktop virtualization technology, network quality and terminal performance will affect the remote use experience of virtual desktops. Faced with increasingly complex network conditions and uneven hardware performance, how to ensure a good experience of cloud office is a key issue affecting the further promotion of desktop virtualization technology.

[0003] Unlike cloud desktop terminals that use wired networks for data transmission, mobile devices such as mobile phones use wireless networks for data transmission and connection establishment. The transmission quality of wireless networks is inferior to that of wired networks in terms of stability and volatility. Cameras are the most common peripheral devices on mobile phones. Ensuring smooth image transmission in a wireless Internet environment is an important part of improving the user experience of mobile cloud desktops.

[0004] That is to say, in the prior art, when using the cloud desktop and the mobile device camera in the mobile device, there is network fluctuation, which leads to the problem of low picture fluency. Summary of the invention

[0005] In view of this, the present invention provides a data stream transmission, device, computer equipment and medium to solve the problem of low picture fluency.

[0006] In a first aspect, the present invention provides a data stream transmission method, the method comprising:

[0007] Collect local video information, encode the video information to obtain encoded data, and transmit the encoded data to the server through the network sending module;

[0008] The current progress of the encoded data transmission processing is obtained, and the bit rate of the encoder encoding is adjusted according to the current progress of the encoded data transmission processing.

[0009] The data stream transmission method provided in the present embodiment obtains the encoded data after encoding the video information, and transmits the encoded data to the encoding data transmission processing progress of the server through the network sending module, and adjusts the encoding bit rate of the encoder according to the encoding data transmission processing progress. Therefore, in the case of network fluctuations when using the cloud desktop and the mobile device camera, the fluency of the server receiving the encoded data and playing it after decoding is improved, and more precise bit rate control is achieved, which solves the problem of low picture fluency in video information transmission, thereby improving the user experience.

[0010] In an optional implementation, the current encoded data transmission processing progress includes: the amount of data to be processed, and the step of adjusting the bit rate of the encoder encoding according to the current encoded data transmission processing progress includes:

[0011] The bit rate of the encoder is adjusted according to the amount of data to be processed, and the amount of data to be processed and the bit rate are negatively correlated.

[0012] In an optional implementation, the amount of data to be processed and the bit rate are negatively correlated.

[0013] In an optional implementation, the amount of data to be processed includes the amount of accumulated data in a data transmission queue of a network sending module and / or the amount of accumulated data in an encoding pipeline of an encoder.

[0014] In an optional implementation, the step of adjusting the bit rate of the encoder according to the amount of data to be processed includes:

[0015] Calculate the accumulation trend results based on the amount of data to be processed;

[0016] The encoding rate of the encoder is adjusted according to the accumulation trend result and the amount of data to be processed.

[0017] In an optional implementation, the step of calculating the accumulation trend result according to the amount of data to be processed includes:

[0018] Collect the amount of data to be processed at preset time intervals;

[0019] Detect the number of times that the amount of data to be processed for the nth time within a preset time period is greater than the amount of data to be processed for the n-1th time, and increase the accumulation trend value according to the number to obtain an accumulation trend result, wherein n>1.

[0020] In an optional implementation, the step of adjusting the bit rate of encoding performed by the encoder according to the accumulation trend result and the amount of data to be processed includes:

[0021] Obtaining an adjustment coefficient table, wherein the adjustment coefficient table includes a preset accumulation trend condition and a preset to-be-processed quantity condition, and adjustment coefficients corresponding to the preset accumulation trend condition and the preset to-be-processed quantity condition;

[0022] In the adjustment coefficient table, confirm that the accumulation trend result meets the preset accumulation trend condition and the amount of data to be processed meets the target adjustment coefficient of the preset amount to be processed condition;

[0023] The bit rate encoded by the encoder is adjusted according to the target adjustment coefficient.

[0024] In an optional implementation, the encoded data is decoded by the server and then transmitted to a virtual camera corresponding to the server.

[0025] In a second aspect, the present invention provides a data stream transmission device, the device comprising:

[0026] The encoding module is used to collect local video information, encode the video information to obtain encoded data, and transmit the encoded data to the server through the network sending module;

[0027] The adjustment module is used to obtain the current encoding data transmission processing status and adjust the code rate of the encoder according to the current encoding data transmission processing status.

[0028] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the data stream transmission method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0029] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the data stream transmission method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0031] Figure 1 is a schematic flow chart of a data stream transmission method according to an embodiment of the present invention;

[0032] Figure 2 is a structural diagram of an application of a data stream transmission method according to an embodiment of the present invention;

[0033] Figure 3 is a flow chart of another data stream transmission method according to an embodiment of the present invention;

[0034] Figure 4 is a structural block diagram of a data stream transmission device according to an embodiment of the present invention;

[0035] Figure 5 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0037] With the development of information technology, the demand for mobile office and cloud office based on desktop virtualization technology is gradually increasing. As the data transmission means of desktop virtualization technology, network quality and terminal performance will affect the remote use experience of virtual desktops. Faced with increasingly complex network conditions and uneven hardware performance, how to ensure a good experience of cloud office is a key issue affecting the further promotion of desktop virtualization technology.

[0038] Different from cloud desktop terminals that use wired networks for data transmission, mobile devices such as mobile phones use wireless networks for data transmission and connection establishment. The quality of wireless network transmission is inferior to that of wired networks in terms of stability and volatility. Cameras are the most common peripheral devices on mobile phones. Ensuring smooth image transmission in a wireless Internet environment is an important part of improving the experience of using mobile cloud desktops. In other words, in the prior art, there is a network fluctuation problem when using cloud desktops and mobile device cameras in mobile devices.

[0039] According to an embodiment of the present invention, a data stream transmission method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0040] In this embodiment, a data stream transmission method is provided, which can be used in the above-mentioned mobile terminals, such as mobile phones, tablet computers, etc. Figure 1 is a flow chart of a data stream transmission method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0041] Step S101, collecting local video information, encoding the video information to obtain encoded data, and transmitting the encoded data to the server through a network sending module.

[0042] Specifically, the data stream transmission method of the embodiment of the present invention is applied to the client, referring to Figure 2The client includes a local camera and a camera client module, the camera client module includes a client encoding module and a network sending module, the client is connected to the server, the server includes a camera server module, the camera client module collects the video data of the local camera, encodes the video data through the client encoding module to obtain the encoded data, and sends the encoded data to the server camera server module through the network sending module. The video information can be specifically video stream information.

[0043] Optionally, the video information may be compressed and encoded in H264 or MJPEG (Motion JointPhotographic Experts Group, video compression format). H264 is a commonly used video encoding format with advantages such as good data compression effect and low image quality loss. Each frame of MJPEG is encoded using JPEG without using inter-frame encoding, and the compression ratio is usually in the range of 20:1-50:1.

[0044] Step S102, obtaining the current progress of the encoded data transmission processing, and adjusting the code rate of the encoder encoding according to the current progress of the encoded data transmission processing.

[0045] Specifically, the client obtains the current encoding data transmission processing progress, and adjusts the bit rate of the encoder encoding according to the current encoding data transmission processing progress. It should be noted that the greater the bit rate, the greater the clarity of the video signal. Optionally, the encoding data processing progress can be the encoding processing progress or the processing progress of the encoding data transmission.

[0046] The data stream transmission method provided in the present embodiment obtains the encoded data after encoding the video information, and transmits the encoded data to the encoding data transmission processing progress of the server through the network sending module, and adjusts the encoding bit rate of the encoder according to the encoding data transmission processing progress. Therefore, in the case of network fluctuations when using the cloud desktop and the mobile device camera, the fluency of the server receiving the encoded data and playing it after decoding is improved, thereby achieving more precise bit rate control, solving the problem of low picture fluency in video information transmission, and thereby improving the user experience.

[0047] In other words, it can effectively smooth out the slight fluctuations in network quality and terminal performance, making the bit rate adjustment process smooth. In addition, the algorithm for adjusting the bit rate is portable and can be applied not only to mobile devices, but also to thin terminals with weaker performance. Through the writing of the client and server, it can realize the dynamic regulation of camera data stream based on network quality and terminal performance, and provide users with a smoother and higher-quality camera experience during the use of cloud desktops.

[0048] In some optional implementations, the current encoded data transmission processing progress includes: the amount of data to be processed, and the "adjusting the code rate of the encoder according to the current encoded data transmission processing progress" in step S102 includes:

[0049] Step 1: Adjust the code rate of the encoder according to the amount of data to be processed. The amount of data to be processed and the code rate are negatively correlated.

[0050] Specifically, the amount of data to be processed can be the amount of data to be processed during the encoding process, or the amount of data to be processed during the encoded data transmission process. Therefore, the bit rate of the encoder encoding is adjusted according to the amount of data to be processed. That is, when the amount of data to be processed is large, the bit rate is reduced to increase the encoded data transmission processing speed, thereby preventing the problem of low picture fluency.

[0051] In some optional implementations, the amount of data to be processed includes the amount of accumulated data in a data transmission queue of a network sending module and / or the amount of accumulated data in an encoding pipeline of an encoder.

[0052] Specifically, when the network sending module transmits data to the server, if the network quality is poor due to delays or network jitters, the data transmission queue to be transmitted will accumulate unsent encoded data, causing the data transmission queue to become longer. Therefore, the encoder encoding bit rate is adjusted according to the amount of accumulated data in the message queue, that is, when the amount of accumulated data in the message queue is large, the amount of accumulated data in the message queue.

[0053] In some optional implementations, the step of "adjusting the bit rate of the encoder encoding according to the current encoding data transmission processing progress" in step 1 includes the following steps:

[0054] Step (1): Calculate the accumulation trend result according to the amount of data to be processed;

[0055] Specifically, the accumulation trend result is a change trend of the amount of data to be processed, and the accumulation trend result includes an increasing trend, a decreasing trend, and a non-changing trend. Optionally, the accumulation trend result may specifically be a change trend of the amount of data to be processed within a unit time.

[0056] Step (2): The encoding rate of the encoder is adjusted according to the accumulation trend result and the amount of data to be processed.

[0057] Specifically, the encoding bit rate of the encoder is adjusted according to the current amount of data to be processed and the accumulation trend result per unit time. For example, if the amount of data to be processed is small, but the accumulation trend result is an increasing trend, then even if the amount of data to be processed increases, it will not affect the encoding speed or transmission speed. Therefore, there is no need to lower the encoding bit rate at this time. Optionally, the client adjusts the bit rate per unit time.

[0058] In some optional embodiments, step (1) comprises:

[0059] Step ①: Collect the amount of data to be processed at preset time intervals;

[0060] Specifically, the amount of data to be processed is collected once at a preset time interval. For example, the camera client module collects the amount of accumulated data in the encoding pipeline queue once every 100ms, or the camera client module collects the amount of accumulated data in the data transmission queue once every 100ms.

[0061] Step ②: Detect the number of times that the amount of data to be processed for the nth time within a preset time period is greater than the amount of data to be processed for the n-1th time, and increase the accumulation trend value according to the number to obtain the accumulation trend result, where n>1.

[0062] Specifically, multiple amounts of data to be processed are collected within a preset time period, and the number of times that the amount of data to be processed for the nth time within the preset time period is greater than the amount of data to be processed for the n-1th time is detected, and the accumulation trend result is adjusted according to the number. Optionally, an initial accumulation trend result is set, and the sum of the number and the initial accumulation trend result is used as the accumulation trend result within the preset time period. For example, the preset time period is 1s, and 10 amounts of data to be processed are collected within 1s, which are the 1st to 10th amounts of data to be processed. The second amount of data to be processed is compared with the first amount of data to be processed. If the second amount of data to be processed is greater than the first amount of data to be processed, the number is increased by one, and the third amount of data to be processed is compared with the second amount of data to be processed, and so on, and finally 9 comparison results are obtained. The amount of data to be processed is pending, and the accumulation trend result is pending_trend. When there is an upward trend in one out of every 10 pending times, that is, pending n >pending n-1 When the pending_trend is 1, the pending_trend is + 1. Optionally, the client adjusts the bit rate every 1 second based on the 10 times of pending data volume.

[0063] It should be noted that the first amount of data to be processed in each second is not compared, but the second amount of data to be processed is compared with the first amount of data to be processed.

[0064] In some optional embodiments, step (2) comprises:

[0065] Step ①: obtaining an adjustment coefficient table, wherein the adjustment coefficient table includes a preset accumulation trend condition and a preset to-be-processed quantity condition, and adjustment coefficients corresponding to the preset accumulation trend condition and the preset to-be-processed quantity condition;

[0066] Specifically, an adjustment coefficient table is set in advance based on multiple experimental data or experience, in which each accumulation trend result belongs to a different preset accumulation trend condition, and each amount of data to be processed belongs to a different preset amount to be processed condition. The adjustment coefficient table is shown in Table 1.

[0067] Table 1

[0068] target_bitrate=0.6*target_bitrate pending_trend>=3 target_bitrate=0.6*target_bitrate pending_trend>=2 Pending>10000 target_bitrate=0.7*target_bitrate pending_trend>=2 Pending<10000 target_bitrate=0.7*target_bitrate pending_trend<=1 Pending>10000 target_bitrate=0.8*target_bitrate pending_trend<=1 Pending<10000 target_bitrate=1.08*target_bitrate pending_trend<=1 Pending = 0

[0069] Step 2: In the adjustment coefficient table, confirm that the accumulation trend result meets the preset accumulation trend condition and the target adjustment coefficient of the amount of data to be processed meets the preset amount of data to be processed condition;

[0070] Specifically, the adjustment system table is only used to indicate the relationship between the preset accumulation trend condition, the preset to-be-processed quantity condition and the adjustment coefficient, and there is no need to set a table according to the actual situation. It should be noted that the updated bit rate is obtained by adjusting the current bit rate through the target adjustment coefficient.

[0071] Step 3: Adjust the encoding bit rate of the encoder according to the target adjustment coefficient.

[0072] Specifically, if there is no accumulated data in the data transmission queue of the current network sending module and / or there is no accumulated data in the current encoding pipeline, the bit rate is updated to 1.08 times the original bit rate, that is, the video clarity is improved by increasing the bit rate.

[0073] In some optional implementations, the encoded data is decoded by the server and then transmitted to a virtual camera corresponding to the server.

[0074] Specifically, refer to Figure 2 The server also includes a virtual camera and a cloud desktop application. The virtual camera is called by the application in the cloud desktop. The encoded data is uniformly decoded by the server and then distributed to the virtual camera. Therefore, there is no need to occupy the performance of the cloud desktop for decoding, which ensures the smoothness of the cloud desktop. In addition, for servers with codec optimization, the performance of the server can be fully utilized to improve the decoding speed. The camera server module is also used to process camera control information, process the control information of the virtual camera by the application in the cloud desktop and send it to the camera client module.

[0075] refer to Figure 3 First, we establish the client, server, virtual camera and other modules. In the client module, we adjust the compression encoding bit rate according to the terminal encoding and decoding performance indicators and network quality indicators, and send the compressed data to the server. The server decodes the received compressed encoded image data and writes the decoded data into the corresponding virtual camera. The virtual camera provides the image data required by the application in the cloud desktop.

[0076] In the present embodiment, a data stream transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.

[0077] This embodiment provides a data stream transmission device, such as Figure 4 As shown, including:

[0078] The encoding module 501 is used to collect local video information, encode the video information to obtain encoded data, and transmit the encoded data to the server through the network sending module.

[0079] The adjustment module 502 is used to obtain the current encoding data transmission processing status and adjust the code rate of the encoder according to the current encoding data transmission processing status.

[0080] In some optional implementations, the current encoded data transmission processing progress includes: the amount of data to be processed, and the adjustment module 502 includes:

[0081] The adjusting unit is used to adjust the code rate of the encoder according to the amount of data to be processed, and the amount of data to be processed and the code rate are negatively correlated.

[0082] The amount of data to be processed includes the amount of accumulated data in the data transmission queue of the network sending module and / or the amount of accumulated data in the encoding pipeline of the encoder.

[0083] In some optional embodiments, the adjusting unit includes:

[0084] The calculation subunit is used to calculate the accumulation trend result according to the amount of data to be processed.

[0085] The regulating subunit is used to regulate the encoding rate of the encoder according to the accumulation trend result and the amount of data to be processed.

[0086] In some optional implementations, the computing subunit includes:

[0087] The collection unit is used to collect the amount of data to be processed at preset time intervals.

[0088] The detection unit is used to detect the number of times that the amount of data to be processed for the nth time within a preset time period is greater than the amount of data to be processed for the n-1th time, and to increase the accumulation trend value according to the number of times to obtain the accumulation trend result, where n>1.

[0089] In some optional embodiments, the regulating subunit includes:

[0090] An acquisition subunit is used to acquire an adjustment coefficient table, wherein the adjustment coefficient table includes a preset accumulation trend condition and a preset to-be-processed quantity condition, and adjustment coefficients corresponding to the preset accumulation trend condition and the preset to-be-processed quantity condition;

[0091] A confirmation subunit is used to confirm in the adjustment coefficient table that the accumulation trend result meets the preset accumulation trend condition and the amount of data to be processed meets the target adjustment coefficient of the preset amount to be processed condition;

[0092] The adjustment subunit is used to adjust the bit rate of the encoder according to the target adjustment coefficient.

[0093] The encoded data is decoded by the server and then transmitted to the virtual camera corresponding to the server.

[0094] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0095] The data stream transmission device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0096] The embodiment of the present invention also provides a computer device having the above Figure 4 The data stream transmission device shown.

[0097] See also Figure 5 , Figure 5 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 5As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 5 A processor 10 is taken as an example.

[0098] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0099] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.

[0100] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0101] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0102] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 5 The example of connecting through bus is taken in the following.

[0103] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0104] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0105] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A data stream transmission method, characterized in that: The method comprises: Collect local video information, encode the video information to obtain encoded data, and transmit the encoded data to the server through a network sending module; The current progress of the encoded data transmission processing is obtained, and the bit rate of the encoder encoding is adjusted according to the current progress of the encoded data transmission processing.

2. The method according to claim 1, characterized in that The current encoded data transmission processing progress includes: the amount of data to be processed, and the step of adjusting the code rate of the encoder according to the current encoded data transmission processing progress includes: The code rate of the encoder is adjusted according to the amount of data to be processed, and the amount of data to be processed and the code rate are negatively correlated.

3. The method according to claim 2, characterized in that The amount of data to be processed includes the amount of accumulated data in the data transmission queue of the network sending module and / or the amount of accumulated data in the encoding pipeline of the encoder.

4. The method according to claim 2, characterized in that: The step of adjusting the bit rate of the encoder according to the amount of data to be processed includes: Calculate the accumulation trend results based on the amount of data to be processed; The encoding rate of the encoder is adjusted according to the accumulation trend result and the amount of data to be processed.

5. The method according to claim 2, characterized in that: The step of calculating the accumulation trend result according to the amount of data to be processed includes: Collect the amount of data to be processed at preset time intervals; Detect the number of times that the amount of data to be processed for the nth time within a preset time period is greater than the amount of data to be processed for the n-1th time, and increase the accumulation trend value according to the number to obtain an accumulation trend result, wherein n>1.

6. The method according to claim 4, characterized in that The step of adjusting the bit rate of encoding performed by the encoder according to the accumulation trend result and the amount of data to be processed includes: Obtaining an adjustment coefficient table, wherein the adjustment coefficient table includes a preset accumulation trend condition and a preset to-be-processed quantity condition, and adjustment coefficients corresponding to the preset accumulation trend condition and the preset to-be-processed quantity condition; In the adjustment coefficient table, confirm that the accumulation trend result meets the preset accumulation trend condition, and the amount of data to be processed meets the target adjustment coefficient of the preset amount to be processed condition; The bit rate of encoding performed by the encoder is adjusted according to the target adjustment coefficient.

7. The method according to claim 1, characterized in that The encoded data is decoded by the server and then transmitted to the virtual camera corresponding to the server.

8. A data stream transmission device, characterized in that: The device comprises: The encoding module is used to collect local video information, encode the video information to obtain encoded data, and transmit the encoded data to the server through the network sending module; The adjustment module is used to obtain the current encoding data transmission processing status and adjust the code rate of the encoder according to the current encoding data transmission processing status.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the data stream transmission method according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the data stream transmission method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method and device for adjusting streaming media bit rate

    CN101771492A

  • Vehicle-mounted video transmitting method and device

    CN104486688A

  • Video transmission device

    CN106488176A

  • Video coding method and device

    CN108495142A

  • Live method, apparatus and device and storage medium

    CN109587510A