Video stream processing method and device, medium and product

By using forwarding management module and container pool in the application video platform for resource scheduling and transcoding, the problem of video push protocol relying on national standard streams and fixed resource occupation is solved, the response speed and playback quality of video services are improved, and the resource Flexible allocation and reuse.

CN119211603APending Publication Date: 2024-12-27TUS CLOUD CONTROL (BEIJING) TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411066548.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-05
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

In the prior art, video push protocols rely on national standard streams, resulting in inconvenient video application, and the resource occupies a large and fixed resource based on platform cascade, and lacks flexibility.

Method used

By introducing a forwarding management module and container pool in the application video platform, receiving streaming media requests, performing resource scheduling and multiplexing, the transcoding of video streams is realized to adapt to different devices and network conditions.

Benefits of technology

It improves the response speed and playback quality of video services, optimizes the efficiency of resource usage, and realizes on-demand, flexible allocation and reuse of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211603A_ABST
    Figure CN119211603A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the technical field of computer science, and discloses a video stream processing method and device, a medium and a product. The method is applied to an application video platform, and comprises the following steps: receiving a streaming media request initiated by a video application through a forwarding management module; scheduling the container pool according to the streaming media request, and determining a scheduling result; wherein the container pool is used for realizing resource reuse and resource allocation of the streaming media request; and transcoding the video stream according to the scheduling result. The problem that video application is inconvenient due to the fact that video pushing continues to use a national standard stream protocol can be at least solved. And the technical problems of large resource occupation, fixed resource occupation and lack of flexibility based on platform cascading are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer science and technology, and in particular to a video stream processing method, device, medium and product. Background Art

[0002] The autonomous driving cloud control system is a highly intelligent traffic management system that integrates cloud computing, big data, artificial intelligence and Internet of Vehicles technologies. It can collect and process a large amount of vehicle operation data in real time, and achieve optimized scheduling, path planning and safety monitoring of autonomous driving vehicles through centralized decision support. However, in the face of the huge video data stream generated by the autonomous driving cloud control system, the management of the system needs to consider the ability of video application access, the diversity of video application requirements and the balance of resource consumption.

[0003] In the existing technology, considering that video applications lack the ability to access national standard streams and different business scenarios have specific requirements for video stream protocols, resolutions and bit rates, a platform cascade architecture based on national standards is generally built, and an application streaming media service platform with fixed resource management capabilities is developed to fully meet the video application needs in the autonomous driving cloud control system and ensure the effective management and application of video data.

[0004] However, the inventors have found that there are at least the following technical problems in the related technology: in the related technology, on the one hand, the video push protocol is still the national standard stream, which is not convenient for the use of video applications; on the other hand, based on platform cascading, the resources occupied are large and fixed. Summary of the invention

[0005] One purpose of the present application is to provide a video stream processing method, at least to solve the technical problems that video push continues to use the national standard stream protocol, resulting in inconvenience in video application; and the resource occupancy is large and fixed based on platform cascading, and lacks flexibility.

[0006] To achieve the above objectives, some embodiments of the present application provide the following aspects:

[0007] In a first aspect, some embodiments of the present application further provide a video stream processing method, which is applied to an application video platform, and the method includes:

[0008] Receiving a streaming media request initiated by a video application through the forwarding management module;

[0009] The container pool is scheduled according to the streaming media request to determine a scheduling result; wherein the container pool is used to implement resource reuse and resource allocation of the streaming media request;

[0010] The video stream is transcoded according to the scheduling result.

[0011] In a second aspect, some embodiments of the present application further provide an electronic device, comprising: one or more processors; and a memory storing computer program instructions, wherein the computer program instructions, when executed, cause the processor to perform the steps of the method described above.

[0012] In a third aspect, some embodiments of the present application further provide a computer-readable medium having computer program instructions stored thereon, wherein the computer program instructions can be executed by a processor to implement the method as described above.

[0013] In a fourth aspect, some embodiments of the present application further provide a computer program product, comprising a computer program / instruction, which implements the steps of the method described above when executed by a processor.

