Video transmission method and device, storage medium and electronic equipment

After receiving the video acquisition request in the terminal device, multiple videos that requests the request, set the video priority based on video quality parameters, combine network bandwidth dynamic management and differentiated compression processing, optimize video transmission, solve the video transmission, solve the existing technology video video transmission, solve the existing technology video video transmission, solve the video in existing technologies in video transmission, and solves the existing technologies video transmission. The problem of low transmission quality achieves high -efficiency and stable video transmission effects.

CN119383376APending Publication Date: 2025-01-28HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411658143.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In the prior art, the video transmission quality is low, especially when network resources are unstable, which can easily lead to problems such as lag and delay when users watch streaming videos.

Method used

After receiving video acquisition requests in the terminal device, multiple videos that requests the request, set the video priority based on video quality parameters, combine network bandwidth dynamic management and differentiated compression processing, optimize video transmission.

Benefits of technology

The intelligent optimization of video transmission and the efficient resource use, significantly improved the quality and efficiency of video transmission, at the same time reducing the demand for network bandwidth, and providing a better viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119383376A_ABST
    Figure CN119383376A_ABST
Patent Text Reader

Abstract

The invention discloses a video transmission method and device, a storage medium and electronic equipment. The method comprises the following steps: determining a plurality of videos requested to be acquired by terminal equipment; determining a video priority corresponding to each video based on the video quality parameter corresponding to each video in the plurality of videos; determining a transmission bandwidth corresponding to each video based on the video priority corresponding to each video, the total number of the plurality of videos and a residual bandwidth in a target network for transmitting the videos; performing coding processing on each video in the plurality of videos to obtain a plurality of coded videos; performing compression processing on each coded video to obtain a plurality of compressed video resources; and transmitting the compressed video corresponding to each video in the plurality of compressed video resources to the terminal equipment according to the transmission bandwidth corresponding to each video in the plurality of videos. According to the invention, the technical problem of low video transmission quality is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computers, and in particular to a video transmission method and device, a storage medium, and an electronic device. Background Art

[0002] With the development of video streaming technology, real-time transmission of multiple streaming videos has become an indispensable part of modern people's daily life. Whether it is online education, remote office, live entertainment or social interaction, the application scenarios of real-time transmission of multiple streaming videos are becoming more and more extensive, greatly enriching people's communication methods and entertainment experience. For the transmission of multiple streaming videos, the relevant technology usually directly transmits multiple streaming videos at the same time. However, when using the video transmission method provided in the relevant technology, once the network resources are unstable, it may cause problems such as freezes and delays when users watch the streaming video stream. In other words, the video transmission method provided in the relevant technology still has the technical problem of low video transmission quality.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present application provide a video transmission method and device, a storage medium, and an electronic device to at least solve the technical problem of low video transmission quality.

[0005] According to one aspect of an embodiment of the present application, a video transmission method is provided, comprising: upon receiving a video acquisition request sent by a terminal device, determining multiple videos requested by the terminal device; determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos; determining the transmission bandwidth corresponding to each video based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos and the remaining bandwidth in the target network for transmitting the video; encoding each video in the multiple videos to obtain multiple encoded videos; compressing each encoded video according to the video priority of each encoded video in the multiple encoded videos to obtain multiple compressed video resources, wherein a video with a lower video priority has a greater compression rate when compressed; and transmitting the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

[0006] According to another aspect of an embodiment of the present application, a video transmission device is also provided, including: a first determination unit, for determining multiple videos requested by a terminal device when a video acquisition request sent by a terminal device is received; a second determination unit, for determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos; a third determination unit, for determining the transmission bandwidth corresponding to each video based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos and the remaining bandwidth in the target network for transmitting the video; an encoding processing unit, for encoding each video in the multiple videos to obtain multiple encoded videos; a compression processing unit, for compressing each encoded video according to the video priority of each encoded video in the multiple encoded videos to obtain multiple compressed video resources, wherein the lower the video priority, the greater the compression rate corresponding to the video during compression processing; a transmission unit, for transmitting the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

[0007] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned video transmission method when running.

[0008] According to another aspect of the embodiments of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above video transmission method.

[0009] According to another aspect of the embodiments of the present application, there is further provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the video transmission method through the computer program.

[0010] In an embodiment of the present application, upon receiving a video acquisition request sent by a terminal device, multiple videos requested by the terminal device are determined; the video priority corresponding to each video is determined based on the video quality parameter corresponding to each video in the multiple videos; the transmission bandwidth corresponding to each video is determined based on the video priority corresponding to each video in the multiple videos, the total number of multiple videos, and the remaining bandwidth in the target network for transmitting the video; each video in the multiple videos is encoded to obtain multiple encoded videos; each encoded video is compressed according to the video priority of each encoded video in the multiple encoded videos to obtain multiple compressed video resources, wherein the lower the video priority, the greater the compression rate corresponding to the video when the compression is performed; according to the transmission bandwidth corresponding to each video in the multiple videos, the compressed video corresponding to each video in the multiple compressed video resources is transmitted to the terminal device. By adopting the embodiment of the present application, through comprehensive video priority division, dynamic bandwidth management, differentiated compression and optimized encoding, intelligent optimization of video transmission and efficient resource utilization are realized, which is particularly suitable for complex scenarios such as simultaneous transmission of multiple video streams, limited network resources and diversified user needs, and can significantly improve the quality and efficiency of video transmission, while reducing the demand for network bandwidth, bringing users a better viewing experience. Thereby achieving the technical effect of improving the transmission quality and transmission efficiency of the video, and solving the technical problem of low video transmission quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0012] Figure 1 is a flowchart of an optional video transmission method according to an embodiment of the present application;

[0013] Figure 2 is a schematic diagram of an optional video transmission system according to an embodiment of the present application;

[0014] Figure 3 is a flowchart of an optional video transmission method according to an embodiment of the present application;

[0015] Figure 4 is a schematic structural diagram of an optional video transmission device according to an embodiment of the present application;

[0016] Figure 5 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0017] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0018] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0019] Alternatively, as an alternative, Figure 1 As shown, the video transmission method includes:

[0020] S102: upon receiving a video acquisition request sent by a terminal device, determining a plurality of videos requested to be acquired by the terminal device.

[0021] It should be noted that the above-mentioned video transmission method can be applied to, but is not limited to, at least the following scenarios: Real-time live broadcast service scenario: In a live broadcast platform, such as live broadcast of sports events, live broadcast of concerts, live broadcast of online education, or live broadcast of news, multiple video streams need to be transmitted to a large number of viewers at the same time. This method can intelligently and automatically adjust the priority and encoding parameters of the video stream according to the video content and user viewing behavior to ensure high-quality transmission of key video content (such as goal moments in sports events), and at the same time, compress non-critical parts to maintain the smoothness of the entire live broadcast when bandwidth is limited. Online education and distance learning scenarios: Online education platforms often need to provide educational videos to multiple users at the same time, and different videos may have different importance and complexity. This method can optimize bandwidth usage and ensure that video streams with high complexity or key parts of teaching receive higher transmission priority, thereby improving the clarity and fluency of teaching videos and improving the efficiency and experience of online learning.

[0022] It should be noted that the above-mentioned multiple videos may be but are not limited to multiple media video streams.

[0023] S104: Determine the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos.

