A video transmission method, device, computer equipment and storage medium

By monitoring network and system status in real time, selecting the optimal server, and making dynamic adjustments, the problem of stuttering during video playback was solved, resulting in a smoother video experience.

CN119583853BActive Publication Date: 2025-11-04CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411787126.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-11-04
Estimated Expiration
2044-12-06

AI Technical Summary

Technical Problem

In existing technologies, video playback is often interrupted by issues such as network instability, low bandwidth, and network congestion, leading to stuttering and audio-video desynchronization, which negatively impacts user experience.

Method used

By monitoring network quality and system status in real time, the optimal edge gateway and cache server are selected, the cache server is dynamically adjusted, and the prefetch buffer and transcoding server are used to ensure timely acquisition and adaptive adjustment of video slices, generate video playlist files, and avoid resource waste.

Benefits of technology

Reduce network latency and bandwidth bottlenecks, improve the smoothness of video playback, ensure the continuity and stability of video playback, and enhance the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119583853B_ABST
    Figure CN119583853B_ABST
Patent Text Reader

Abstract

The application relates to a video transmission method and device, computer equipment and a storage medium. The method comprises the following steps: in response to a video playing request, obtaining a target gateway in an edge gateway group and a target cache server in a cache server group, the target gateway and the target cache server being obtained based on network quality and system state information in the edge gateway group, the cache server group and a transcoding server group obtained by a scheduling center in real time; sending the video playing request to the target gateway based on the order of a target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index; in the case that the video back-to-source quality monitoring index does not meet preset monitoring standards, reacquiring a next cache server with a lower weight than the target cache server in the cache server group, so that the target gateway requests the target video slice from the next cache server.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of video communication, and in particular to a video transmission method and device, a computer device and a storage medium. BACKGROUND

[0002] With the rapid development of the Internet and the popularity of intelligent terminal devices, higher requirements are put forward for video watching experience. However, in the actual network, unstable network connection, low bandwidth, network congestion, packet loss and other situations may be encountered, resulting in a pause in the video playing process, such as frequent buffering prompts, video picture freezing, or audio and video out of sync, which affects the user's watching experience.

[0003] In the related art, HLS (HTTP Live Streaming, HTTP-based adaptive bit rate streaming media transmission protocol) is one of the HTTP (Hypertext Transfer Protocol, HyperText Transfer Protocol) dynamic bit rate adaptive technologies currently widely used. The video stream is divided into a series of continuous and uniform TS (Transport Stream, Transport Stream) slice files, which are downloaded and played by the client through the m3u8 playlist. Users can request video slice files with appropriate bit rates from the server as needed. Due to slicing or downloading, slicing anomalies, download failures or delays may occur, resulting in a pause in video playback, which affects the video playback effect. SUMMARY

[0004] Therefore, it is necessary to provide a video transmission method, device, computer device and storage medium to solve the above technical problems.

[0005] In a first aspect, the present application provides a video transmission method. The method comprises:

[0006] In response to a video playing request, obtaining a target gateway in an edge gateway group and a target cache server in a cache server group, the video playing request comprising a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on network quality and system state information in the edge gateway group, the cache server group and a transcoding server group obtained by a scheduling center in real time;

[0007] Based on the order of the target video slice, the video playing request is sent to the target gateway, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index;

[0008] In a case where the video back-to-source quality monitoring index does not meet the preset monitoring standard, a next cache server with a weight lower than that of the target cache server in the cache server group is re-acquired, so that the target gateway requests the target video slice from the next cache server.

[0009] In one of the embodiments, after the target gateway is sent the video play request based on the order of the target video slice, the method further comprises:

[0010] sending the video play request to the target gateway for checking whether the target video slice is included in a pre-fetch buffer;

[0011] in a case where the target video slice is included in the pre-fetch buffer, directly acquiring the target video slice from the pre-fetch buffer and sending it to the terminal based on a preset code rate.

[0012] In one of the embodiments, after the target gateway is sent the video play request based on the order of the target video slice, the method further comprises:

[0013] in a case where the target video slice is not included in the target cache server, sending the video play request to a main transcoding server, the transcoding server group including the main transcoding server and a backup transcoding server.

[0014] In one of the embodiments, the main transcoding server is configured to acquire a target video, perform slice processing and transcoding processing on the target video, and obtain a transcoded video slice, the transcoded video slice including timestamp information and time length information.