[0014] Compared with the related art, in the solution provided in the embodiment of the present application, the video stream processing method is implemented on an application video platform, and the application video platform is configured with a forwarding management module and a container pool. The application video platform receives the streaming media request initiated by the video application through the forwarding management module; then, the container pool is scheduled according to the streaming media request to determine the scheduling result; wherein, the container pool is used to realize the resource reuse and resource allocation of the streaming media request; so that a better scheduling result can be determined to transcode the video stream according to the scheduling result. Combined with the requirements of the autonomous driving cloud control system, the present application uses containerization technology to develop an application video platform to support access to multiple video protocols, sizes and bit rates, realize on-demand, flexible allocation and reuse of resources, ensure that the video stream can adapt to different user devices and network conditions, and improve the playback quality. Through the method, the response speed and playback quality of the video service can be effectively improved, and at the same time, the purpose of optimizing the efficiency of resource use can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0016] Figure 1 An exemplary flow chart of a video stream processing method provided according to some embodiments of the present application;

[0017] Figure 2 A schematic diagram of the structure of a video stream processing method provided according to some embodiments of the present application;

[0018] Figure 3An exemplary flow chart of scheduling the container pool according to the streaming media request and determining the scheduling result according to some embodiments of the present application;

[0019] Figure 4 An exemplary flow chart of transcoding a video stream according to the scheduling result provided in some embodiments of the present application;

[0020] Figure 5 An exemplary flow chart of determining whether to retain the target forwarding scheduling container according to a target algorithm according to some embodiments of the present application;

[0021] Figure 6 This is a schematic diagram of an exemplary structure of an application video platform based on the video stream processing method provided according to some embodiments of the present application;

[0022] Figure 7 This is a schematic diagram of an exemplary structure of an electronic device provided according to some embodiments of the present application. DETAILED DESCRIPTION

[0023] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, 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 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 are within the scope of protection of this application.

[0024] First embodiment

[0025] The first embodiment of the present application relates to a video stream processing method. Figure 1 As shown, the method is applied to an application video platform, and the application video platform includes a forwarding management module and a container pool; the method includes the following steps:

[0026] Step S101, receiving a streaming media request initiated by a video application through the forwarding management module;

[0027] Step S102, scheduling the container pool according to the streaming media request and determining a scheduling result; wherein the container pool is used to implement resource reuse and resource allocation of the streaming media request;

[0028] Step S103: transcode the video stream according to the scheduling result.

[0029] The following combination Figure 2 Each of the above steps is described in detail.

[0030] For step S101, specifically, in some examples, the video application can initiate a streaming media request to the platform through a preset communication protocol according to actual business needs or user requests, and the application video platform receives the streaming media request initiated by the video application through the forwarding management module; the streaming media request may include but is not limited to: video on demand service, live events, smart home monitoring, traffic monitoring, etc., and this application does not make specific limitations on this. It can be understood that considering the diversity and complexity of the streaming media requests, the forwarding management module needs to be efficient, flexible and reliable to meet the streaming media requests in different application scenarios. Among them, the preset communication protocol can be but is not limited to: RTSP protocol, RTMP protocol, etc., and this embodiment of the application does not make specific limitations on this.

[0031] Regarding step S102, specifically, in some examples, after the forwarding management module receives the streaming media request, it can first evaluate the resource status of the container pool at the current moment. The resource status may include but is not limited to: CPU, memory, bandwidth, etc., and the corresponding resources are allocated according to the video quality, bit rate and resolution corresponding to the streaming media request; in the container pool, the application video platform selects a suitable container to respond to the streaming media request according to the characteristics requested by the streaming media request; if the container load of the container pool is unbalanced, the application video platform may allocate the streaming media request to a container with a lower load to avoid affecting the overall performance of the application video platform.

[0032] For step S103, specifically, in some examples, the video stream can be transcoded according to the scheduling result, and the application video platform will transcode the video stream according to the streaming media request to ensure that the video stream obtained after the transcoding operation can adapt to different playback environments and user devices. Exemplarily, the transcoding operation may include resolution conversion, such as transcoding a high-definition video stream into a lower resolution version suitable for mobile devices or low-bandwidth networks; the transcoding operation may also include bit rate adjustment, such as adjusting the bit rate of the video according to the user's network speed; the transcoding operation may also include frame rate conversion, such as sports events and other scenes that require a high frame rate; in addition, the transcoding operation may also include transcoding the audio stream into stereo or 3D surround sound, etc. In this regard, the embodiments of the present application do not make specific limitations.