[0024] Optionally, in some embodiments, the above-mentioned video quality parameters may include, but are not limited to, the frame rate, resolution, color depth, and codec efficiency of the video. Specifically, the above-mentioned determination of the video priority corresponding to each video based on the video quality parameters corresponding to each video in the multiple videos may include, but is not limited to: determining each video in the multiple videos as the current video in turn, and performing the following steps: obtaining the frame rate of the current video, the resolution of the current video, the color depth of the current video, and the codec efficiency of the current video; obtaining the first parameter based on the frame rate of the current video and the first weight; obtaining the second parameter based on the resolution of the current video and the second weight; obtaining the third parameter based on the color depth of the current video and the third weight; obtaining the fourth parameter based on the codec efficiency of the current video and the fourth weight; determining the video priority of the current video using the first parameter, the second parameter, the third parameter, and the fourth parameter; wherein the sum of the first weight, the second weight, the third weight, and the fourth weight is the target value.

[0025] S106: Determine the transmission bandwidth corresponding to each video based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos, and the remaining bandwidth in the target network for transmitting the videos.

[0026] Optionally, the above-mentioned determination of the transmission bandwidth corresponding to each video based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos and the remaining bandwidth in the target network used to transmit the video may include but is not limited to: determining each video in the multiple videos as the current video in turn, and performing the following steps: determining a first intermediate value based on the remaining bandwidth and the total number of the multiple videos; determining a second intermediate value based on the video priority of the current video and the sum of the video priorities of the multiple videos; and determining the product of the first intermediate value and the second intermediate value as the transmission bandwidth of the current video.

[0027] S108, encoding each of the multiple videos to obtain multiple encoded videos.

[0028] It should be noted that before encoding each of the multiple videos to obtain multiple encoded videos, the following steps may be included but are not limited to: determining each of the multiple videos as the current video in turn, and performing the following steps: obtaining a first frame quality parameter corresponding to each of the multiple video frames included in the current video, wherein the first frame quality parameter is obtained based on the frame rate, resolution, color depth and encoding and decoding efficiency of the video frame; dividing the multiple video frames into multiple video segments based on the first frame quality parameter, and determining the video segment priority corresponding to each of the multiple video segments based on the average first quality parameter corresponding to each of the multiple video segments; or obtaining a second frame quality parameter corresponding to each of the multiple video frames included in the current video frame, wherein the second frame quality parameter includes the motion intensity, scene complexity, and user attention of the video frame, and the user attention is generated based on the access record of the video frame by the user account of the terminal device; dividing the multiple video frames into multiple video segments based on the second frame quality parameter, and determining the video segment priority corresponding to each of the multiple video segments based on the second frame quality parameter; wherein the number of the multiple video segments is less than the number of the multiple video frames.

[0029] Optionally, the above-mentioned encoding processing of each video in the multiple videos to obtain multiple encoded videos may include but is not limited to: determining each video in the multiple videos as the current video in turn, and performing the following steps: encoding the multiple video segments based on the video segment priority corresponding to each video segment in the multiple video segments divided from the current video to obtain the current video after encoding, wherein a video segment with a higher video segment priority has a higher encoding bit rate corresponding to it during encoding.

[0030] S110, compressing each of the multiple encoded videos according to the video priority of each encoded video to obtain multiple compressed video resources, wherein a video with a lower video priority has a greater compression rate when being compressed.

[0031] It should be noted that in some embodiments, different compression rates and different encoding methods will be used for encoded videos of different priorities. Specifically, the above steps can be explained by reference to the following examples, but not limited to: Assume that an online education platform provides different course videos to multiple users at the same time. There are three video streams on the platform: video A (high priority), video B (medium priority) and video C (low priority), corresponding to a live lecture, a pre-recorded course review video and a non-real-time extracurricular interest video. Assume that at a certain moment, the total transmission bandwidth allowed by the platform's network environment is 10Mbps. For high-priority video A: In order to ensure the high quality of the live lecture, the platform selects a lower compression rate, for example, using the H.265 / HEVC encoding standard, setting the compression rate to 20% (assuming the original bit rate is 5Mbps and the compressed bit rate is 4Mbps). For medium-priority video B, although the review video is important, a certain degree of image quality compression can be accepted to save bandwidth resources. The platform may choose a medium compression rate, for example, setting the compression rate to 40% (assuming the original bit rate is 3Mbps and the compressed bit rate is 1.8Mbps). For low-priority video C: Since it is non-real-time and has low requirements for image quality, the platform selects the highest compression rate, for example, setting the compression rate to 60% (assuming the original bit rate is 2 Mbps and the compressed bit rate is 0.8 Mbps).

[0032] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps, and there is no limitation on the transmission method of the above videos.

[0033] S112: Transmitting compressed videos corresponding to respective videos in the plurality of compressed video resources to the terminal device according to the transmission bandwidth corresponding to respective videos in the plurality of videos.

[0034] By adopting the embodiments of the present application, through comprehensive video priority division, dynamic bandwidth management, differentiated compression and optimized coding, intelligent optimization of video transmission and efficient resource utilization are achieved, which is particularly suitable for complex scenarios such as simultaneous transmission of multiple video streams, limited network resources and diversified user needs. It can significantly improve the quality and efficiency of video transmission, while reducing the demand for network bandwidth, and bring users a better viewing experience. Thereby achieving the technical effect of improving the transmission quality and transmission efficiency of the video, and solving the technical problem of low video transmission quality.

[0035] Optionally, as an optional solution, after determining the transmission bandwidths corresponding to the respective videos based on the video priorities corresponding to the respective videos in the plurality of videos and the remaining bandwidth in the target network for transmitting the videos, the method further includes:

[0036] Determine each of the multiple videos as the current video in turn, and perform one of the following steps:

[0037] Obtain a first frame quality parameter corresponding to each video frame of a plurality of video frames included in a current video, wherein the first frame quality parameter is obtained based on a frame rate, a resolution, a color depth, and a coding and decoding efficiency of the video frame; divide the plurality of video frames into a plurality of video segments based on the first frame quality parameter, and determine a video segment priority corresponding to each video segment of the plurality of video segments based on an average first quality parameter corresponding to each of the plurality of video segments.

[0038] It should be noted that, in some embodiments, the first quality parameter of the video frame can be obtained by, but is not limited to, performing weighted sum processing on the frame rate, resolution, color depth, and encoding and decoding efficiency of the video frame.

[0039] Further, taking dividing the current video into two video segments as an example, assuming that the current video includes M video frames, the dividing of the multiple video frames into multiple video segments based on the first frame quality parameter, and determining the video segment priority corresponding to each of the multiple video segments based on the average first quality parameter corresponding to each of the multiple video segments may include but is not limited to:

[0040] Determine that an average first quality parameter of N consecutive frames in the current video is greater than a first threshold, and determine that an average first quality parameter of MN consecutive frames in the current video is less than or equal to the first threshold;

[0041] Determine the high-priority first quality parameter as the average first quality parameter of the N consecutive frames, and determine the low-priority first quality parameter as the average first quality parameter of the MN consecutive frames;

[0042] Divide the N consecutive frames into one video segment, and divide the MN consecutive frames into one video segment;

[0043] Wherein, M and N are positive integers, and N is less than M.

[0044] Optionally, the current video may be divided based on but not limited to the following examples:

[0045]

[0046] In formula (1), F original is the original video stream, F split is the segmented video stream, Q high It is used to indicate the high priority quality weight (that is, the high priority first quality parameter mentioned above), Q low It is used to indicate the low priority quality weight (that is, the low priority first quality parameter mentioned above), Q totalis the sum of the high priority quality and the low priority quality weights. The above formula (1) is used to express the original video stream F original Based on the quality weights Q of high-priority and low-priority video streams high and Q low Segmentation; specifically, the original video stream F original It is divided into two parts, one of which is a high priority video stream. The other part is low priority video stream