[0015] generating a video play list file based on the timestamp information and the time length information.

[0016] storing the video slice and the video play list file in a cache server.

[0017] In one of the embodiments, the method further comprises:

[0018] acquiring the timestamp information, and triggering an alarm in a case where a time difference between adjacent video slices is greater than a preset video stream segmentation interval.

[0019] continuously monitoring a running state of the transcoding processing, and triggering an alarm and automatically switching to the backup transcoding server in a case where the running state is abnormal.

[0020] In one of the embodiments, the target gateway requesting the target video slice from the target cache server comprises:

[0021] obtain a target video slice size and a target video slice duration based on a target video playlist file in the target cache server;

[0022] obtain a slice original code rate based on the target video slice size and the target video slice duration;

[0023] obtain a slice adjusted code rate based on network quality and system state information of the target gateway, the slice original code rate, the target video slice size, and the target video slice duration;

[0024] obtain an estimated slice sending duration based on the slice adjusted code rate and the target video slice size;

[0025] obtain a preset slice quantity based on a preset sending duration and the estimated slice sending duration.

[0026] In a second aspect, the present application further provides a video transmission device, the device comprising:

[0027] a response module, configured to obtain a target gateway in an edge gateway group and a target cache server in a cache server group in response to a video playing request, the video playing request comprising a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on real-time network quality and system state information in the edge gateway group, the cache server group, and a transcoding server group by a scheduling center;

[0028] a sending module, configured to send the video playing request to the target gateway based on the order of the target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index;

[0029] an obtaining module, configured to reobtain a next cache server in the cache server group with a weight lower than that of the target cache server in a case where the video back-to-source quality monitoring index does not meet a preset monitoring standard, so that the target gateway requests the target video slice from the next cache server.

[0030] In one of the embodiments, the device further comprises:

[0031] the sending module is further configured to send the video playing request to the target gateway, so that the target gateway checks whether the target video slice is included in a pre-fetch buffer;

[0032] in a case where the target video slice is included in the pre-fetch buffer, the target video slice is directly obtained from the pre-fetch buffer and sent to a terminal based on a preset code rate.

[0033] In one of the embodiments, after the target video slice-based sequence sends the video play request to the target gateway, the device further comprises:

[0034] In the case that the target video slice is not included in the target cache server, the video play request is sent to a main transcoding server, and the main transcoding server, a backup transcoding server are included in the transcoding server group.

[0035] In one of the embodiments, the main transcoding server is used to obtain a target video, slice the target video, and perform transcoding processing to obtain a transcoded video slice, and the transcoded video slice includes timestamp information and time length information.

[0036] A video play list file is generated based on the timestamp information and the time length information.

[0037] The video slice and the video play list file are stored in a cache server.

[0038] In one of the embodiments, the device further comprises:

[0039] The timestamp information is obtained, and when the time difference between adjacent video slices is greater than a preset video stream segmentation interval, an alarm is triggered.

[0040] The running state of the transcoding processing is continuously monitored, and when the running state is abnormal, an alarm is triggered, and the backup transcoding server is automatically switched.

[0041] In one of the embodiments, the target gateway requests the target video slice from the target cache server, which comprises:

[0042] The target video slice size and the target video slice time length are obtained based on the target video play list file in the target cache server.

[0043] The slice original code rate is obtained based on the target video slice size and the target video slice time length.

[0044] The network quality and system state information of the target gateway are obtained, and the slice adjusted code rate is obtained based on the network quality and system state information of the target gateway and the slice original code rate.

[0045] The estimated slice sending time length is obtained based on the slice adjusted code rate and the target video slice size.

[0046] The preset slice number is obtained based on the preset sending time length and the estimated slice sending time length.

[0047] In a third aspect, the present disclosure also provides a computer device. The computer device comprises a memory and a processor, the memory stores a computer program, and the processor implements the steps of the video transmission method when executing the computer program.

[0048] In a fourth aspect, the present disclosure also provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program implements the steps of the video transmission method when executed by a processor.

[0049] In a fifth aspect, the present disclosure also provides a computer program product. The computer program product comprises a computer program, and the computer program implements the steps of the video transmission method when executed by a processor.