[0033] In the related art, transcoding of video data generally consumes resources up to 2 CPU cores and 2GB of memory for each video channel (actually tested based on 8Mpbs video stream). The transcoding process consumes a lot of computing resources. Therefore, it is necessary to build a more flexible and resource-efficient application video platform.

[0034] It is not difficult to find that compared with the related art, in the solution provided by the embodiment of the present application, the video stream processing method is implemented on the application video platform, and the application video platform is configured with a forwarding management module and a container pool. The application video platform receives the streaming media request initiated by the video application through the forwarding management module; then, the container pool is scheduled according to the streaming media request to determine the scheduling result; wherein, the container pool is used to realize the resource reuse and resource allocation of the streaming media request; so that a better scheduling result can be determined to transcode the video stream according to the scheduling result. Combined with the requirements of the autonomous driving cloud control system, this application uses containerization technology to develop an application video platform to support the access of multiple video protocols, sizes and bit rates, realize on-demand, flexible allocation and reuse of resources, ensure that the video stream can adapt to different user devices and network conditions, and improve the playback quality. Through the method, the response speed and playback quality of the video service can be effectively improved, and at the same time, the purpose of optimizing the efficiency of resource use can be achieved.

[0035] Second embodiment

[0036] The second embodiment of the present application relates to a video stream processing method. The second embodiment is an improvement on the first embodiment, and the specific improvement is that in the second embodiment, a specific implementation method is provided for receiving a streaming media request initiated by a video application through the forwarding management module, and scheduling the container pool according to the streaming media request to determine the scheduling result.

[0037] Specifically, the forwarding management module may further include a national standard signaling management subunit and a forwarding scheduling subunit.

[0038] The receiving the streaming media request initiated by the video application through the forwarding management module specifically includes: receiving the streaming media request initiated by the video application through the forwarding scheduling subunit.

[0039] The container pool is scheduled according to the streaming media request to determine the scheduling result, such as Figure 3 As shown, step S102 may further include the following steps:

[0040] Step S1021, sending the streaming media request to the national standard signaling management subunit through the forwarding scheduling subunit;

[0041] Step S1022: Send the streaming media request to the national standard media service cluster through the national standard signaling management subunit, and generate a streaming media-based scheduling result according to the response information of the national standard media service cluster.

[0042] For step S1021, specifically, in some examples, before the forwarding scheduling subunit sends the streaming media request to the national standard signaling management subunit (i.e., the initialization phase of the forwarding scheduling subunit), in order to ensure technical compliance, data security and quality, and promote the market access and user trust of the application video platform, it is necessary to connect with the video source that complies with the national standard; set up and manage the image and the image management it depends on. In order to achieve flow control, troubleshooting, security auditing, load balancing, and thus ensure that the system can correctly and efficiently process video streams and meet the basis of different application requirements.

[0043] Among them, the video source can be single or multiple, lower or equal, platform or device, etc.; the national standard can be: GB / T28181, which is not limited in the embodiments of the present application.

[0044] For step S1022, specifically, the streaming media request can be sent to the national standard media service cluster through the national standard signaling management subunit, and the national standard media service cluster responds to the streaming media request, forms non-transcoded streaming media, and sends the non-transcoded streaming media to the national standard signaling management subunit.

[0045] Optionally, in some embodiments, the container pool may include an image repository module and a containerized platform module. The step of scheduling the container pool according to the streaming media and determining the scheduling result may further include the following steps:

[0046] Step S1021', determining the image data of the streaming media from the image warehouse module through the forwarding scheduling subunit;

[0047] Step S1022': creating a target forwarding container in the containerized platform module according to the image data; the target forwarding container is used to respond to the streaming media request.

[0048] Specifically, in some examples, after receiving the streaming media provided by the national standard signaling management subunit, the forwarding scheduling subunit determines the image data of the streaming media from the image repository, and then creates a target forwarding container in the containerization platform according to the image data. Exemplarily, the forwarding scheduling subunit can use the image data to create a target forwarding container so as to quickly create a target forwarding container to achieve the purpose of quickly deploying a new container instance.