[0047] For example: Assume that the original video stream F original The total data volume is 100MB, and the high priority video stream Q high The quality weight of the low-priority video stream is 60. low The quality weight is 40 and the total weight is 100. Then the data volume of the high-priority video stream is: The data volume of the low priority video stream is: Therefore, the original video stream is split into a 60MB high priority video stream and a 40MB low priority video stream.

[0048] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps, and there is no limitation on the transmission method of the above videos.

[0049] Obtain second frame quality parameters corresponding to each video frame of a plurality of video frames included in a current video frame, wherein the second frame quality parameters include motion intensity, scene complexity, and user attention of the video frame, and the user attention is generated based on access records of the video frames by a user account of a terminal device; divide the plurality of video frames into a plurality of video segments based on the second frame quality parameters, and determine a video segment priority corresponding to each video segment of the plurality of video segments based on the second frame quality parameters; wherein the number of the plurality of video segments is less than the number of the plurality of video frames.

[0050] As an optional example, the above-mentioned dividing the multiple video frames into multiple video segments based on the second frame quality parameter, and determining the video segment priority corresponding to each video segment in the multiple video segments based on the second frame quality parameter can be explained by referring to the following example but is not limited to:

[0051] V(t)=∫ Ω F(x,y,z,t)dΩ (2)

[0052]

[0053] Wherein, F(x, y, z, t) in formula (2) represents the spatial and temporal distribution of the video frame, and Ω is the spatial domain of the video frame. Specifically, the above spatial and temporal distribution is used for the position (spatial coordinates) and time dimension changes of each pixel point in the video frame. Specifically, F(x, y, z, t) represents the spatial and temporal distribution of the video frame, where x and y represent the position coordinates in the two-dimensional plane, z can represent the depth or channel (such as RGB color channel), and t represents the time. Here, the spatial domain Ω is a two-dimensional matrix, each row and each column represents the width and height of the image, and each element in the matrix corresponds to a pixel point in the image. In the three-dimensional case, in addition to the width and height, there is also depth information, which can be used to represent different frames or different color channels in the video;

[0054] M(f in formula (3) n ) represents the motion intensity of the nth frame, U(h n ) is a time-varying function of the user’s historical behavior, D(m n ) is the scene complexity, T n is the viewing spatiotemporal gradient, α n is the weighting coefficient, and the video stream is divided into segments V1, V2, ..., V with different priorities according to the value of I(c). n ; V(t) represents a video stream that changes over time. It is a multidimensional function that contains time and space information.

[0055] Specifically, the time-varying function U(h n ) is the user's historical behavior data, including the user's past video viewing behavior records, such as viewing frequency, viewing time, jump behavior, etc. By analyzing these data, the system can understand the user's preferences and then calculate the content importance function I(c). The purpose of this function is to quantify the importance of video content, thereby affecting the way the video stream is segmented. For example, if a certain video content is often watched by the user, then the importance score of this content will be higher, and it will be given a higher priority during segmentation; the scene complexity D(m n ) is an indicator used to describe the complexity of a video frame or video clip. It reflects the level of detail within the video frame, such as edges, textures, color changes, etc., as well as changes between video frames, such as the number and speed of moving objects. The level of scene complexity can affect the encoding difficulty of the video stream and the audience's attention allocation; scene complexity D (m n ) mainly includes the characteristics of the video frame, which may include but are not limited to: edge detection, texture analysis, color distribution, object detection, motion estimation, scene change; viewing spatiotemporal gradient T nIt is a concept used to measure the degree of change in the time and space dimensions when users watch videos. Specifically, the viewing time and space gradient reflects the changes in the user's attention or interest in different time periods and different video clips when watching videos. The meaning of viewing time and space gradient: Time dimension: the change in the user's attention over time when watching a video; for example, the user may be more focused at the beginning of the video, while the attention may decrease in the middle or end; Spatial dimension: the change in the user's interest in different video clips when watching a video; for example, some video clips may attract the user's special attention due to attractive content, while other parts may be relatively less attractive to users.

[0056] It should be noted that the output of the above formula (3) is a scalar value, that is, the value of the content importance function I(c). This scalar value is used to measure the importance of the video frame f n According to the calculation result of formula I(c), the video stream is divided into segments V1, V2, ..., V n In other words, the system will decide which video segments have higher priority based on the value of I(c). Specifically, the larger the value of I(c), the more important the corresponding video frame or video segment is, and thus it is given a higher priority. The output V1, V2, …, V n The content has been prioritized according to the value of the content importance function I(c).

[0057] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps. There is no limitation on the transmission method of the above videos, and the above steps may also be implemented in other ways.

[0058] According to the embodiment of the present application, within each video, the video frame is divided into multiple video segments according to the first frame quality parameter or the second frame quality parameter, and the priority is determined based on the average quality parameter of these video segments. This means that even in the same video stream, dynamic or information-intensive parts can get higher transmission priority, while background or non-critical information can be appropriately compressed to save bandwidth. This method further improves transmission efficiency and ensures high-quality presentation of key details of the picture.

[0059] Optionally, as an optional solution, encoding is performed on each of the multiple videos to obtain multiple encoded videos including:

[0060] Determine each of the multiple videos as a current video in turn, and perform the following steps:

[0061] Based on the video segment priorities corresponding to the respective video segments in the multiple video segments divided from the current video, the multiple video segments are encoded to obtain the current video after encoding, wherein the video segment with a higher video segment priority has a higher encoding bit rate corresponding to it during encoding.

[0062] As an optional example, the encoding process of the plurality of video segments based on the video segment priorities corresponding to the respective video segments in the plurality of video segments divided from the current video to obtain the encoded current video may be explained with reference to the following example but is not limited thereto:

[0063] The segmented video segments are hierarchically encoded by the improved encoding module. The encoding can be, but is not limited to, frequency domain decomposition using Laplace transform, and the formula is:

[0064]

[0065] Among them, E(V i ) is used to represent the video segment V i The encoding result, R l (V i ) represents the bit rate of layer l, β l β is used to represent the weight of each layer, λ is used to represent the time decay factor, and j is used to represent the imaginary unit. Through this encoding process, high-priority video segments obtain higher encoding resources, while low-priority segments use lower encoding bit rates to save bandwidth; l is the weight of each layer, which is assigned according to the importance of different layers. Therefore, layers with different priorities will have different weights, where the higher the priority of the video segment, the higher the corresponding weight; L represents the number of layers of video stream encoding, ω is the angular frequency, which represents the frequency component in the Laplace transform, and d represents the differential element of integration, which refers to the integration of small increments of the frequency variable ω during the integration process.

[0066] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps. There is no limitation on the transmission method of the above videos, and the above steps may also be implemented in other ways.

[0067] In the embodiment of the present application, during the encoding process, the encoding bit rate is adjusted according to the priority of the video segment. The high-priority video segment is encoded at a higher bit rate to ensure better image quality; the low-priority video segment is encoded at a lower bit rate to save transmission resources. This encoding strategy based on the importance of video content can ensure that important information is retained during the transmission process, while optimizing the data transmission volume and improving the stability and efficiency of video transmission.

[0068] Optionally, as an optional solution, determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos includes:

[0069] Determine each of the multiple videos as the current video in turn, and perform the following steps:

[0070] Get the frame rate, resolution, color depth and encoding / decoding efficiency of the current video.

[0071] Acquire a first parameter based on a frame rate of a current video and a first weight;

[0072] Acquire a second parameter based on the resolution of the current video and the second weight;

[0073] Acquire a third parameter based on the color depth of the current video and a third weight;