[0050] The video transmission method described above has at least the following beneficial effects:

[0051] The embodiments provided by the present disclosure ensure the selection of the optimal gateway and cache server by monitoring the network quality and system status in real time, thereby reducing network delay and bandwidth bottlenecks and improving the smoothness of video playback. By dynamically adjusting and reselecting the cache server, network resources and server resources can be more effectively utilized, and resource waste can be avoided.

[0052] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and are not limiting to the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor.

[0054] Figure 1 An application environment diagram of the video transmission method in an embodiment;

[0055] Figure 2 A flowchart of the video transmission method in an embodiment;

[0056] Figure 3 A schematic diagram of a scheduling center request in an embodiment;

[0057] Figure 4 A schematic diagram of triggering an alarm in an embodiment;

[0058] Figure 5 A schematic diagram of the video transmission method in an embodiment;

[0059] Figure 6 An exemplary diagram for preset slice quantity calculation in one embodiment;

[0060] Figure 7 A structure block diagram of a transmission device for video in one embodiment;

[0061] Figure 8 An internal structure diagram of a computer device in one embodiment;

[0062] Figure 9 An internal structure diagram of a server in one embodiment. DETAILED DESCRIPTION

[0063] In order to make the ordinary person skilled in the art better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below in conjunction with the drawings.

[0064] It should be noted that the terms "first", "second", and the like in the specification and claims of the present disclosure and the above-described drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or a chronological sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein. The implementation described in the following exemplary embodiments does not represent all the implementations consistent with the present disclosure. Rather, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims. The terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, product or apparatus that includes a list of elements does not only include those elements, but also includes other elements not explicitly listed, or further includes elements inherent in such a process, method, product or apparatus. Without more limitations, it does not exclude the presence of other same or equivalent elements in the process, method, product or apparatus that includes the elements. For example, if the words first, second, etc. are used to indicate names, they do not mean any specific order.

[0065] The embodiments of the present disclosure provide a video transmission method, which can be applied to, for example, Figure 1The application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data required by the server 104 to process. The data storage system can be integrated on the server 104, or placed on the cloud or other network servers. Among them, the terminal 102 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices and portable wearable devices, Internet of Things devices can be smart speakers, smart televisions, smart air conditioners, smart car devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be implemented by an independent server or a server cluster composed of multiple servers.

[0066] In some embodiments of the present disclosure, as shown in Figure 2 A video transmission method is provided. The method is applied to Figure 1 processing of a video playing request by a server is taken as an example for illustration. It can be understood that the method can be applied to the server, and can also be applied to a system including a terminal and a server, and is realized through the interaction of the terminal and the server. In a specific embodiment, the method can include the following steps:

[0067] S202: In response to a video playing request, obtaining a target gateway in an edge gateway group and a target cache server in a cache server group, the video playing request including a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on scheduling center real-time acquisition of network quality and system state information in the edge gateway group, the cache server group and the transcoding server group.

[0068] Figure 3 A schematic diagram of a request for a scheduling center in an embodiment. The scheduling center is requested to real-time acquire network quality and system state information of servers in the edge gateway group, the cache server group and the transcoding server group. The gateway servers can be sorted and marked according to the optimal network quality and system state, and the latest cache server weight values are issued to each gateway. The better the network quality and system state, the greater the cache server weight. At the same time, the main and standby transcoding server states are monitored, and the main transcoding server state is better than the standby transcoding server. The network quality monitoring includes: time delay, packet loss and jitter indicators. The system state monitoring includes: CPU (Central Processing Unit, CPU) usage, memory usage and io (input output, io) usage indicators.

[0069] After obtaining the video playing request, the target gateway in the edge gateway group and the target cache server in the cache server group can be obtained in real time through the dispatching center. The target video slice refers to a specific video segment that the user currently needs to play. The video is divided into multiple small segments, and each segment can be referred to as a slice. The order of the target video slice refers to the position of the slice requested by the user in the video stream.

[0070] S206: Send the video playing request to the target gateway based on the order of the target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index.