[0049] Optionally, in some embodiments, creating a target forwarding container in the containerized platform module according to the image data may further include:

[0050] The target forwarding container carries a target container tag; the target container tag includes video source specification information and demander specification information, and the forwarding scheduling subunit makes a scheduling decision according to the target container tag.

[0051] Specifically, in some examples, the created target forwarding container may include the target container tag, and the target container tag is determined according to the video source specification and the demander specification. For example, the target container tag may include the specification information of the video source and the specification information of the demander. The specification information of the video source may be: SIP ID (Session Initiation Protocol Identifier), Channel ID (Channel Identifier), etc.; the specification information of the demander may be: the resolution and media format of the required video, etc. It can be understood that the target container tag provides key information for the forwarding scheduling subunit, so that the forwarding scheduling subunit can make reasonable scheduling, thereby ensuring the efficient transmission of streaming media while meeting the needs of different video applications.

[0052] It is not difficult to find that in the embodiment of the present application, a specific implementation method is provided for receiving a streaming media request initiated by a video application through the forwarding management module, and scheduling the container pool according to the streaming media request to determine the scheduling result. In this way, through the coordinated work of the forwarding scheduling subunit and the national standard signaling management subunit, a rapid response and processing of the streaming media request can be achieved, thereby improving the flexibility, response speed and resource utilization of the video streaming media service, which is conducive to achieving a compatibility balance between different video sources and demand parties, and providing users with more personalized services.

[0053] Third embodiment

[0054] The third embodiment of the present application relates to a method for processing a video stream. The third embodiment is an improvement made on the basis of the second embodiment, and the specific improvement is that: in the third embodiment, a specific implementation method for transcoding the video stream according to the scheduling result is provided.

[0055] Specifically, the video stream is transcoded according to the scheduling result, such as Figure 4 As shown, the following steps may be further included:

[0056] Step S1031, deploying a container instance for transcoding, obtaining stream parameters and transcoding parameters according to the image repository module;

[0057] Step S1032: Transcode the image data through the target forwarding container according to the container instance, the stream acquisition parameters and the transcoding parameters to determine the transcoding result.

[0058] Specifically, in some examples, appropriate image data can be selected according to the image warehouse module, and an instance container for transcoding can be deployed based on the image data, and stream acquisition parameters and transcoding parameters can be configured. Among them, the container instance is used to provide an independent operating environment for performing transcoding operations on video streams. The stream acquisition parameters are used to characterize how to obtain a video stream from a video source; exemplarily, the stream acquisition parameters may include but are not limited to: the URL of the video source, access credentials, the type of video stream, etc. The embodiments of the present application do not make specific limitations on this. The transcoding parameters are used to provide technical information during the transcoding process; exemplarily, the transcoding parameters may include but are not limited to: the resolution, bit rate, frame rate, encoding format, etc. of the output video. The embodiments of the present application do not make specific limitations on this.

[0059] Specifically, in some examples, the target forwarding container can use the container instance deployed by the image warehouse module, the stream parameters and the transcoding parameters to transcode the image data (video stream) and determine the transcoding result. After the transcoding is completed, the transcoding result can be forwarded to the forwarding scheduling subunit. Among them, the process of transcoding may include but is not limited to: decoding the original video stream, applying transcoding parameters, re-encoding the video stream, etc. In this regard, the embodiments of the present application do not make specific limitations.

[0060] It should be noted that the third embodiment of the present application may also be an improvement based on the first embodiment.

[0061] It is not difficult to find that in the embodiment of the present application, by deploying a container instance for transcoding, taking stream parameters and transcoding parameters according to the image warehouse module, and transcoding the image data according to the container instance, taking stream parameters and transcoding parameters through the target forwarding container, the transcoding result is determined. A specific implementation method for transcoding a video stream according to the scheduling result is provided. In this way, the video stream can be transcoded flexibly and efficiently so that it can adapt to different playback environments and user needs according to the transcoding result.

[0062] Fourth embodiment