[0074] Acquire a fourth parameter based on the encoding and decoding efficiency of the current video and a fourth weight;

[0075] Determine the video priority of the current video using the first parameter, the second parameter, the third parameter, and the fourth parameter;

[0076] Among them, the sum of the first weight, the second weight, the third weight, and the fourth weight is the target value.

[0077] Optionally, the above-mentioned acquisition of the first parameter based on the frame rate of the current video and the first weight may include but is not limited to: determining the product of the frame rate of the current video and the first weight as the first parameter; the above-mentioned acquisition of the second parameter based on the resolution of the current video and the second weight may include but is not limited to: determining the product of the resolution of the current video and the second weight as the second parameter; the above-mentioned acquisition of the third parameter based on the color depth of the current video and the third weight may include but is not limited to: determining the product of the color depth of the current video and the third weight as the third parameter; the above-mentioned acquisition of the fourth parameter based on the codec efficiency of the current video and the fourth weight may include but is not limited to: determining the product of the codec efficiency of the current video and the third weight as the fourth parameter.

[0078] Optionally, the above steps may be explained with reference to, but not limited to, the following examples:

[0079] P=w1*F+w2*R+w3*D+w4*E(5)

[0080] Among them, F is used to indicate the frame rate, R is used to indicate the resolution, D is used to indicate the color depth, E is used to indicate the encoding and decoding efficiency, w1 is used to indicate the first weight, w2 is used to indicate the second weight, w3 is used to indicate the third weight, and w4 is used to indicate the fourth weight.

[0081] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps. There is no limitation on the transmission method of the above videos, and the above steps may also be implemented in other ways.

[0082] By adopting the embodiment of the present application and introducing the concept of weighted average, the priority of each video can be calculated more accurately according to the characteristics of the video such as frame rate, resolution, color depth and encoding and decoding efficiency. This makes video transmission more intelligent and adjusts the priority according to the characteristics of the video content, thereby finding the best balance between different video qualities and network conditions.

[0083] Optionally, as an optional solution, based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos, and the remaining bandwidth in the target network for transmitting the videos, determining the transmission bandwidth corresponding to each video includes:

[0084] Determine each of the multiple videos as a current video in turn, and perform the following steps:

[0085] determining a first intermediate value based on the remaining bandwidth and the total number of the plurality of videos;

[0086] Determining a second intermediate value based on the video priority of the current video and the sum of the video priorities of the plurality of videos;

[0087] The product of the first intermediate value and the second intermediate value is determined as the transmission bandwidth of the current video.

[0088] Optionally, the above steps may be explained with reference to, but not limited to, the following examples:

[0089]

[0090] Among them, B in formula (6) total is used to represent the remaining bandwidth, N is used to represent the total number of multiple videos, and P i It is used to indicate the video priority of the current video, and ∑P is used to indicate the sum of the video priorities of multiple videos.

[0091] For example, suppose there are two video streams, one is a high-priority video stream (video stream A), and the other is a low-priority video stream (video stream B); the total available bandwidth is 1 Gbps, and the two video streams are transmitted simultaneously; the remaining bandwidth is 800 Mbps; the priority of video stream A is 364 and the priority of video stream B is 236.6, then the bandwidth of video stream A = (800 / 2) × (364 / 600.6) = 242.5 Mbps.

[0092] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps. There is no limitation on the transmission method of the above videos, and the above steps may also be implemented in other ways.

[0093] By adopting the embodiment of the present application, when allocating transmission bandwidth, not only the priority of the video is considered, but also the remaining bandwidth of the network and the total number of videos to be transmitted are combined, and the transmission bandwidth of each video is dynamically adjusted by calculating the intermediate value. This method can automatically adapt to changes in network conditions, effectively allocate bandwidth resources, and ensure that the stability and smoothness of video transmission can be maintained even when network conditions are poor.

[0094] Optionally, as an optional solution, when the compressed video corresponding to each video in the plurality of compressed video resources is transmitted to the terminal device according to the transmission bandwidth corresponding to each video in the plurality of videos, the method further includes:

[0095] When a target video among multiple videos is being transferred, perform the following steps:

[0096] When the current time reaches the transmission rate adjustment time of the target video, determining the current remaining bandwidth of the target network at the current time, and determining at least one video segment to be transmitted in the target video;

[0097] determining at least one transmission rate corresponding to the at least one video segment according to the current remaining bandwidth and the video segment priority corresponding to the at least one video segment;

[0098] At least one video segment is transmitted at at least one transmission rate.

[0099] It should be noted that, in this embodiment, the transmission rate adjustment time can be determined according to actual needs. For example, when transmitting the target video, the transmission rate can be determined for all video segments to be transmitted before each video segment is transmitted, or the transmission rate can be determined for the next video segment to be transmitted. For another example, before transmitting the target video, the time for determining the transmission rate can be set, and then when the time is reached, the transmission rate can be determined for all video segments to be transmitted, or the transmission rate can be determined for the next video segment to be transmitted. This embodiment does not impose any limitation on this.

[0100] Furthermore, the above steps may be explained with reference to, but not limited to, the following examples:

[0101]

[0102] In formula (7), T(V i ) is used to indicate the allocation to the video segment V i The transmission rate, is the nonlinear transformation function of the priority, and κ is the time decay coefficient. This process ensures that the system gives priority to transmitting high-priority video segments when bandwidth resources are limited. d represents the integration of small increments of the time variable τ. The integration here is from time 0 to the current time t, which represents the importance of the video segment I(V i ) is weighted averaged; τ is a time variable in the integration interval [0, t], which represents a time point in the past; t represents the current time point, which represents the time point currently being considered by the system.

[0103] It should be noted that the above examples are optional examples provided to facilitate explanation of the above steps. There is no limitation on the transmission method of the above videos, and the above steps may also be implemented in other ways.

[0104] By using the embodiment of the present application, during the video transmission process, the system dynamically adjusts the transmission rate of the video segment according to the real-time network bandwidth status and the priority of the video segment, ensuring the timely transmission of key content, while avoiding network congestion and improving the transmission efficiency of the video stream and user experience. Especially in the scenario of multiple users watching concurrently, this method can effectively cope with network fluctuations and provide more stable and higher-quality video services.

[0105] Optionally, the above-mentioned video transmission method may include but is not limited to: using a prediction model to predict the user's future viewing behavior based on the user's historical behavior and other relevant data, thereby guiding the preloading and caching of the video stream. Specifically, this model can help the system load video segments that the user may watch in advance, reduce latency and improve user experience.

[0106] For example, suppose a user is watching a TV series. After watching one episode, the user usually continues to watch the next episode. The system can predict that the user is likely to continue watching the next episode by analyzing the user's viewing history and similar behaviors of other users. The specific steps are as follows: Collect user behavior data: The system records your viewing history, search history, pause and fast-forward behaviors, etc.; Build a prediction model: The system uses this data to build a user behavior prediction model P(u); Predict user behavior: Based on the currently watched video clips and your historical behavior, the system predicts which video clips you are likely to watch next; Preload video clips: The system loads the predicted video clips into the cache in advance, so that you can start watching immediately when you click play, reducing waiting time.

[0107] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the specific implementation of the above steps.

[0108] Furthermore, the above prediction model can be but is not limited to reference formula (8):

[0109]