[0071] After the target gateway receives the video playing request, the target cache server is preferably selected for a back-to-source request, and a back-to-source quality monitoring is started to obtain a video back-to-source quality monitoring index. The video back-to-source quality monitoring index can include a back-to-source request time consumption, a back-to-source status code, and an actual received slice size. For example, if the back-to-source request time consumption threshold is 1.5s, and it is monitored that the back-to-source request time consumption of a certain slice is 3s, which is greater than 1.5s, an alarm is triggered; the back-to-source status code mainly monitors 5XX errors, for example, if it is monitored that a certain slice responds to 502 in a preset number of retry requests, an alarm is triggered; if the original slice size is 5551640B, the actual received slice size is 4951640B, and the constant c is 0.01.

[0072] Preset slice size = 55516B,

[0073] Difference between actual received slice size and original slice size = 600000B,

[0074] If the difference between the actual received slice size and the original slice size is greater than the preset slice size, i.e. > Y, an alarm is triggered.

[0075] S206: In the case where the video back-to-source quality monitoring index does not meet the preset monitoring standard, a next cache server in the cache server group whose weight is lower than that of the target cache server is re-obtained, so that the target gateway requests the target video slice from the next cache server.

[0076] Figure 4Fig. 1 is a schematic diagram of triggering an alarm in an embodiment. In the case that the video back-to-source quality monitoring index does not meet the preset monitoring standard, the next cache server with a lower weight than the target cache server in the cache server group can be reacquired, and the target gateway requests the target video slice from the next cache server. Dynamically adjusting the weight of each cache server according to its actual performance helps to achieve more uniform load distribution. If a certain cache server has a problem or performance degradation, its dependence can be reduced by reducing its weight, thereby ensuring the overall stability and continuity of the service.

[0077] In the above-mentioned video transmission method, by monitoring the network quality and system state in real time, the optimal gateway and cache server are ensured to be selected, thereby reducing network delay and bandwidth bottleneck and improving the smoothness of video playback. By dynamically adjusting and reselecting the cache server, network resources and server resources can be more effectively utilized through real-time scheduling and dynamic adjustment, and resource waste can be avoided.

[0078] In some embodiments of the present disclosure, after the target video slice is sent to the target gateway based on the order of the target video slice, the method further comprises:

[0079] sending the video playback request to the target gateway for checking whether the target video slice is included in the pre-fetch buffer;

[0080] in the case that the target video slice is included in the pre-fetch buffer, the target video slice is directly acquired from the pre-fetch buffer and sent to the terminal based on the preset code rate.

[0081] Figure 5 Fig. 1 is a schematic diagram of a video transmission method in an embodiment. After receiving the video playback request, the user initiates a request to the target gateway according to the order of the target video slice. After receiving the user's request, the target gateway first checks whether the target video slice exists in the pre-fetch buffer. The pre-fetch buffer is a temporary storage area in the target gateway, which is used to store recently requested slices or pre-downloaded slices to reduce user waiting time. If the target video slice exists in the pre-fetch buffer, the code rate adaptation module is started, and the slice is sent to the user according to the adjusted code rate.

[0082] The adaptive code rate Rb is calculated according to the following formula:

[0083] Rb= min[a * W, Rb i ] , Rb i - 1 ≥ Rb i min[a * W, Rb i (1 - b)] , Rb i - 1 < Rb i

[0084] wherein, is the adjusted code rate of the current slice, a is a constant, and the value thereof is determined according to the network condition. W is the current gateway bandwidth, The previous slice is adjusted to the post-code rate, and b is the packet loss rate of the previous slice transmission. The current slice is the original average code rate. If the current slice is the first slice, then Equal to .

[0085] The slice original average code rate calculation formula is as follows:

[0086]

[0087] Where D is the slice size, unit B. The slice duration obtained from the m3u8 list is s.

[0088] In some embodiments of the present disclosure, after the target video slice is sent to the target gateway based on the order of the target video slice, the method further comprises:

[0089] In the case where the target video slice is not included in the target cache server, the video playback request is sent to the main transcoding server, and the transcoding server group includes the main transcoding server and the backup transcoding server.

[0090] When the target gateway cannot find the video slice requested by the user in the pre-fetch buffer, and the target video slice does not exist in the target cache server, the video playback request can be initiated to the main transcoding server, and the transcoding server group includes the main transcoding server and the backup transcoding server. The main transcoding server is responsible for processing the transcoding task of the video stream, and converts the original video file or real-time video stream into a format suitable for different devices and network conditions. The backup transcoding server can take over the work of the main transcoding server when the main transcoding server fails or abnormally, ensuring the continuity of the service.