[0063] The fourth embodiment of the present application relates to a video stream processing method. The fourth embodiment is an improvement based on the first embodiment, and the specific improvement is: the fourth embodiment provides a data processing mechanism after transcoding the video stream according to the scheduling result.

[0064] Specifically, after transcoding the video stream according to the scheduling result, the method may further include: ending the video stream scheduling according to a termination request issued by the video application; wherein, when ending the video stream scheduling, determining whether to retain the target forwarding container according to a target algorithm.

[0065] Specifically, in some examples, when the video application sends a request to terminate the signal, or in some cases, the video application may naturally end due to reasons such as the completion of the video content playback and the user exiting the playback interface, the video application sends a termination request, and then the forwarding scheduling subunit receives and processes the termination request. In the process of processing the termination request, operations such as video stream reception, transcoding and forwarding can be stopped.

[0066] Optionally, in some embodiments, Figure 5 As shown, the specific steps of determining whether to retain the target forwarding scheduling container according to the target algorithm are as follows:

[0067] Step S201, judging whether the current target forwarding container satisfies a preset constraint condition according to the target algorithm;

[0068] Step S202: If it is determined that the current target forwarding container satisfies the preset constraint condition, the target forwarding container is retained; otherwise, the target forwarding container is destroyed.

[0069] Specifically, the forwarding scheduling subunit can decide whether to retain or destroy the target forwarding container through the target algorithm. It can be understood that if the target forwarding container is retained, the target forwarding container can be used to process future received streaming media requests; if the target forwarding container is destroyed, resources can be released to improve resource utilization.

[0070] Further, judging whether the current target forwarding container satisfies a preset constraint condition according to the target algorithm may specifically include:

[0071] Step S2011, determining a target parameter and a decision variable for characterizing a usage status of the target forwarding container;

[0072] Step S2012, determining a target cost for characterizing the target algorithm according to the target parameter and the decision variable;

[0073] Step S2013: judging whether the target forwarding container satisfies a preset constraint condition according to the target cost.

[0074] Regarding step S2011, specifically, the method for determining the decision variables can be referred to as follows:

[0075] x i,j,k : indicates that when the target forwarding container i is used to satisfy the streaming media request from the video source j to the demand k, when the streaming media request from the video source to the demand is satisfied, x i,j,k =1, otherwise x i,j,k =0.

[0076] Among them, i represents the target forwarding container, j represents the video source, and k represents the demand.

[0077] y i : Indicates the situation when the target forwarding container i is created or reused. When the target forwarding container i is created or reused, y i =1, otherwise y i =0.

[0078] Among them, the x i,j,k The i All are binary variables.

[0079] The method for setting the target parameters may refer to the following:

[0080] S={s1,s2,...,s n}: video source collection, where each element represents a video source;

[0081] D={d1,d2,...,d m}: A collection of requirements, each of which is described by attributes such as resolution and media format;

[0082] C={c1,c2,...c p}: Existing container pool, each element represents a container instance;

[0083] Regarding step S2012, specifically, the method for determining the target cost for characterizing the target algorithm may refer to the following formula:

[0084]

[0085] The target cost may include: a creation cost of the target forwarding container and an operation cost of the target forwarding container.

[0086] Wherein, p represents the pth target forwarding container in the container pool, m represents the mth requirement in the requirement set, n represents the nth video source in the video source set, F represents the creation cost of the target forwarding container, and cost(i,j) is the cost of using the target forwarding container i to meet the requirement of the video source j.

[0087] Regarding step S2013, specifically, judging whether the target forwarding container satisfies a preset constraint condition according to the target cost may include:

[0088] Ensure that each of the streaming media requests is responded to by at least one target forwarding container created in the containerized platform module; specifically as follows:

[0089] And comp(i,k)=1

[0090] When the geometry of the cases where the target forwarding container i is used to satisfy streaming media requests from video source j to demand k is greater than or equal to 1, it can be ensured that each of the streaming media requests is responded to by at least one target forwarding container created in the containerized platform module.

[0091] Ensure that only at least one target forwarding container image created in the containerized platform module is assigned a task; specifically as follows:

[0092]