[0110] Among them, in the prediction model, T seek (u) represents the user's jump behavior, F watch (u) is the viewing time, φ(ω) is the path attenuation function, and u is the time constant. Through the inverse Fourier transform, in this embodiment, the user's viewing behavior can be accurately predicted and the required video segments can be loaded to reduce delay; represents Fourier transform; γ is the weighting coefficient, which is used to adjust the importance of different factors in prediction; j is the imaginary unit, which is used to represent the imaginary part of the complex number; λ is the time decay coefficient, which is used to represent the viewing time F watc h(u) is the time decay effect; dω is the part after the integral symbol ∫, which means integrating the small increments of the frequency variable ω; ω angular frequency, which is the frequency variable in Fourier transform. It should be noted that the user here refers to the statistics of individual users, not the statistics of all users; in the user behavior prediction model, T seek (u) can represent the quantitative data of the user's jump behavior, including the number of jumps, jump frequency, jump time, jump amplitude or jump type, etc.; the specific quantification method depends on the design requirements and application scenarios of the system. By quantifying these behaviors into quantifiable data, the system can better predict the user's viewing behavior and preload the video segments accordingly; φ(ω) is called the path attenuation function. The role of this function in the formula is to adjust the impact of different frequency components on the user behavior prediction. This function will bring in frequency and attenuation coefficients; the role of u in the formula is to help quantify the time characteristics of user behavior, especially considering the impact of time when calculating user behavior predictions; T represents the inverse Fourier transform.

[0111] Optionally, the video transmission method may include but is not limited to:

[0112] The path selection optimization model is used to transmit video segments in parallel through multiple network paths. It should be noted that this model is a path selection optimization model in a multi-path video stream transmission module. Its main function is to select the optimal path among multiple network paths to ensure that the video segments can be stably transmitted in the shortest time.

[0113] For example, if a user is watching a high-definition video stream, the video server needs to transmit the video data to the client through multiple available network paths. The system needs to select the optimal path to ensure that the video data can be transmitted quickly and stably. The following are specific application scenarios:

[0114] S1, Network path selection: Assume that there are three available network paths A, B and C. The system needs to select an optimal path among these three paths to transmit video data. Path delay D(p): The delay of path A is D(A) = 100ms, the delay of path B is D(B) = 150ms, and the delay of path C is D(C) = 120ms. Bandwidth stability: The bandwidth stability of path A is good, and the bandwidth does not change much over time. The bandwidth of path B is unstable, and the bandwidth changes greatly over time. The bandwidth stability of path C is average, and the bandwidth changes moderately over time.

[0115] S2, path selection optimization: The system needs to calculate the integral of each path and select the path with the smallest integral value as the optimal path. Assuming that after calculation, the integral value of path A is the smallest, the system will select path A as the optimal path to transmit video data.

[0116] S3, optimal path selection: According to the above calculation, the integral value of path A is the smallest, which is 100t, so the system will select path A as the optimal path to transmit video data.

[0117] It should be noted that the above example is an optional example provided to facilitate explanation of the above steps, and there is no limitation on the specific implementation of the above steps.

[0118] Furthermore, the optimization model of path selection may refer to, but is not limited to, the following formula:

[0119]

[0120] Where D(p) is the delay of path p, B(p) is the second-order derivative of the path bandwidth. The model selects the optimal path to ensure that each video segment can be stably transmitted in the shortest time; p represents different network paths; represents the second-order partial derivative; d after the integral symbol ∫ represents a small time increment; t represents the current time point.

[0121] It should be noted that the goal of the above path selection optimization model is to select an optimal path among multiple network paths to ensure that the video segment can be stably transmitted in the shortest time. Among them, the key elements of the model include: Path delay D(p): represents the delay of path p, that is, the time required for data to be transmitted through this path. The smaller the delay, the faster the data transmission. Bandwidth stability: represents the stability of the bandwidth of path p over time. The better the bandwidth stability, the more stable the transmission.

[0122] Optionally, the video transmission method may include but is not limited to:

[0123] When the video stream is distorted during transmission, the AI ​​video stream repair module uses the convolutional neural network NN to repair the video image. The repair expression is:

[0124]

[0125] in, is the repaired frame, F t Represents the video frame at the current time point t. This is a two-dimensional or multi-dimensional data structure, usually represented as an image matrix, where each pixel contains color information (such as RGB values). is the spatial gradient of the previous frame, Represents the feature map of the past frame. This module repairs the distortion problems in the video in real time by analyzing the temporal and spatial gradient information of the video frame to ensure the image quality for users.

[0126] Optionally, the video transmission method may include but is not limited to:

[0127] Working together through the system bus S, The bus synchronizes the output of each module through a high-order harmonic signal, and the formula is

[0128]

[0129] Among them, M i is the output signal of each module, It is the high-order harmonic component of the output signal. Through this system bus, information synchronization and coordination are achieved between modules to ensure real-time collaboration in the process of video segmentation, encoding, transmission, and repair, and optimize the overall transmission effect of video streaming media. S is used to represent the system bus, which is used to achieve information synchronization and coordination between modules. i Used to represent the output signal of the i-th module; Used to represent the high-order harmonic components of the output signal of the i-th module; Used to represent a logical or mathematical operation, which can be understood here as the superposition or combination of signals; it should be noted that the function of the above formula is to achieve information synchronization and coordination between modules through the system bus S, so as to ensure real-time collaboration in the process of video segmentation, encoding, transmission, and repair, and optimize the overall transmission effect of video streaming media. In this way, the system bus S achieves information synchronization and coordination between modules, ensuring real-time collaboration in the process of video segmentation, encoding, transmission, and repair. Specifically: the segmented video segments are transmitted through Adjust the time synchronization to ensure that the subsequent modules can receive it correctly. The encoded video segment is passed through Adjust the time synchronization to ensure that there is no time misalignment during the transmission process. The transmitted video segment is transmitted through Adjust the time synchronization to ensure that the receiving end can decode correctly. The repaired video segment is passed Adjust time synchronization to ensure the quality of the final video. In the video streaming system, the output signals of each module need to be synchronized and coordinated to ensure real-time collaboration of the entire system and optimize the transmission effect.

[0130] Optionally, the video transmission method may include but is not limited to:

[0131] The hot video segment is determined according to the user's playback entropy of the video segment. Specifically, in some embodiments, the information entropy of the video segment can be determined based on, but not limited to, the user's actual playback information entropy and the standard playback information entropy.

[0132] It should be noted that the information entropy when the user chooses to play is a measure of the uncertainty of the user's selection behavior. In the video streaming system, information entropy is usually used to describe the randomness or uncertainty of the user's selection behavior when selecting video clips. Specifically, if the user shows a lot of randomness when selecting video clips, then the information entropy will be relatively high; on the contrary, if the user always tends to choose the same video clip, then the information entropy will be relatively low.

[0133] The specific calculation method of the information entropy when the user chooses to play is as follows:

[0134] S1, collects the number of times users watch different video segments;

[0135] S2, calculate the viewing frequency p(x i ), which is the number of views divided by the total number of views;

[0136] S3, p(x i ) into the following formula to obtain the information entropy when the user chooses to play:

[0137] H(X)=-∑ip(xi)logp(xi) (12)

[0138] Among them, H(X) is used to represent the information entropy when the user chooses to play. It should be noted that p(x i ) determines the information entropy when the user selects to play.

[0139] S4, input the information entropy when the user selects to play into the following formula to obtain the information entropy of the video segment:

[0140]

[0141] Among them, E in the formula p Used to represent the playback entropy of a video segment, E uIt is used to represent the information entropy when the user chooses to play. s It is used to represent the standard playback information entropy. It should be noted that the above standard playback information entropy can be used for, but is not limited to, the information entropy level of user playback behavior under an ideal state. The smaller the playback entropy, the greater the difference between the user's behavior pattern when watching a certain video segment and the playback behavior under an ideal state, that is, the higher the user's attention to the video segment.