[0091] In some embodiments of the present disclosure, the main transcoding server is used to obtain a target video, and perform slice processing and transcoding processing on the target video to obtain a transcoded video slice, and the transcoded video slice includes timestamp information and duration information.

[0092] Generate a video playlist file based on the timestamp information and duration information.

[0093] Store the video slice and the video playlist file in a cache server.

[0094] After receiving the video playback request, the main transcoding server can perform slice processing and transcoding processing on the target video to obtain a transcoded video slice that meets the playback requirements, and generate a video playlist file, which includes timestamp information and duration information.

[0095] In some embodiments of the present disclosure, the method further comprises:

[0096] Obtaining the timestamp information, triggering an alarm when the time difference between adjacent video slices is greater than a preset video stream segmentation interval;

[0097] Continuously monitoring the running state of the transcoding process, triggering an alarm and automatically switching to a backup transcoding server when the running state is abnormal.

[0098] By analyzing the timestamp information in the suffix of the slice file name, the time point of each slice is determined, and the time difference between adjacent slices is compared. If the time difference between adjacent slices is greater than twice the video stream segmentation interval, it is considered that there is an anomaly, and an alarm is triggered. This can ensure that the video stream is correctly cut into slices and avoid playback lag or other problems caused by cutting errors.

[0099] At the same time, the transcoding program is monitored, and when the service is restarted abnormally, an alarm is triggered, the monitoring platform is reported, and the state of the main transcoding server is reduced to that of a backup transcoding server, and the backup transcoding server is triggered to become the main transcoding server for service.

[0100] In some embodiments of the present disclosure, the target gateway requests the target video slice from the target cache server comprises:

[0101] Obtaining the target video slice size and the target video slice duration based on the target video playlist file in the target cache server;

[0102] Based on the target video slice size and the target video slice duration, the slice original code rate is obtained;

[0103] Obtaining the network quality and system state information of the gateway, and based on the network quality and system state information of the gateway, the slice original code rate, obtaining the slice adjusted code rate;

[0104] Based on the slice adjusted code rate and the target video slice size, the estimated slice sending duration is obtained;

[0105] Based on the preset sending duration and the estimated slice sending duration, the preset slice number is obtained.

[0106] Figure 6 A schematic diagram for calculating the preset slice number in an embodiment. According to the above calculation formula of the adaptive code rate, the slice adjusted code rate Rb is obtained, and the current estimated sending duration of the slice is t. The specific operation formula of t is as follows:

[0107]

[0108] D is the size of the current slice to be sent, in units of B.

[0109] Let be the original duration of the current slice, i.e. the duration of the slice shown in the video playlist file, be the minimum duration required for the start of the video service, and N be the maximum number of pre-fetch slices, N is generally 3. Then the actual number of pre-fetch slices n is obtained as follows: .

[0110] For example, let the size of the slice to be sent currently be 5551640B, the original duration of the slice be 10s, the minimum duration for the start of the video service be 2s, and the maximum number of pre-fetch slices be 3. Then the actual number of pre-fetch slices n is calculated as follows:

[0111]

[0112] If the adjusted code rate of the slice to be sent currently is 3.2Mbps, then the estimated duration t of the slice is

[0113] = 13.8s,

[0114] Since 13.8 > 10, n is 3, i.e. 3 slices are pre-fetched.

[0115] If the adjusted code rate of the slice to be sent currently is 4.5Mbps, then the estimated duration t of the slice is

[0116] = 9.8s,

[0117] Then n is 2, i.e. 2 slices are pre-fetched.

[0118] If the estimated duration of the slice is less than or equal to 2s, then 1 slice is pre-fetched.

[0119] It should be understood that although each step in the flowchart involved in each embodiment described above is shown in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless explicitly stated herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other sequences. Moreover, at least part of the steps in the flowchart involved in each embodiment described above can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of these steps or stages is not necessarily sequential, but can be executed in rotation or alternation with at least part of other steps or steps or stages in other steps.

[0120] Based on the same inventive concept, the embodiments of the present disclosure further provide a video transmission device for implementing the video transmission method described above. The implementation of the device for solving the problem is similar to the implementation described in the above method, so the specific limitations in the following embodiments of the video transmission device can be referred to the limitations of the video transmission method described above, which will not be repeated here.