[0093] When the case where the target forwarding container i is used to satisfy the streaming media request from the video source j to the demand k is less than or equal to the case where the target forwarding container i is created or reused, it can be ensured that only at least one target forwarding container image created in the containerization platform module is assigned a task.

[0094] Ensure that the number of target forwarding containers created in the containerized platform module is within the preset number, as follows:

[0095]

[0096] When the set of situations in which the target forwarding container i is created or reused is less than or equal to the upper limit of the target forwarding container, it is ensured that the number of target forwarding containers created in the containerization platform module is within a preset number.

[0097] Where, comp(i,k): indicates that when the target forwarding container i can meet the requirement k, if it is met, comp(i,k) is 1, otherwise it is 0; C new This is the upper limit on the number of target forwarding containers that can be created.

[0098] It should be noted that the fourth embodiment of the present application may also be an improvement based on the first embodiment and / or the second embodiment.

[0099] It is not difficult to find that in the embodiment of the present application, after transcoding the video stream according to the scheduling result, the method further includes: ending the execution of the video stream scheduling according to a termination request issued by the video application; wherein, when ending the video stream scheduling, determining whether to retain the target forwarding container according to the target algorithm. In this way, by adopting a combined optimization model to select the most appropriate container configuration and scheduling strategy, a balance can be flexibly achieved in terms of the target forwarding container and resource utilization.

[0100] Fifth embodiment

[0101] The fifth embodiment of the present application relates to an application video platform based on the video stream processing method.

[0102] like Figure 6 As shown, the application video platform may include: a forwarding scheduling subunit (management node of this platform), a national standard signaling service subunit (national standard signaling server of this platform), a national standard signaling service unit (national standard signaling service), a national standard media service cluster, an image warehouse module, and a container pool (containerized platform).

[0103] Specifically, in some examples, the application video platform first receives video requests and demand parameters, then sends and responds to signaling and media requests through the national standard signaling service subunit and the national standard media service cluster, and then uses the container pool to pull the streaming media transcoding image from the image warehouse module, and deploys the transcoding container instance to perform video transcoding processing. After the transcoding is completed, the transcoding result is notified to the video stream application and client, and the transcoded video stream is provided, ensuring the quality of the video stream and on-demand allocation, and optimizing resource utilization efficiency and user experience.

[0104] By combining the actual video application characteristics of cloud control, when transcoding and forwarding the video stream of the national standard platform in response to the application video stream requirements, the combined optimization model is used to schedule the video stream transcoding and forwarding container, and the dynamic allocation of resources is realized to improve the utilization efficiency.

[0105] The step division of the above methods is only for the purpose of clear description. When implemented, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent; adding insignificant modifications to the algorithm or process or introducing insignificant designs without changing the core design of the algorithm and process are all within the scope of protection of this patent.

[0106] In addition, some embodiments of the present application also provide an electronic device. The electronic device may be a digital computer in various forms, such as a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, etc. The electronic device may also be a mobile device in various forms, such as a personal digital processing, a cellular phone, a smart phone, a wearable device, and other similar computing devices.

[0107] The electronic device includes: one or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor executes the steps of the method provided in any one or more of the above embodiments. Figure 7 An exemplary structural diagram of the electronic device is disclosed. Figure 7As shown, the electronic device includes: one or more processors 1101, memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Among them, the components shown in this article, their connections and relationships, and their functions are only used as examples, and are not intended to limit the implementation of the present application described and / or required herein.

[0108] The electronic device may further include: an input device 1103 and an output device 1104. The processor 1101, the memory 1102, the input device 1103 and the output device 1104 may be connected via a bus or other means. Figure 7 The example of connecting through bus is taken in the following.

[0109] The input device 1103 can receive input digital or character information, and generate key signal input related to the user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator rod, one or more mouse buttons, a track ball, a joystick and other input devices. The output device 1104 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device may be a touch screen.

[0110] To provide interaction with a user, the electronic device may be a computer. The computer has: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball), through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0111] In the embodiments of the present application, a computer program / instruction is stored on a computer-readable medium, and when the computer program / instruction is executed by a processor, the steps of the method provided by any one or more of the above embodiments are implemented. The computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently without being assembled into the device. The above computer-readable medium carries one or more computer-readable instructions.