[0142] In addition, the information entropy of the above video segment can be calculated by the following formula:

[0143]

[0144] Among them, p i : represents the user's response to the i-th video segment V i The viewing probability of the video segment is the reflection of the user’s actual viewing behavior, that is, the viewing frequency or number of times the user views different segments when watching the video; std : represents the standard probability distribution, which is a probability distribution set by the system based on a certain standard or expected behavior, and is used as a reference benchmark to compare the user's actual viewing behavior.

[0145] Further, after determining the playback entropy of each video segment, the video segment with a playback entropy less than the playback entropy threshold can be determined as a hot video segment, but is not limited to. It should be noted that the hot video segment will be transmitted first to ensure that the user can receive the content of interest as soon as possible.

[0146] Optionally, as an optional solution, a video transmission system is also provided in this embodiment, specifically, as follows: Figure 2 The transmission system of the above video shown includes:

[0147] Video stream segmentation module 202: used to receive multiple video stream input signals, and segment the video streams according to the importance of the video content and the user's viewing behavior, and divide the video into multiple priority segments;

[0148] Video encoding module 204: used to perform multi-resolution hierarchical encoding on the segmented video segments, with different encoding bit rates and resolutions being used for video segments with different priorities;

[0149] Data compression optimization module 206: used to compress video streams using the improved H.265 / HEVC standard and adaptive bit rate (ABR) encoding technology

[0150] Dynamic bandwidth management module 208: used to adjust the transmission rate of each video segment according to the dynamic change of network bandwidth and the importance priority of each video segment;

[0151] Video stream preloading and caching module 210: used to transmit video segments of different priorities in parallel through multiple network paths, and optimize transmission efficiency according to path delay and bandwidth changes;

[0152] AI video stream repair module 212: used to repair the image quality through a deep learning model when distortion occurs during video transmission, so as to ensure that users obtain a high-definition and smooth video experience;

[0153] User behavior analysis module 214: used to calculate the playback entropy according to the viewing frequency of different video segments by the user to determine the user's sensitivity to the hot video segments;

[0154] User interface module 216: used to display system status information and receive user input.

[0155] Specifically, the intelligent video stream segmentation module further includes: a high priority video stream module for transmitting high priority video data, a low priority video stream module for transmitting low priority video data, and a video stream separation control unit for separating the input video stream into high priority and low priority video streams according to predetermined rules, wherein the video stream separation control unit further includes: a frame rate analyzer: for analyzing the frame rate of the video stream; a quality assessor: for analyzing the color depth, resolution and encoding and decoding efficiency of the video stream; a priority decider: for determining the priority of the video stream according to the frame rate and quality assessment results.

[0156] Optionally, the data compression optimization module further includes: a compression algorithm selector for selecting a compression algorithm suitable for the current video stream characteristics, and a compression processor for executing the compression algorithm to compress the video stream, the compression processor further includes: an H.265 / HEVC encoder for selecting optimal encoding parameters according to the characteristics of the video stream; an ABR encoder for selecting the optimal bit rate according to the characteristics of the video stream. Preferably, the dynamic bandwidth management module further includes: a bandwidth monitor for monitoring the current network bandwidth usage and a bandwidth allocator for dynamically allocating bandwidth according to the bandwidth monitoring results and the priority of the video stream.

[0157] Preferably, the user behavior analysis module further includes: a viewing frequency calculator for calculating the viewing frequency of users for different video segments, a playback entropy calculation unit for calculating the playback entropy based on the viewing frequency, and a sensitivity evaluation unit for evaluating the user's sensitivity to hot video segments based on the playback entropy; the playback entropy calculation unit further includes: an information entropy calculation subunit: for calculating the information entropy when the user selects a video to play; a playback entropy calculation subunit: for calculating the playback entropy; a hot segment determination subunit: for determining that the video segment with the smallest playback entropy is the hot segment.

[0158] Preferably, the user interface module further includes: a status display component: used to display the operating status of the current system (for example, system health status: indicating whether the system as a whole is operating normally, whether there are any faults or warnings; video stream transmission status: showing whether the video stream is being transmitted smoothly, whether there are any interruptions or delays; connection status: displaying the connection status with the server or client, such as whether the connection is successfully established, the connection speed, etc.) and various parameter indicators (for example, bandwidth usage, video stream transmission parameters, cache status, network delay, errors and warnings, video quality, user behavior data, AI repair module status, encoder status, etc.); an input receiving component: used to receive user input; an operation interface: used to provide a convenient operation method for users to configure and manage; wherein the operation interface further includes: a parameter setting component: used for users to customize the priority and data compression rate of video streams; a real-time detection component: used to display the current network bandwidth usage and video stream transmission status in real time.

[0159] It should be noted that the parameter setting component allows users to adjust the priority and data compression rate of the video stream according to their own needs. Users can manually adjust the priority of the video stream through the parameter setting component on the operation interface so that more critical content can obtain better transmission quality. In addition, users can also change the data compression rate to adapt to different network environments or personal preferred video quality.

[0160] Optionally, the video transmission method may be explained based on but not limited to the following examples:

[0161] Assume that the total network bandwidth is 1 Gbps, which can support up to 150 users to watch simultaneously; video stream type: contains 5 video streams, of which 3 are 1080p video streams (average bit rate 8 Mbps) and 2 are 4K video streams (average bit rate 25 Mbps).

[0162] S1, receiving video stream: the system receives 5 video streams, and classifies and marks the streams through the content analysis module, extracting the basic characteristics of the video streams, such as bit rate, resolution, content type, etc.; S2, intelligent video stream segmentation: the video streams are segmented and prioritized, and according to the content characteristics (such as user behavior data), the key content ratio is set to 40% and the background content ratio is set to 60%. Key content is transmitted in high resolution (1080p or 4K), while background content uses lower resolution (720p or 480p); S3, dynamic bandwidth management: Based on real-time network detection data, a dynamic bandwidth allocation algorithm (such as queue priority scheduling) is used to adjust the transmission rate of the video stream, giving priority to the smooth transmission of key content, and automatically adjusting the transmission rate according to the network load to keep it within an optimal range. The transmission rate of key content is set to ≥20Mbps. When the network fluctuates, it is ensured that it can adapt within the bandwidth range of 500Mbps to 1Gbps; S4, multi-path parallel transmission: Each video stream is transmitted through 3 parallel network paths, and the traffic engineering algorithm is used to select the path with the lowest delay to optimize the overall delay. The system detects the load of each path and dynamically adjusts the data packet allocation to avoid congestion on a certain path; S5, video stream repair: The distorted video frames are repaired through the AI ​​video stream repair module. The input parameters of the repair algorithm are set as: the number of lost frames, the number of reconstructed frames, and the target image quality standard to ensure that the key content can still maintain a good viewing experience after recovery.

[0163] It should be noted that in the above example, the contradiction between video quality and fluency is effectively resolved. By intelligently segmenting and prioritizing the video stream, it is ensured that key content can maintain high-quality transmission even when the network bandwidth is limited. At the same time, low-priority video content is optimized through data compression, which reduces the burden of data transmission, thereby ensuring the smoothness of video playback and reducing the phenomenon of freezes and interruptions. The dynamic adjustment mechanism of the bandwidth management module performs well in a multi-user environment. It can flexibly allocate bandwidth resources according to real-time network conditions, ensuring that resources can be reasonably allocated even in a complex network environment to maintain the transmission quality of the video stream. The multi-path parallel transmission mechanism further optimizes the transmission efficiency of the video stream. By selecting the path with the lowest delay to transmit the video segment, the overall transmission delay is successfully reduced and the stability of video transmission is improved. The AI ​​video stream repair module plays an important role when distortion occurs during video transmission. The distorted video frames are successfully repaired through the convolutional neural network, ensuring that the picture quality of the user is not affected.