[0121] The device can include a system (including a distributed system), software (application), module, component, server, client, etc. using the method described in the embodiments of the present disclosure, and the device combined with the necessary implementation hardware. Based on the same innovative concept, the device in one or more embodiments provided by the embodiments of the present disclosure is described as follows. Since the implementation of the device for solving the problem is similar to the method, the implementation of the specific device in the embodiments of the present disclosure can be referred to the implementation of the foregoing method, and the repeated part will not be repeated. The term "unit" or "module" used below can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware or a combination of software and hardware is also possible and is conceived.

[0122] In one embodiment, as shown in Figure 7 A video transmission device 700 is provided, which can be the foregoing server, or a module, component, device, unit, etc. integrated in the server. The device 700 can include:

[0123] The response module 702 is configured to obtain a target gateway in the edge gateway group and a target cache server in the cache server group in response to a video playing request, the video playing request including a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on the scheduling center real-time obtaining network quality and system state information in the edge gateway group, the cache server group and the transcoding server group;

[0124] The sending module 704 is configured to send the video playing request to the target gateway based on the order of the target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index;

[0125] The obtaining module 706 is configured to reobtain a next cache server in the cache server group with a weight lower than that of the target cache server in a case where the video back-to-source quality monitoring index does not meet a preset monitoring standard, so that the target gateway requests the target video slice from the next cache server.

[0126] In one of the embodiments, after sending the video playing request to the target gateway based on the sequence of the target video slice, the device further comprises:

[0127] sending the video playing request to the target gateway for checking whether the target video slice is included in the pre-fetch buffer;

[0128] in the case that the target video slice is included in the pre-fetch buffer, directly obtaining the target video slice from the pre-fetch buffer and sending to the terminal based on the preset code rate.

[0129] In one of the embodiments, after sending the video playing request to the target gateway based on the sequence of the target video slice, the device further comprises:

[0130] in the case that the target video slice is not included in the target cache server, sending the video playing request to the main transcoding server, the transcoding server group comprising the main transcoding server and the backup transcoding server.

[0131] In one of the embodiments, the main transcoding server is configured to obtain a target video, slice the target video and perform transcoding processing to obtain a transcoded video slice, the transcoded video slice comprising timestamp information and time length information.

[0132] generating a video playing list file based on the timestamp information and the time length information.

[0133] storing the video slice and the video playing list file into the cache server.

[0134] In one of the embodiments, the device further comprises:

[0135] obtaining the timestamp information, triggering an alarm in the case that the time difference between adjacent video slices is greater than a preset video stream segmentation interval;

[0136] continuously monitoring the running state of the transcoding processing, triggering an alarm and automatically switching to the backup transcoding server in the case that the running state is abnormal.

[0137] In one of the embodiments, the target gateway requesting the target video slice from the target cache server comprises:

[0138] obtaining the target video slice size and the target video slice time length based on the target video playing list file in the target cache server;

[0139] obtaining the slice original code rate based on the target video slice size and the target video slice time length;

[0140] obtain network quality and system state information of the target gateway, and obtain an adjusted slice code rate based on the network quality and system state information of the target gateway and the slice original code rate;

[0141] obtain an estimated slice sending duration based on the adjusted slice code rate and the target video slice size;

[0142] obtain a preset slice quantity based on a preset sending duration and the estimated slice sending duration.

[0143] As to the apparatus in the above embodiments, the specific manners in which various modules perform operations have been described in detail in the embodiments of the method, and thus will not be described here in detail.

[0144] The various modules in the above transmission apparatus for video can be realized in whole or in part through software, hardware and combination thereof. The various modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory in the computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to the various modules.

[0145] In one embodiment, a computer device is provided, which can be a server, and an internal structure diagram of the computer device can be as shown in Figure 8 The computer device includes a processor, a memory and a network interface connected through a system bus. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for running the operating system and the computer program in the non-volatile storage medium. The database of the computer device is configured to store video. The network interface of the computer device is configured to communicate with an external terminal through a network connection. The computer program is executed by the processor to implement a video transmission method.

[0146] In one embodiment, a computer device is provided, which can be a terminal, and an internal structure diagram of the computer device can be as shown in Figure 9As shown, the computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it enables video transmission. The display screen can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad on the computer device's casing, or an external keyboard, touchpad, or mouse.