[0112] The memory 1102 can be used as a non-transient computer-readable storage medium, which can be used to store non-transient software programs, non-transient computer executable programs and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transient software programs, instructions and modules stored in the memory 1102, so as to implement the program instructions / modules corresponding to the method provided by any one or more embodiments in the embodiments of the present application.

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

[0114] It should be noted that the computer-readable medium described in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0115] Computer readable media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.

[0116] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0117] In the above-described embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. For example, it can be implemented by using an application specific integrated circuit (ASIC), a general-purpose computer or any other similar hardware device. In certain embodiments, the software program of the present application can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including relevant data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present application can be implemented by hardware, for example, as a circuit that cooperates with a processor to perform each step or function.

[0118] The computer program product provided in the embodiment of the present application includes one or more computer programs / instructions, and when the computer program / instructions are executed by the processor, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0119] The flow chart or block diagram in the accompanying drawings shows the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0120] The scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes that fall within the meaning and scope of the equivalent elements of the claims are included in the present application. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim may also be implemented by one unit or device through software or hardware. The words "first", "second", etc. are only used to distinguish the description, and do not indicate any particular order, nor can they be understood as indicating or implying relative importance.

[0121] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily mention changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims, and the above embodiments should be regarded as exemplary and non-restrictive.

Claims

1. A video stream processing method, characterized in that: The method is applied to an application video platform, and the application video platform includes a forwarding management module and a container pool; the method includes: Receiving a streaming media request initiated by a video application through the forwarding management module; The container pool is scheduled according to the streaming media request to determine a scheduling result; wherein the container pool is used to implement resource reuse and resource allocation of the streaming media request; The video stream is transcoded according to the scheduling result.

2. The method according to claim 1, characterized in that The forwarding management module includes a national standard signaling management subunit and a forwarding scheduling subunit; The receiving the streaming media request initiated by the video application through the forwarding management module specifically includes: receiving the streaming media request initiated by the video application through the forwarding scheduling subunit; The step of scheduling the container pool according to the streaming media request and determining the scheduling result specifically includes: Sending the streaming media request to the national standard signaling management subunit through the forwarding scheduling subunit; The streaming media request is sent to the national standard media service cluster through the national standard signaling management subunit, and a scheduling result based on streaming media is generated according to the response information of the national standard media service cluster.

3. The method according to claim 2, characterized in that The container pool includes an image repository module and a containerized platform module; The step of scheduling the container pool according to the streaming media and determining a scheduling result specifically includes: Determining the image data of the streaming media from the image warehouse module through the forwarding scheduling subunit; Creating a target forwarding container in the containerized platform module according to the image data; the target forwarding container is used to respond to the streaming media request; Scheduling is performed according to the target forwarding container, and a scheduling result is determined.

4. The method according to claim 3, characterized in that The target forwarding container carries a target container tag; the target container tag includes video source specification information and demander specification information, and the forwarding scheduling subunit makes a scheduling decision according to the target container tag.

5. The method according to claim 3, characterized in that: The step of transcoding the video stream according to the scheduling result specifically includes: According to the image repository module, deploy a container instance for transcoding, obtain streaming parameters and transcoding parameters; The mirror data is transcoded through the target forwarding container according to the container instance, the stream acquisition parameters and the transcoding parameters to determine the transcoding result.

6. The method according to any one of claims 1 to 5, characterized in that After transcoding the video stream according to the scheduling result, the method further includes: The video stream scheduling is terminated according to a termination request sent by the video application; wherein, when the video stream scheduling is terminated, it is determined whether to retain the target forwarding container according to a target algorithm.

7. The method according to claim 6, characterized in that The determining whether to retain the target forwarding container according to the target algorithm specifically includes: Determine whether the current target forwarding container meets the preset constraint conditions according to the target algorithm; If it is determined that the current target forwarding container satisfies the preset constraint condition, the target forwarding container is retained; otherwise, the target forwarding container is destroyed.

8. An electronic device, characterized in that: The electronic device comprises: one or more processors; and A memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method as claimed in any one of claims 1 to 7.

9. A computer readable medium having a computer program / instructions stored thereon, 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 7 are implemented.

10. 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 7 are implemented.