[0164] As another optional example, it can be based on but not limited to Figure 3The following steps shown in the figure provide an overall explanation of the above-mentioned video transmission method: S302, the video stream segmentation module receives the original video stream and calculates the priority of the video frames in the original video stream; S304, the original video stream is segmented and divided into high-priority and low-priority video segments according to content characteristics; S306, the high-priority video segment is decomposed in the high-frequency domain and the low-priority video segment is decomposed in the low-frequency domain by the improved encoding module; S308, the low-priority video segment is subjected to the H.265 / HEVC standard and adaptive bit rate (ABR) S310: dynamically adjust the transmission rate of the video segment according to the network status and the priority of the video segment, and give priority to the transmission of the high-priority video segment; S312: preload the video segment according to the user behavior prediction model to reduce the delay; S314: use multiple paths to transmit the video segment in parallel, and select the path with the lowest delay to optimize the overall delay; S316: when the video is distorted, use AI technology to repair the video frame in real time to ensure the image quality; S318: each module synchronously outputs the signal through the system bus to achieve real-time collaboration of the video stream and optimize the transmission effect.

[0165] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0166] According to another aspect of the embodiments of the present application, a video transmission device for implementing the above-mentioned video transmission method is also provided. Figure 4 As shown, the device comprises:

[0167] A first determining unit 402 is configured to determine, upon receiving a video acquisition request sent by a terminal device, a plurality of videos requested to be acquired by the terminal device;

[0168] The second determining unit 404 is used to determine the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos;

[0169] The third determining unit 406 determines the transmission bandwidth corresponding to each video based on the video priority corresponding to each video in the multiple videos, the total number of the multiple videos, and the remaining bandwidth in the target network for transmitting the video;

[0170] The encoding processing unit 408 is used to perform encoding processing on each of the multiple videos to obtain multiple encoded videos;

[0171] A compression processing unit 410 is used to compress each coded video according to the video priority of each coded video in the multiple coded videos to obtain multiple compressed video resources, wherein the video with a lower video priority has a greater compression rate when the compression processing is performed;

[0172] The transmission unit 412 is used to transmit the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

[0173] Optionally, in this embodiment, the above-mentioned device also includes: a first division unit, used to obtain a first frame quality parameter corresponding to each video frame of a plurality of video frames included in the current video, wherein the first frame quality parameter is obtained based on the frame rate, resolution, color depth and encoding and decoding efficiency of the video frame; based on the first frame quality parameter, the plurality of video frames are divided into a plurality of video segments, and based on the average first quality parameter corresponding to each of the plurality of video segments, the video segment priority corresponding to each of the plurality of video segments is determined; a second division unit, used to obtain a second frame quality parameter corresponding to each of the plurality of video frames included in the current video frame, wherein the second frame quality parameter includes motion intensity, scene complexity, and user attention of the video frame, and the user attention is generated based on the access record of the video frame by the user account of the terminal device; based on the second frame quality parameter, the plurality of video frames are divided into a plurality of video segments, and based on the second frame quality parameter, the video segment priority corresponding to each of the plurality of video segments is determined; wherein the number of the plurality of video segments is less than the number of the plurality of video frames.

[0174] Optionally, in this embodiment, the encoding processing unit is used to determine each video in the multiple videos as the current video in turn, and perform the following steps: based on the video segment priority corresponding to each video segment in the multiple video segments divided from the current video, the multiple video segments are encoded to obtain the current video after encoding, wherein the video segment with a higher video segment priority has a higher encoding bit rate corresponding to it during encoding.

[0175] Optionally, in this embodiment, the above-mentioned second determination unit includes: a first acquisition module, used to acquire the frame rate of the current video, the resolution of the current video, the color depth of the current video and the encoding and decoding efficiency of the current video; a second acquisition module, used to acquire a first parameter based on the frame rate of the current video and a first weight; a third acquisition module, used to acquire a second parameter based on the resolution of the current video and a second weight; a fourth acquisition module, used to acquire a third parameter based on the color depth of the current video and a third weight; a fifth acquisition module, used to acquire a fourth parameter based on the encoding and decoding efficiency of the current video and a fourth weight; a first determination module, used to determine the video priority of the current video using the first parameter, the second parameter, the third parameter and the fourth parameter; wherein the sum of the first weight, the second weight, the third weight and the fourth weight is the target value.

[0176] Optionally, in this embodiment, the third determination unit includes: a second determination module, used to determine a first intermediate value based on the remaining bandwidth and the total number of multiple videos; a third determination module, used to determine a second intermediate value based on the video priority of the current video and the sum of the video priorities of the multiple videos; and a fourth determination module, used to determine the product of the first intermediate value and the second intermediate value as the transmission bandwidth of the current video.

[0177] Optionally, in this embodiment, the above-mentioned device also includes: a fourth determination unit, used to determine the current remaining bandwidth of the target network at the current time and determine at least one video segment to be transmitted in the target video when the current time reaches the transmission rate adjustment time of the target video; a fifth determination unit, used to determine at least one transmission rate corresponding to at least one video segment based on the current remaining bandwidth and the video segment priority corresponding to the at least one video segment; and a first transmission unit, used to transmit at least one video segment according to at least one transmission rate.

[0178] For a specific embodiment, reference may be made to the example shown in the above-mentioned video transmission method, and this embodiment will not be described in detail here.

[0179] According to another aspect of the embodiment of the present application, an electronic device for implementing the above-mentioned video transmission method is also provided. This embodiment is described by taking the electronic device as a server. Figure 5 As shown, the electronic device includes a memory 502 and a processor 504. The memory 502 stores a computer program, and the processor 504 is configured to execute the steps in any of the above method embodiments through the computer program.

[0180] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.

[0181] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:

[0182] S1, upon receiving a video acquisition request sent by a terminal device, determining a plurality of videos requested to be acquired by the terminal device;

[0183] S2, determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos;

[0184] S3, determining a transmission bandwidth corresponding to each video based on a video priority corresponding to each video in the multiple videos, a total number of the multiple videos, and a remaining bandwidth in a target network for transmitting the videos;

[0185] S4, encoding each of the multiple videos to obtain multiple encoded videos;

[0186] S5, compressing each coded video according to the video priority of each coded video in the multiple coded videos to obtain multiple compressed video resources, wherein a video with a lower video priority has a greater compression rate when the compression process is performed;

[0187] S6, transmitting the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

[0188] Alternatively, a person skilled in the art may understand that: Figure 5 The structure shown is for illustration only, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (Mobile Internet Devices, MID), a PAD, or other terminal devices. Figure 5 The structure of the electronic device is not limited. Figure 5 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 5 Different configurations shown.

[0189] Among them, the memory 502 can be used to store software programs and modules, such as the program instructions / modules corresponding to the video transmission method and device in the embodiments of the present application. The processor 504 executes various functional applications and data processing by running the software programs and modules stored in the memory 502, that is, realizing the above-mentioned video transmission method. The memory 502 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 502 may further include a memory remotely located relative to the processor 504, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. As an example, Figure 5 As shown, the memory 502 may include, but is not limited to, the first determination unit 402, the second determination unit 404, the third determination unit 406, the encoding processing unit 408, the compression processing unit 410, and the transmission unit 412 in the video transmission device. In addition, other module units in the video transmission device may also be included but are not limited to, which will not be repeated in this example.