[0147] Those skilled in the art will understand that Figure 8 , Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present disclosure and does not constitute a limitation on the computer device to which the present disclosure is applied. A specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0148] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the methods described in any embodiment of this disclosure.

[0149] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods described in any embodiment of this disclosure.

[0150] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of each method can be included. Any reference to memory, database or other medium used in each embodiment provided by the present disclosure can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in each embodiment provided by the present disclosure can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in each embodiment provided by the present disclosure can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.

[0151] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of each technical feature in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present disclosure.

[0152] The above embodiments only express several implementation manners of the present disclosure, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present disclosure. It should be noted that for ordinary skilled persons in the art, without departing from the concept of the present disclosure, a number of modifications and improvements can be made, which are within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the appended claims.

Claims

1. A method of transmitting a video, characterized by, The method comprises: In response to a video playing request, obtaining a target gateway in an edge gateway group and a target cache server in a cache server group, the video playing request comprising a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on network quality and system state information in the edge gateway group, the cache server group and a transcoding server group obtained by a scheduling center in real time; Sending the video playing request to the target gateway based on the order of the target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index; In the case that the video back-to-source quality monitoring index does not meet a preset monitoring standard, re-obtaining a next cache server in the cache server group with a weight lower than that of the target cache server, so that the target gateway requests the target video slice from the next cache server.

2. The method of claim 1, wherein, After the video playing request is sent to the target gateway based on the order of the target video slice, the method further comprises: Sending the video playing request to the target gateway, for the target gateway to check whether the target video slice is included in a pre-fetch buffer; In the case that the target video slice is included in the pre-fetch buffer, directly obtaining the target video slice from the pre-fetch buffer and sending it to a terminal based on a preset code rate.

3. The method of claim 1, wherein, After the video playing request is sent to the target gateway based on the order of the target video slice, the method further comprises: In the case that the target video slice is not included in the target cache server, sending the video playing request to a main transcoding server, the transcoding server group comprising the main transcoding server and a backup transcoding server.

4. The method of claim 3, wherein, The main transcoding server is configured to obtain a target video, perform slice processing and transcoding processing on the target video, and obtain a transcoded video slice, the transcoded video slice comprising timestamp information and time length information; Generating a video playing list file based on the timestamp information and the time length information; Storing the video slice and the video playing list file in the cache server.

5. The method of claim 4, wherein, The method further comprises: Obtaining the timestamp information, triggering an alarm in the case that a time difference between adjacent video slices is greater than a preset video stream segmentation interval; Continuously monitoring a running state of the transcoding processing, and triggering an alarm and automatically switching to the backup transcoding server in the case that the running state is abnormal.

6. The method of claim 1, wherein, The target gateway requesting the target video slice from the target cache server comprises: Obtaining a target video slice size and a target video slice time length based on a target video playing list file in the target cache server; Obtaining a slice original code rate based on the target video slice size and the target video slice time length; Obtaining network quality and system state information of the target gateway, and obtaining a slice adjusted code rate based on the network quality and system state information of the target gateway and the slice original code rate; Obtaining an estimated slice sending time length based on the slice adjusted code rate and the target video slice size; Obtaining a preset slice number based on a preset sending time length and the estimated slice sending time length.

7. A video transmission apparatus characterized by comprising: The device comprises: A response module, configured to obtain a target gateway in the edge gateway group and a target cache server in the cache server group in response to a video playing request, the video playing request comprising a target video slice and an order of the target video slice, the target gateway and the target cache server being obtained based on network quality and system state information of the edge gateway group, the cache server group and the transcoding server group obtained by the scheduling center in real time; A sending module, configured to send the video playing request to the target gateway based on the order of the target video slice, so that the target gateway requests the target video slice from the target cache server and obtains a video back-to-source quality monitoring index; An obtaining module, configured to re-obtain a next cache server in the cache server group with a weight lower than that of the target cache server in a case where the video back-to-source quality monitoring index does not meet a preset monitoring standard, so that the target gateway requests the target video slice from the next cache server.

8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.

9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.

10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Hot spot diffusion method and system based on machine health value

    CN117834637A

  • Communication network system distributing multimedia contents and method thereof

    KR1020130116391A