[0190] Optionally, the transmission device 506 is used to receive or send data via a network. Specific examples of the network may include wired networks and wireless networks. In one example, the transmission device 506 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 506 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0191] In addition, the electronic device further comprises: a connection bus 508 for connecting various module components in the electronic device.

[0192] In other embodiments, the terminal device or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. The nodes may form a point-to-point network, and any form of computing device, such as a server, terminal or other electronic device, may become a node in the blockchain system by joining the point-to-point network.

[0193] According to one aspect of the present application, a computer program product is provided, the computer program product comprising a computer program / instruction, the computer program / instruction comprising a program code for executing the above method. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit, various functions provided by the embodiments of the present application are executed.

[0194] According to one aspect of the present application, another computer program product is also provided, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps of the method in each embodiment of the present application are implemented.

[0195] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above method.

[0196] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:

[0197] S1, upon receiving a video acquisition request sent by a terminal device, determining a plurality of videos requested to be acquired by the terminal device;

[0198] S2, determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the multiple videos;

[0199] S3, determining a transmission bandwidth corresponding to each video based on a video priority corresponding to each video in the multiple videos, a total number of the multiple videos, and a remaining bandwidth in a target network for transmitting the videos;

[0200] S4, encoding each of the multiple videos to obtain multiple encoded videos;

[0201] S5, compressing each coded video according to the video priority of each coded video in the multiple coded videos to obtain multiple compressed video resources, wherein a video with a lower video priority has a greater compression rate when the compression process is performed;

[0202] S6, transmitting the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

[0203] It should be noted that the collection and processing of relevant data in this application should be strictly in accordance with the requirements of relevant national laws and regulations when applied in examples, and the informed consent or separate consent of the personal information subject should be obtained, and subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the personal information subject.

[0204] Optionally, in the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0205] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.

[0206] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.

[0207] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0208] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0209] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0210] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0211] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A video transmission method, characterized in that: include: In case of receiving a video acquisition request sent by a terminal device, determining a plurality of videos requested to be acquired by the terminal device; Determine the video priority corresponding to each of the multiple videos based on the video quality parameter corresponding to each of the multiple videos; Determine the transmission bandwidth corresponding to each of the videos based on the video priority corresponding to each of the multiple videos, the total number of the multiple videos, and the remaining bandwidth in the target network for transmitting the videos; Encoding each of the multiple videos to obtain multiple encoded videos; Compress each of the plurality of encoded videos according to the video priority of each encoded video to obtain a plurality of compressed video resources, wherein a video with a lower video priority has a greater compression rate when the compression is performed; The compressed videos corresponding to the respective videos in the plurality of compressed video resources are transmitted to the terminal device according to the transmission bandwidth corresponding to the respective videos in the plurality of videos.

2. The method according to claim 1, characterized in that After determining the transmission bandwidths corresponding to the respective videos based on the video priorities corresponding to the respective videos in the plurality of videos and the remaining bandwidth in the target network for transmitting the videos, the method further includes: Determine each of the multiple videos as the current video in turn, and perform the following steps: Obtaining a first frame quality parameter corresponding to each of the multiple video frames included in the current video, wherein the first frame quality parameter is obtained based on the frame rate, resolution, color depth, and encoding and decoding efficiency of the video frame; dividing the multiple video frames into multiple video segments based on the first frame quality parameter, and determining a video segment priority corresponding to each of the multiple video segments based on an average first quality parameter corresponding to each of the multiple video segments; or Obtaining a second frame quality parameter corresponding to each of the multiple video frames included in the current video frame, wherein the second frame quality parameter includes motion intensity, scene complexity, and user attention of the video frame, and the user attention is generated based on an access record of the video frame by a user account of the terminal device; dividing the multiple video frames into multiple video segments based on the second frame quality parameter, and determining a video segment priority corresponding to each of the multiple video segments based on the second frame quality parameter; The number of the multiple video segments is smaller than the number of the multiple video frames.

3. The method according to claim 2, characterized in that The encoding process of each video in the plurality of videos to obtain a plurality of encoded videos comprises: Determine each of the multiple videos as the current video in turn, and perform the following steps: Based on the video segment priorities corresponding to the respective video segments in the multiple video segments divided from the current video, the multiple video segments are encoded to obtain the current video after encoding, wherein a video segment with a higher video segment priority has a higher encoding bit rate corresponding to it during encoding.

4. The method according to claim 1, characterized in that: The determining the video priority corresponding to each video based on the video quality parameter corresponding to each video in the plurality of videos comprises: Determine each of the multiple videos as the current video in turn, and perform the following steps: Obtaining the frame rate of the current video, the resolution of the current video, the color depth of the current video, and the encoding and decoding efficiency of the current video; Acquire a first parameter based on a frame rate of the current video and a first weight; Acquire a second parameter based on the resolution of the current video and a second weight; Acquire a third parameter based on the color depth of the current video and a third weight; Acquire a fourth parameter based on the encoding and decoding efficiency of the current video and a fourth weight; Determine the video priority of the current video using the first parameter, the second parameter, the third parameter and the fourth parameter; Among them, the sum of the first weight, the second weight, the third weight and the fourth weight is the target value.

5. The method according to any one of claims 1 to 4, characterized in that The determining, based on the video priority corresponding to each video in the plurality of videos, the total number of the plurality of videos, and the remaining bandwidth in the target network for transmitting the videos, of the transmission bandwidth corresponding to each video includes: Determine each of the multiple videos as the current video in turn, and perform the following steps: Determining a first intermediate value based on the remaining bandwidth and the total number of the plurality of videos; Determining a second intermediate value based on the video priority of the current video and the sum of the video priorities of the plurality of videos; The product of the first intermediate value and the second intermediate value is determined as the transmission bandwidth of the current video.

6. The method according to claim 2, characterized in that When the compressed video corresponding to each video in the plurality of compressed video resources is transmitted to the terminal device according to the transmission bandwidth corresponding to each video in the plurality of videos, the method further includes: When a target video among the multiple videos is being transmitted, the following steps are performed: In the case where the current time reaches the transmission rate adjustment time of the target video, determining the current remaining bandwidth of the target network at the current time, and determining at least one video segment to be transmitted in the target video; determining at least one transmission rate corresponding to the at least one video segment according to the current remaining bandwidth and the video segment priority corresponding to the at least one video segment; The at least one video segment is transmitted at the at least one transmission rate.

7. A video transmission device, characterized in that: include: A first determining unit, configured to determine, upon receiving a video acquisition request sent by a terminal device, a plurality of videos requested to be acquired by the terminal device; A second determining unit, configured to determine the video priority corresponding to each of the multiple videos based on the video quality parameter corresponding to each of the multiple videos; A third determining unit determines the transmission bandwidths corresponding to the respective videos based on the video priority corresponding to the respective videos in the plurality of videos, the total number of the plurality of videos, and the remaining bandwidth in the target network for transmitting the videos; An encoding processing unit, used for encoding each of the multiple videos to obtain multiple encoded videos; A compression processing unit, configured to compress each of the plurality of encoded videos according to a video priority of each encoded video to obtain a plurality of compressed video resources, wherein a video with a lower video priority has a greater compression rate when the compression processing is performed; The transmission unit is used to transmit the compressed video corresponding to each video in the multiple compressed video resources to the terminal device according to the transmission bandwidth corresponding to each video in the multiple videos.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program is executed by a processor to perform the method described in any one of claims 1 to 6.

9. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 6 through the computer program.

Citation Information

Cited By

  • Video data transmission method and device, storage medium and electronic equipment

    CN120455784A