CN114679593B - Live broadcast transcoding processing method, device and system - Google Patents

Live broadcast transcoding processing method, device and system Download PDF

Info

Publication number
CN114679593B
CN114679593B CN202210122963.3A CN202210122963A CN114679593B CN 114679593 B CN114679593 B CN 114679593B CN 202210122963 A CN202210122963 A CN 202210122963A CN 114679593 B CN114679593 B CN 114679593B
Authority
CN
China
Prior art keywords
transcoding
live
room
edge cluster
target edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210122963.3A
Other languages
Chinese (zh)
Other versions
CN114679593A (en
Inventor
姜栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202210122963.3A priority Critical patent/CN114679593B/en
Publication of CN114679593A publication Critical patent/CN114679593A/en
Application granted granted Critical
Publication of CN114679593B publication Critical patent/CN114679593B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints

Abstract

The application discloses a live broadcast transcoding processing method, a device and a system, which relate to the technical field of Internet, and the method comprises the following steps: acquiring a room broadcasting message of a live broadcasting terminal; according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service; and transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service. By the method, the transcoding service is loaded when the live broadcasting user starts the live broadcasting room, compared with the method that the transcoding service is loaded after the live broadcasting terminal successfully pushes the stream in the prior art, the method has the advantages that the transcoding service is loaded in advance, the transcoding service can be immediately pulled to the source code stream for transcoding after the live broadcasting terminal successfully pushes the stream, the transcoding service does not need to wait for loading, and the speed of producing the transcoding stream is accelerated.

Description

Live broadcast transcoding processing method, device and system
Technical Field
The application relates to the technical field of Internet, in particular to a live broadcast transcoding processing method, device and system.
Background
With the development of internet technology, network live broadcast has become a trend, and more users initiate live broadcast and watch live broadcast through mobile terminals. The anchor will generally push high-rate audio and video streams in order to pursue high-quality live broadcast effect, which has high requirements on bandwidth and network transmission stability of the audience.
In the prior art, after a live broadcast end pushes an audio and video stream to a server, a transcoding technology is used for transcoding the audio and video stream so as to reduce the code rate, and a transcoding stream produced by transcoding is sent to a watching end for playing. However, in the prior art, the transcoding service is started after the anchor side pushes the stream to the server, and the transcoding service needs to be started and then the transcoding can be performed, so that the waiting time for generating the transcoding stream is long.
Disclosure of Invention
The embodiment of the application aims to provide a live broadcast transcoding processing method, device and system, which are used for solving the problem that in the prior art, transcoding can be performed after a main broadcast pushes a stream and waiting for starting a transcoding service, so that the waiting time for generating the transcoding stream is longer.
According to one aspect of the present application, there is provided a live transcoding processing method, including:
acquiring a room broadcasting message of a live broadcasting terminal;
according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service;
and transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service.
Optionally, the method further comprises: acquiring a room broadcasting-closing message of a live broadcasting terminal; and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
Optionally, the acquiring the room opening message of the live broadcast end specifically includes: acquiring a room broadcasting message sent by a live broadcasting terminal according to the triggering of a room broadcasting event; the room opening event is specifically: the anchor user opens an operational event at the live room.
Optionally, the acquiring the room-related broadcast message of the live broadcast end specifically includes: acquiring a room broadcasting-related message sent by a live broadcasting terminal according to the triggering of a room broadcasting-related event; the room off-air event is specifically: the anchor user closes the operation event of the live room.
Optionally, the transcoding the source code stream pushed to the target edge cluster by the live end by using the preloaded transcoding service further includes: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
Optionally, after attempting to pull the source code stream to the target edge cluster using the preloaded transcoding service, the method further comprises: if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
Optionally, the method further comprises: when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
Optionally, after acquiring the room opening message of the live side, the method further includes: screening from the edge clusters to obtain a target edge cluster according to the state information of the edge clusters; and returning the address of the target edge cluster to the live broadcast end so that the live broadcast end pushes the stream to the target edge cluster according to the address of the target edge cluster.
Optionally, before screening the target edge cluster from the plurality of edge clusters according to the state information of the plurality of edge clusters, the method further includes: and inquiring a plurality of edge clusters according to the address information of the live broadcast terminal.
Optionally, screening the target edge cluster from the plurality of edge clusters according to the state information of the plurality of edge clusters further includes: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
Optionally, the method further comprises: and scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used to cause the target edge cluster to apply for service resources and pull service images.
According to another aspect of the present application, there is provided a live transcoding processing apparatus, including:
the message acquisition module is used for acquiring a room broadcasting message of the live broadcasting terminal;
the notification module is used for sending a first notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting message, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service;
and the transcoding module is used for transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service.
Optionally, the message acquisition module is further configured to: acquiring a room broadcasting-closing message of a live broadcasting terminal;
the notification module is further to: and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
Optionally, the message acquisition module is further configured to: acquiring a room broadcasting message sent by a live broadcasting terminal according to the triggering of a room broadcasting event; the room opening event is specifically: the anchor user opens an operational event at the live room.
Optionally, the message acquisition module is further configured to: acquiring a room broadcasting-related message sent by a live broadcasting terminal according to the triggering of a room broadcasting-related event; the room off-air event is specifically: the anchor user closes the operation event of the live room.
Optionally, the transcoding module is further for: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
Optionally, the transcoding module is further for: if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
Optionally, the transcoding module is further for: when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
Optionally, the apparatus further comprises: the scheduling module is used for screening and obtaining target edge clusters from the edge clusters according to the state information of the edge clusters after acquiring the room broadcasting information of the live broadcasting end;
and the sending module is suitable for returning the address of the target edge cluster to the live broadcast end so that the live broadcast end can push the stream to the target edge cluster according to the address of the target edge cluster.
Optionally, the apparatus further comprises: and the query module is used for querying the edge clusters according to the address information of the live broadcast end before screening the target edge clusters from the edge clusters according to the state information of the edge clusters.
Optionally, the scheduling module is further configured to: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
Optionally, the apparatus further comprises: and the scanning module is used for scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used to cause the target edge cluster to apply for service resources and pull service images.
According to still another aspect of the present application, there is provided a live transcoding processing system, including: the live broadcast transcoding processing device, the live broadcast end and the target edge cluster.
According to yet another aspect of the present application, there is provided a computing device comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
The memory is used for storing at least one executable instruction, and the executable instruction enables the processor to execute the operation corresponding to the live transcoding processing method.
According to still another aspect of the present application, there is provided a computer storage medium having stored therein at least one executable instruction for causing a processor to perform operations corresponding to the live transcoding method as described above.
According to the live broadcast transcoding processing method, device and system, on one hand, when a live broadcast user starts a live broadcast room, the live broadcast user pre-loads the transcoding service, and compared with the mode that the transcoding service is loaded after the live broadcast end is successfully pushed in the prior art, the method and device for processing the live broadcast transcoding service have the advantages that the transcoding service is loaded in advance, the transcoding service can immediately output the transcoding stream after the live broadcast end is successfully pushed, the transcoding service does not need to wait for being loaded, and the transcoding stream output can be accelerated; on the other hand, the transcoding service is started and closed by utilizing a room switch broadcasting event, and the pull loss and failure result in the live broadcast process is shielded, so that the transcoding service is started and closed only by relying on the room switch broadcasting event instead of the stream switch broadcasting event, the transcoding service is ensured to always normally operate during the period from the start to the stop, the influence of stream jitter on the transcoding service is avoided, and the transcoding service transcodes at least one video frame in the pulled historical source code stream under the condition that the source code stream is failed to be pulled to produce a transcoding stream, thereby still producing the transcoding stream under the condition that the push stream is cut off, avoiding the disconnection of a live broadcast link of a viewing end caused by the push stream cut off, and rapidly recovering the live broadcast in the viewing end once the push stream is recovered; on the other hand, uplink plug flow scheduling is carried out according to the resource states of the edge clusters, the edge cluster with the best state is screened out to serve as a target edge cluster of plug flow, stable operation of transcoding service is facilitated, and meanwhile, resources of all the edge clusters can be used more reasonably and fully.
The foregoing description is only an overview of the present application, and is intended to be implemented in accordance with the teachings of the present application in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present application more readily apparent.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the application. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
fig. 1 shows a flowchart of a live transcoding processing method according to an embodiment of the present application;
fig. 2 is a flowchart of a live transcoding processing method according to another embodiment of the present application;
fig. 3 is a flowchart of a live transcoding processing method according to another embodiment of the present application;
FIG. 4 is a schematic diagram of a system framework provided by another embodiment of the present application;
FIG. 5 is an interactive flow chart of a live transcoding process according to another embodiment of the present application;
Fig. 6 is a schematic structural diagram of a live transcoding processing device according to an embodiment of the present application;
FIG. 7 illustrates a schematic diagram of a computing device provided by an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the application to those skilled in the art.
First, technical terms related to the embodiments of the present application will be explained.
Source code stream: the live video is pushed directly to the server without processed video data.
Transcoding: the video code stream which is already compressed and coded is converted into another video code stream with different formats so as to adapt to different network bandwidths, different terminal processing capacities and different user requirements.
Transcoding stream: and transcoding the video data.
Transcoding service: and the functional module is loaded in the server of the edge cluster and used for transcoding video data. The method can convert the source code stream into one or more video code streams with different code rates in a server and then distribute the video code streams to corresponding live broadcast platforms.
Room opening event: and operating events to the living room when the anchor user starts living broadcast.
Room off-air event: and the operation event to the living broadcast room when the host broadcast user closes the living broadcast.
Streaming event: events are generated when a host pushes to a server.
Stream off-cast event: the anchor pushes events generated when the failure to stream to the server.
And (5) uplink scheduling: when the live broadcasting end opens, a push node is selected to the live broadcasting end according to the current network conditions, geographical positions and other factors.
Edge cluster: the user side server is deployed at the edge of each city and has the advantage of low transmission delay, and is close to the physical distance between the user side server and the user.
Fig. 1 shows a flowchart of a live transcoding processing method according to an embodiment of the present application, where the method according to the embodiment of the present application may be applied to a transcoding dispatch service, as shown in fig. 1, and the method includes the following steps:
step S110, acquiring a room opening message of the live broadcast end.
The room opening message refers to a message sent by a live broadcast terminal triggered when a live broadcast room is opened by a host user. The main process of the live broadcast of the anchor user comprises the following steps: the anchor user clicks a button for starting the live broadcasting room, and starts the live broadcasting room in response to the operation, and only the live broadcasting room is started at the moment, and no live broadcasting stream is generated; after the live broadcasting room is started, the main broadcasting user clicks a button for starting the live broadcasting, the live broadcasting formally starts, and the live broadcasting end collects audio and video streams and pushes the audio and video streams to the server. It can be seen that the triggering of the room on-air message occurs before the live-end formally pushing.
Step S120, according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, wherein the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service.
And determining a target edge cluster corresponding to the live broadcast end through an uplink scheduling strategy, and pushing the live broadcast stream, namely the source code stream, to the target edge cluster by the live broadcast end.
After the room opening message is obtained, a first notification message is sent to a target edge cluster corresponding to the live broadcasting room, and the target edge cluster carries out preloading processing on the transcoding service according to the received first notification message, wherein the preloading processing comprises resource application, loading service and the like.
And step S130, transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service.
After acquiring a source code stream, the live broadcast terminal pushes the source code stream to a target edge cluster, and the loaded transcoding service pulls the source code stream from the target edge cluster and transcodes the source code stream to produce a transcoded stream.
According to the live broadcast transcoding processing method, room open-cast information of a live broadcast end is obtained; according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service; transcoding the source code stream pushed to the target edge cluster by the live broadcast end by utilizing a preloaded transcoding service; by the method, the transcoding service is loaded when the live broadcasting user starts the live broadcasting room, compared with the method that the transcoding service is loaded after the live broadcasting terminal successfully pushes the stream in the prior art, the method has the advantages that the transcoding service is loaded in advance, the transcoding service can be immediately pulled to the source code stream for transcoding after the live broadcasting terminal successfully pushes the stream, the transcoding service does not need to wait for loading, and the speed of producing the transcoding stream is accelerated.
Fig. 2 shows a flowchart of a live transcoding processing method according to another embodiment of the present application, as shown in fig. 2, the method includes the following steps:
step S210, acquiring a room opening message of the live broadcast end.
The room opening message refers to a message sent by a live broadcast terminal triggered when a live broadcast room is opened by a host user.
In an alternative mode, the specific implementation mode of the step is as follows: the method comprises the steps that a room broadcasting message sent by a live broadcasting end according to the triggering of a room broadcasting event is obtained, wherein the room broadcasting event refers to an operation event that a host broadcasting user starts a live broadcasting room, for example, the host broadcasting user clicks an operation event for starting a button of the live broadcasting room, and the room broadcasting event occurs before the live broadcasting end formally pushes a source code stream. If the room broadcasting information of the live broadcasting end is obtained, the room broadcasting event in the live broadcasting end is monitored.
Step S220, according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, wherein the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service.
And sending a first notification message to a target edge cluster corresponding to the live broadcast terminal according to the room opening message sent by the live broadcast terminal, and carrying out preloading processing on the transcoding service by the target edge cluster according to the received first notification message.
The first notification message is further used for enabling the target edge cluster to apply for service resources and pull service images, that is, the target edge cluster performs preloading processing on the transcoding service specifically includes: apply for resources and pull service images to initiate transcoding services.
Therefore, when the operation event that the host user starts the live broadcasting room is monitored, resources required by the transcoding service are prepared and the transcoding service is preheated, so that transcoding can be immediately performed after the source code stream pushed by the live broadcasting end is received to generate the transcoding stream, and the transcoding service is not required to be loaded.
The method for transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service further comprises the following steps: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream; if the source code stream fails to be pulled, continuing to attempt to pull the source code stream. After the preloading is completed, the transcoding service continuously tries to pull the source code stream to the target edge cluster, and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoding stream; if the pulling of the source code stream fails, for example, if the pulling of the source code stream fails due to the current pushing and breaking of the live broadcast end, the pulling failure result is not processed, and the pulling of the source code stream is continuously attempted.
Further, when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing a preloaded transcoding service; if the live broadcast end pushes the source code stream of the target edge cluster to flow out, the transcoding service cannot successfully pull the source code stream, namely, pull the source code stream to make mistakes, transcoding at least one video frame in the pulled historical source code stream to obtain the transcoding stream, and guaranteeing that the transcoding stream can still be generated when the source code stream flows out and sent to the watching end, so that the live broadcast link of the watching end can not be disconnected when the source code stream flows out.
Optionally, the latest video frame in the received source code stream is transcoded into a transcoded stream, and the transcoded stream is sent to the viewing end for playing, so that the live broadcast picture in the viewing end can be continued when the push stream is recovered.
In practical applications, there are stream jitter situations, for example, stream on-stream events (events generated by the main stream pushing to the server) and stream off-stream events (events of the stream interruption of the source code stream on the server) are frequently generated due to unstable stream pushing of the live stream end caused by network quality problem from the live stream end to the server. In the prior art, once a streaming event exists, a transcoding service is started, and then a streaming event is related, the transcoding service is closed, and the frequent starting and closing of the transcoding service causes frequent restarting of related services of uplink push stream, so that service confusion can be caused. In addition, the live link of the watching end is disconnected due to the interruption of the source code stream, if the live broadcast is to be restored again, the watching end also needs to retry connection, inconvenience is caused to watching users, and the live link disconnection time is prolonged due to frequent opening and closing of transcoding service, so that the live broadcast effect is affected.
According to the embodiment of the application, the result of the stream pulling failure of the transcoding service is filtered, the transcoding service is not closed because of the stream pulling failure, so that the transcoding service can stably operate under the condition of stream jitter, the influence of stream jitter on the operation of the transcoding service is avoided, meanwhile, the transcoding service transcodes one video frame in the received historical source code stream into the transcoding stream under the condition of stream pulling loss and failure (namely live broadcast end push stream break), the live broadcast link disconnection in the watching end caused by live broadcast break is avoided, and the live broadcast in the watching end can be quickly recovered once the push stream is recovered.
Step S230, acquiring a room broadcasting-closing message of the live broadcasting end.
The room broadcasting-closing message refers to a message sent by triggering a live broadcasting terminal when a user closes a live broadcasting room.
In an alternative mode, the specific implementation mode of the step is as follows: acquiring a room opening message sent by a live broadcast terminal according to the triggering of a room opening event, wherein the room opening event is specifically: the operation event that the host user starts the live broadcasting room is the operation event of the live broadcasting room when the host user finishes the live broadcasting, for example, the operation event that the host user clicks the close live broadcasting button, if the room broadcasting-related information of the live broadcasting terminal is obtained, the room broadcasting-related event in the live broadcasting terminal is monitored.
Step S240, according to the room broadcasting-related message, a second notification message is sent to the target edge cluster corresponding to the live broadcasting end, and the second notification message is used for enabling the target edge cluster to close the transcoding service.
And sending a second notification message to a target edge cluster corresponding to the live broadcast terminal according to the room broadcasting-related message sent by the live broadcast terminal, and closing the transcoding service by the target edge cluster according to the received second notification message.
According to the live broadcast transcoding processing aspect provided by the embodiment of the application, on one hand, the transcoding service is preloaded when a room on-air event of a live broadcast terminal is monitored, and compared with the mode of loading the transcoding service after the live broadcast terminal is successfully pushed in the prior art, the loading of the transcoding service is advanced, and the transcoding service can immediately produce the transcoding stream after the live broadcast terminal is successfully pushed without waiting for the transcoding service to be loaded, so that the production of the transcoding stream can be quickened; on the other hand, the transcoding service is started and closed by utilizing a room switching event, and the pull loss and failure result in the live broadcast process is shielded, so that the transcoding service is started and closed only by relying on the room switching event instead of the stream switching event, the transcoding service is ensured to always normally run during the period from the start to the stop, and the influence of stream jitter on the transcoding service is avoided; in still another aspect, the transcoding service transcodes at least one video frame in the pulled historical source code stream to generate a transcoded stream under the condition that the source code stream is pulled to fail, so that the transcoded stream can still be generated under the condition of plug flow interruption, the live broadcast link of the viewing end is prevented from being disconnected due to the plug flow interruption, and the live broadcast in the viewing end can be quickly recovered to be normal once the plug flow is recovered.
Fig. 3 shows a flowchart of a live transcoding processing method according to another embodiment of the present application, as shown in fig. 3, the method includes the following steps:
step S310, acquiring a room opening message of the live broadcast end.
Step S320, according to the room opening message, a target edge cluster is obtained by screening from the edge clusters according to the state information of the edge clusters, and a first notification message is sent to the target edge cluster, wherein the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service.
After the room broadcasting information of the live broadcasting end is obtained, uplink scheduling processing is carried out according to the state information of the edge clusters, the target edge clusters are screened out, and a first notification message is sent to the target edge clusters so that the target edge clusters preload transcoding service.
The status information of the edge cluster refers to related information characterizing processing capability of the edge cluster, such as residual resource information, network condition, weight coefficient, and transcoding stability information. And evaluating the processing capacity of each edge cluster according to the state information of each edge cluster, and screening and obtaining the target edge cluster of live-broadcast end plug flow according to the evaluation result of the processing capacity. Therefore, the embodiment of the application performs scheduling selection on the edge clusters of the live-broadcast end push stream according to the related state information of the edge clusters, ensures that the edge cluster with the best selection state is used as the edge cluster of the live-broadcast end push stream, and simultaneously can more reasonably and fully use the resources of each edge cluster.
In an optional mode, each edge cluster is scanned at fixed time to obtain state information of each edge cluster; and screening the target edge clusters from the edge clusters according to the state information obtained by the latest scanning of the edge clusters. In the mode, the state information of each edge cluster is obtained at fixed time intervals, so that the problems of long time consumption, high resource consumption and the like of obtaining the state information of the edge clusters in real time are avoided, and the time consumption of scheduling is reduced.
In another optional mode, after the room on-air message of the live broadcast end is obtained, each edge cluster is scanned to obtain the real-time state information of each edge cluster, and then the target edge cluster is obtained by screening from the edge clusters according to the real-time state information of the edge clusters. In the mode, the state information of each edge cluster is acquired in real time when the scheduling requirement exists, and the edge cluster with the best real-time state can be accurately screened out to be used as the edge cluster of live streaming.
In an alternative manner, a plurality of edge clusters are queried according to the address information of the live broadcast end, and then a target edge cluster is screened from the queried plurality of edge clusters, namely, a plurality of alternative edge clusters are queried according to the address information of the live broadcast end, and the target edge cluster is screened from the alternative edge clusters, for example, a plurality of edge clusters with the distance from the live broadcast end being in a preset distance range are screened as alternatives, so that the screening range is reduced, and the calculated amount is reduced.
In another optional manner, according to state information of the edge clusters, the step of screening the target edge cluster from the edge clusters specifically includes the following steps: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
For example, the score for an edge cluster is calculated using the following formula:
score = remaining resources weight coefficient + degree of transcoding stability
The residual resources refer to residual unoccupied CPU resources of the edge cluster, and the score is higher as the residual resources are more, and is lower as the residual resources are less; the weight coefficient is a preset coefficient; the transcoding stability degree is obtained by evaluating the stability condition of the existing transcoding task in the edge cluster, and the more stable the existing transcoding task is, the more stable the network where the edge cluster is located is, and the higher the score is. By the method, the edge cluster with the optimal performance can be screened out and used as the target edge cluster of live streaming, and stable operation of transcoding service is facilitated.
Step S330, the address of the target edge cluster is returned to the live broadcast end, so that the live broadcast end pushes the target edge cluster according to the address of the target edge cluster.
After the target edge cluster corresponding to the live broadcast end is obtained through scheduling processing, the address of the target edge cluster is returned to the live broadcast end, and after the live broadcast end generates a source code stream, the live broadcast end pushes the edge cluster of the address.
It should be noted that, the step of notifying the target edge cluster of the preloading transcoding service and the step of returning the target edge cluster address to the live end may be sequentially performed, or may be simultaneously performed, which is not limited in the present application.
Step S340, acquiring a room broadcasting-closing message of the live broadcasting terminal.
Step S350, according to the room broadcasting-related message, a second notification message is sent to the target edge cluster corresponding to the live broadcasting end, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
If room broadcasting-related information of the live broadcasting end is obtained, the live broadcasting end is indicated to generate a room broadcasting-related event, and a host user finishes broadcasting, a second notification message is sent to a target edge cluster corresponding to the live broadcasting end, and the target edge cluster closes transcoding service according to the received second notification message, so that resources occupied by the transcoding service are released.
According to the live broadcast transcoding processing method provided by the embodiment of the application, on one hand, the transcoding service is preloaded when a room on-air event of a live broadcast terminal is monitored, and compared with the mode of loading the transcoding service after the live broadcast terminal successfully pushes the stream in the prior art, the loading of the transcoding service is advanced, so that the transcoding service can immediately produce the transcoding stream after the live broadcast terminal successfully pushes the stream without waiting for the loading of the transcoding service; on the other hand, uplink scheduling is carried out according to the resource states of the edge clusters, the edge cluster with the best state is screened out to serve as a plug-flow target edge cluster, stable operation of transcoding service is guaranteed, and meanwhile, resources of all the edge clusters can be used more reasonably and fully.
Fig. 4 is a schematic diagram of a system frame provided in another embodiment of the present application, where, as shown in fig. 4, the system frame includes a live side, a transcoding dispatch service, and a plurality of edge clusters. The live broadcast end is terminal equipment used by a host user, and can be electronic equipment such as a mobile phone, a tablet computer, a wearable device, a PC and the like, the transcoding scheduling service is used for executing the method steps in the method embodiment, the transcoding scheduling service can be deployed in a live broadcast server, and the edge cluster is a user side server deployed at the edge of a city.
Fig. 5 shows an interactive flowchart of a live transcoding process according to another embodiment of the present application, and as shown in fig. 5, the hosting transcoding process specifically includes the following steps:
step S1, a live broadcasting terminal responds to a live broadcasting room opening operation to send a room opening message to a transcoding scheduling service, and the transcoding scheduling service confirms that a room opening event is monitored;
step S2, the transcoding scheduling service screens out a plurality of edge clusters according to the state information of the plurality of edge clusters to obtain a target edge cluster;
step S3, the transcoding dispatch service sends a transcoding service start notification message to the target edge cluster;
step S4, the transcoding scheduling service sends the address of the target edge cluster to the live broadcast end so that the live broadcast end pushes the edge cluster of the address;
And S5, preloading the transcoding service after the target edge cluster receives the transcoding service start notification message.
Step S6, after the transcoding service is loaded, continuously attempting to pull the source code stream, wherein in the process, a pull failure result is not processed;
step S7, the live broadcast end responds to live broadcast on-stream operation, and acquires audio and video streams and pushes the streams;
s8, transcoding the pulled source code stream by the transcoding service to obtain a transcoded stream;
step S9, the live broadcasting end responds to the closing operation of the live broadcasting room and sends a room broadcasting-related message to the transcoding scheduling service;
step S10, the transcoding scheduling service sends a transcoding service closing notification message to the target edge cluster;
step S11, after receiving the transcoding service closing notification message, the target edge cluster closes the transcoding service.
It should be noted that, the step S3 and the step S4 may be performed simultaneously or may be performed sequentially, which is not limited in the present application.
According to the live broadcast transcoding processing method provided by the embodiment of the application, on one hand, transcoding service is loaded when a room on-air event of a live broadcast terminal is monitored, and compared with the mode of loading the transcoding service after the live broadcast terminal successfully pushes a stream in the prior art, the method has the advantages that the transcoding service is loaded in advance, the transcoding service can be immediately pulled to a source code stream for transcoding after the live broadcast terminal successfully pushes the stream, the loading of the transcoding service is not required to wait, and the speed of producing the transcoding stream is accelerated; on the other hand, the transcoding service is started and closed by utilizing a room switching event, and the pull loss and failure result in the live broadcast process is shielded, so that the transcoding service is started and closed only by relying on the room switching event instead of the stream switching event, the transcoding service is ensured to always normally run during the period from the start to the stop, and the influence of stream jitter on the transcoding service is avoided; in still another aspect, the transcoding service transcodes at least one video frame in the pulled historical source code stream to generate a transcoded stream under the condition that the source code stream is pulled to fail, so that the transcoded stream can still be generated under the condition that the source code stream is cut off, the live link in the watching end is prevented from being disconnected due to live broadcast cut-off, and the live broadcast in the watching end can be quickly restored once the push stream is restored.
Fig. 6 shows a schematic structural diagram of a live transcoding processing device according to an embodiment of the present application. As shown in fig. 6, the apparatus includes:
a message obtaining module 61, configured to obtain a room open message at a live broadcast end;
the notification module 62 is configured to send a first notification message to a target edge cluster corresponding to the live broadcast end according to the room open broadcast message, where the first notification message is used to enable the target edge cluster to perform preloading processing on the transcoding service;
and the transcoding module 63 is used for transcoding the source code stream pushed to the target edge cluster by the live broadcast end by utilizing the preloaded transcoding service.
Optionally, the message acquisition module 61 is further configured to: acquiring a room broadcasting-closing message of a live broadcasting terminal;
the notification module 62 is further configured to: and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
Optionally, the message acquisition module 61 is further configured to: acquiring a room broadcasting message sent by a live broadcasting terminal according to the triggering of a room broadcasting event; the room opening event is specifically: the anchor user opens an operational event at the live room.
Optionally, the message acquisition module 61 is further configured to: acquiring a room broadcasting-related message sent by a live broadcasting terminal according to the triggering of a room broadcasting-related event; the room off-air event is specifically: the anchor user closes the operation event of the live room.
Optionally, the transcoding module 63 is further configured to: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
Optionally, the transcoding module 63 is further configured to: if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
Optionally, the transcoding module 63 is further configured to: when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
Optionally, the apparatus further comprises: the scheduling module is used for screening and obtaining target edge clusters from the edge clusters according to the state information of the edge clusters after acquiring the room broadcasting information of the live broadcasting end;
and the sending module is suitable for returning the address of the target edge cluster to the live broadcast end so that the live broadcast end can push the stream to the target edge cluster according to the address of the target edge cluster.
Optionally, the apparatus further comprises: and the query module is used for querying the edge clusters according to the address information of the live broadcast end before screening the target edge clusters from the edge clusters according to the state information of the edge clusters.
Optionally, the scheduling module is further configured to: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
Optionally, the apparatus further comprises: and the scanning module is used for scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used to cause the target edge cluster to apply for service resources and pull service images.
The embodiment of the application also provides a live broadcast processing transcoding system, which comprises the live broadcast processing device, the live broadcast terminal and the target edge cluster in the embodiment.
The embodiment of the application provides a non-volatile computer storage medium, which stores at least one executable instruction, and the computer executable instruction can execute the live transcoding processing method in any of the method embodiments.
The executable instructions may be particularly useful for causing a processor to:
acquiring a room broadcasting message of a live broadcasting terminal;
According to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service;
and transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service.
In one alternative, the executable instructions may be specifically operable to cause a processor to: acquiring a room broadcasting-closing message of a live broadcasting terminal; and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
In one alternative, the executable instructions may be specifically operable to cause a processor to: acquiring a room broadcasting message sent by a live broadcasting terminal according to the triggering of a room broadcasting event; the room opening event is specifically: the anchor user opens an operational event at the live room.
In one alternative, the executable instructions may be specifically operable to cause a processor to: acquiring a room broadcasting-related message sent by a live broadcasting terminal according to the triggering of a room broadcasting-related event; the room off-air event is specifically: the anchor user closes the operation event of the live room.
In one alternative, the executable instructions may be specifically operable to cause a processor to: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
In one alternative, the executable instructions may be specifically operable to cause a processor to: after attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service, if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
In one alternative, the executable instructions may be specifically operable to cause a processor to: when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
In one alternative, the executable instructions may be specifically operable to cause a processor to: after acquiring a room broadcasting message of a live broadcasting end, screening from a plurality of edge clusters according to state information of the plurality of edge clusters to obtain a target edge cluster; and returning the address of the target edge cluster to the live broadcast end so that the live broadcast end pushes the stream to the target edge cluster according to the address of the target edge cluster.
In one alternative, the executable instructions may be specifically operable to cause a processor to: before a target edge cluster is screened from the edge clusters according to the state information of the edge clusters, the edge clusters are queried according to the address information of the live broadcast end.
In one alternative, the executable instructions may be specifically operable to cause a processor to: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
In an alternative way, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
In one alternative, the executable instructions may be specifically operable to cause a processor to: and scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
In an alternative manner, the first notification message is further used to cause the target edge cluster to apply for service resources and pull service images.
FIG. 7 illustrates a schematic diagram of a computing device according to an embodiment of the present application, and the embodiment of the present application is not limited to a specific implementation of the computing device.
As shown in fig. 7, the computing device may include: a processor 702, a communication interface (Communications Interface), a memory 706, and a communication bus 708.
Wherein: processor 702, communication interface 704, and memory 706 perform communication with each other via a communication bus 708. A communication interface 704 for communicating with network elements of other devices, such as clients or other servers. The processor 702 is configured to execute the program 710, and may specifically perform relevant steps in the foregoing embodiments of a live transcoding method for a computing device.
In particular, program 710 may include program code including computer-operating instructions.
The processor 702 may be a Central Processing Unit (CPU), or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present application. The one or more processors included by the computing device may be the same type of processor, such as one or more CPUs; but may also be different types of processors such as one or more CPUs and one or more ASICs.
Memory 706 for storing programs 710. The memory 706 may comprise high-speed RAM memory or may further comprise non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 710 may be specifically configured to cause the processor 702 to:
acquiring a room broadcasting message of a live broadcasting terminal;
according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, and the first notification message is used for enabling the target edge cluster to perform preloading processing on the transcoding service;
and transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing the preloaded transcoding service.
In an alternative, the program 710 may be further operable to cause the processor 702 to: acquiring a room broadcasting-closing message of a live broadcasting terminal; and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
In an alternative, the program 710 may be further operable to cause the processor 702 to: acquiring a room broadcasting message sent by a live broadcasting terminal according to the triggering of a room broadcasting event; the room opening event is specifically: the anchor user opens an operational event at the live room.
In an alternative, the program 710 may be further operable to cause the processor 702 to: acquiring a room broadcasting-related message sent by a live broadcasting terminal according to the triggering of a room broadcasting-related event; the room off-air event is specifically: the anchor user closes the operation event of the live room.
In an alternative, the program 710 may be further operable to cause the processor 702 to: attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service; and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
In an alternative, the program 710 may be further operable to cause the processor 702 to: after attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service, if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
In an alternative, the program 710 may be further operable to cause the processor 702 to: when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
In an alternative, the program 710 may be further operable to cause the processor 702 to: after acquiring a room broadcasting message of a live broadcasting end, screening from a plurality of edge clusters according to state information of the plurality of edge clusters to obtain a target edge cluster; and returning the address of the target edge cluster to the live broadcast end so that the live broadcast end pushes the stream to the target edge cluster according to the address of the target edge cluster.
In an alternative, the program 710 may be further operable to cause the processor 702 to: before a target edge cluster is screened from the edge clusters according to the state information of the edge clusters, the edge clusters are queried according to the address information of the live broadcast end.
In an alternative, the program 710 may be further operable to cause the processor 702 to: according to the state information of each edge cluster, calculating the score of each edge cluster; the edge cluster with the highest score is determined as the target edge cluster.
In an alternative way, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
In an alternative, the program 710 may be further operable to cause the processor 702 to: and scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
In an alternative manner, the first notification message is further used to cause the target edge cluster to apply for service resources and pull service images.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a construction of such a system is apparent from the description above. In addition, embodiments of the present application are not directed to any particular programming language. It will be appreciated that the teachings of the present application described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present application.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the application, various features of the embodiments of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed application requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Various component embodiments of the application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functionality of some or all of the components according to embodiments of the present application may be implemented in practice using a microprocessor or Digital Signal Processor (DSP). The present application can also be implemented as an apparatus or device program (e.g., a computer program and a computer program product) for performing a portion or all of the methods described herein. Such a program embodying the present application may be stored on a computer readable medium, or may have the form of one or more signals. Such signals may be downloaded from an internet website, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specifically stated.

Claims (16)

1. A live transcoding method, comprising:
acquiring room broadcasting information of a live broadcasting terminal, wherein the room broadcasting information is information sent by the live broadcasting terminal when a live broadcasting room is started but no live broadcasting stream is generated;
according to the room opening message, a first notification message is sent to a target edge cluster corresponding to the live broadcast end, wherein the first notification message is used for enabling the target edge cluster to perform preloading processing on transcoding service, and the preloading processing comprises: applying for service resources and pulling a service image to start transcoding service;
and transcoding the source code stream pushed to the target edge cluster by the live broadcast terminal by utilizing a preloaded transcoding service.
2. The method of claim 1, wherein the method further comprises:
acquiring a room broadcasting-related message of a live broadcasting terminal, wherein the room broadcasting-related message is a message sent by the live broadcasting terminal when a user closes a live broadcasting room;
and sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room broadcasting-closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
3. The method of claim 1, wherein the acquiring the room opening message at the live side specifically includes: acquiring the room broadcasting message sent by the live broadcasting terminal according to the room broadcasting event trigger; the room opening event is specifically: the anchor user opens an operational event at the live room.
4. The method of claim 2, wherein the acquiring the room-related broadcast message of the live side specifically includes: acquiring the room broadcasting-closing message sent by the live broadcasting terminal according to the room broadcasting-closing event trigger; the room off-air event is specifically: the anchor user closes the operation event of the live room.
5. The method of any of claims 1-4, wherein the transcoding the source code stream pushed by the live side to the target edge cluster with a preloaded transcoding service further comprises:
attempting to pull the source code stream to the target edge cluster by utilizing the preloaded transcoding service;
and if the source code stream is successfully pulled, transcoding the pulled source code stream to obtain a transcoded stream.
6. The method of claim 5, wherein after attempting to pull a source code stream to a target edge cluster with a preloaded transcoding service, the method further comprises:
if the source code stream fails to be pulled, continuing to attempt to pull the source code stream.
7. The method of any of claims 1-4, wherein the method further comprises:
when the live broadcast end pushes the source code stream which flows to the target edge cluster to flow out, transcoding at least one video frame in the historical source code stream which is received by the target edge cluster by utilizing the preloaded transcoding service.
8. The method according to any of claims 1-4, wherein after acquiring the room on-air message at the live side, the method further comprises:
screening a plurality of edge clusters to obtain a target edge cluster according to state information of the plurality of edge clusters;
and returning the address of the target edge cluster to the live broadcast end so that the live broadcast end can push the target edge cluster according to the address of the target edge cluster.
9. The method of claim 8, wherein prior to said screening the plurality of edge clusters for a target edge cluster based on state information of the plurality of edge clusters, the method further comprises:
and inquiring the edge clusters according to the address information of the live broadcast terminal.
10. The method of claim 9, wherein the filtering the target edge cluster from the plurality of edge clusters according to the state information of the plurality of edge clusters further comprises:
according to the state information of each edge cluster, calculating the score of each edge cluster;
the edge cluster with the highest score is determined as the target edge cluster.
11. The method of claim 10, wherein the state information of the edge cluster comprises at least one of: residual resource information, network conditions, weight coefficients and transcoding stability information.
12. The method of claim 8, wherein the method further comprises:
and scanning each edge cluster at fixed time to obtain the state information of each edge cluster.
13. A live transcoding processing device, comprising:
the system comprises a message acquisition module, a live broadcast terminal and a live broadcast terminal, wherein the message acquisition module is used for acquiring room opening messages of the live broadcast terminal, wherein the room opening messages are messages sent by the live broadcast terminal when a live broadcast room is started but no live broadcast stream is generated;
the notification module is configured to send a first notification message to a target edge cluster corresponding to the live broadcast end according to the room open broadcast message, where the first notification message is configured to enable the target edge cluster to perform preloading processing on a transcoding service, and the preloading processing includes: applying for service resources and pulling a service image to start transcoding service;
and the transcoding module is used for transcoding the source code stream pushed to the target edge cluster by the live broadcast end by utilizing the preloaded transcoding service.
14. A live transcoding processing system, comprising: the live transcoding processing arrangement of claim 13, a live end, a target edge cluster.
15. A computing device, comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
The memory is configured to store at least one executable instruction, where the executable instruction causes the processor to perform operations corresponding to the live transcoding method as claimed in any one of claims 1 to 12.
16. A computer storage medium having stored therein at least one executable instruction for causing a processor to perform operations corresponding to the live transcoding method of any of claims 1 to 12.
CN202210122963.3A 2022-02-09 2022-02-09 Live broadcast transcoding processing method, device and system Active CN114679593B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210122963.3A CN114679593B (en) 2022-02-09 2022-02-09 Live broadcast transcoding processing method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210122963.3A CN114679593B (en) 2022-02-09 2022-02-09 Live broadcast transcoding processing method, device and system

Publications (2)

Publication Number Publication Date
CN114679593A CN114679593A (en) 2022-06-28
CN114679593B true CN114679593B (en) 2023-09-22

Family

ID=82071630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210122963.3A Active CN114679593B (en) 2022-02-09 2022-02-09 Live broadcast transcoding processing method, device and system

Country Status (1)

Country Link
CN (1) CN114679593B (en)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152605A (en) * 2013-03-05 2013-06-12 天脉聚源(北京)传媒科技有限公司 Method and device for audio data transcoding and transcoding server
CN104702969A (en) * 2013-12-09 2015-06-10 杭州海康威视数字技术股份有限公司 Method and system for performing passive transcoding of video and audio data and transcoding server
CN105872581A (en) * 2016-05-31 2016-08-17 深圳市佑嘉互动科技有限公司 System and method for providing video direct broadcasting room services
EP3072302A1 (en) * 2013-11-20 2016-09-28 Telefonaktiebolaget LM Ericsson (publ) A method, node and computer programe for providing live content streaming
WO2017101369A1 (en) * 2015-12-14 2017-06-22 乐视控股(北京)有限公司 Live video transcoding method and apparatus
CN107220271A (en) * 2016-12-14 2017-09-29 郑州祺石信息技术有限公司 A kind of method and system of distributed digital resource storage processing and management
CN108200358A (en) * 2018-03-20 2018-06-22 网宿科技股份有限公司 A kind of audio and video director method, system and control server
CN109002504A (en) * 2018-06-29 2018-12-14 安徽四创电子股份有限公司 A kind of document code-transferring method based on Docker mirror image
CN109600642A (en) * 2018-12-17 2019-04-09 广州华多网络科技有限公司 A kind of CDN resource regulating method and device
CN110475125A (en) * 2018-05-10 2019-11-19 视联动力信息技术股份有限公司 Video transcoding method and device
CN111510743A (en) * 2020-04-21 2020-08-07 广州市百果园信息技术有限公司 Method, device, system, equipment and storage medium for scheduling transcoding resources
CN111510734A (en) * 2020-04-17 2020-08-07 广州虎牙科技有限公司 CDN scheduling method, device, storage medium and equipment
CN112565774A (en) * 2020-11-26 2021-03-26 北京达佳互联信息技术有限公司 Video transcoding resource scheduling method and device
WO2021078279A1 (en) * 2019-10-24 2021-04-29 中兴通讯股份有限公司 Live media stream recording method and system, and computer-readable storage medium
CN112788357A (en) * 2020-12-30 2021-05-11 北京达佳互联信息技术有限公司 Network live broadcast method, device, server and computer readable storage medium
CN113891114A (en) * 2021-11-18 2022-01-04 上海哔哩哔哩科技有限公司 Transcoding task scheduling method and device
CN114024973A (en) * 2021-11-01 2022-02-08 上海绚显科技有限公司 Resource scheduling method, device, server and system for live cloud transcoding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838725B2 (en) * 2015-04-27 2017-12-05 Century Link Intellectual Property LLC Intelligent video streaming system

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152605A (en) * 2013-03-05 2013-06-12 天脉聚源(北京)传媒科技有限公司 Method and device for audio data transcoding and transcoding server
EP3072302A1 (en) * 2013-11-20 2016-09-28 Telefonaktiebolaget LM Ericsson (publ) A method, node and computer programe for providing live content streaming
CN104702969A (en) * 2013-12-09 2015-06-10 杭州海康威视数字技术股份有限公司 Method and system for performing passive transcoding of video and audio data and transcoding server
WO2017101369A1 (en) * 2015-12-14 2017-06-22 乐视控股(北京)有限公司 Live video transcoding method and apparatus
CN105872581A (en) * 2016-05-31 2016-08-17 深圳市佑嘉互动科技有限公司 System and method for providing video direct broadcasting room services
CN107220271A (en) * 2016-12-14 2017-09-29 郑州祺石信息技术有限公司 A kind of method and system of distributed digital resource storage processing and management
CN108200358A (en) * 2018-03-20 2018-06-22 网宿科技股份有限公司 A kind of audio and video director method, system and control server
CN110475125A (en) * 2018-05-10 2019-11-19 视联动力信息技术股份有限公司 Video transcoding method and device
CN109002504A (en) * 2018-06-29 2018-12-14 安徽四创电子股份有限公司 A kind of document code-transferring method based on Docker mirror image
CN109600642A (en) * 2018-12-17 2019-04-09 广州华多网络科技有限公司 A kind of CDN resource regulating method and device
WO2021078279A1 (en) * 2019-10-24 2021-04-29 中兴通讯股份有限公司 Live media stream recording method and system, and computer-readable storage medium
CN111510734A (en) * 2020-04-17 2020-08-07 广州虎牙科技有限公司 CDN scheduling method, device, storage medium and equipment
CN111510743A (en) * 2020-04-21 2020-08-07 广州市百果园信息技术有限公司 Method, device, system, equipment and storage medium for scheduling transcoding resources
CN112565774A (en) * 2020-11-26 2021-03-26 北京达佳互联信息技术有限公司 Video transcoding resource scheduling method and device
CN112788357A (en) * 2020-12-30 2021-05-11 北京达佳互联信息技术有限公司 Network live broadcast method, device, server and computer readable storage medium
CN114024973A (en) * 2021-11-01 2022-02-08 上海绚显科技有限公司 Resource scheduling method, device, server and system for live cloud transcoding
CN113891114A (en) * 2021-11-18 2022-01-04 上海哔哩哔哩科技有限公司 Transcoding task scheduling method and device

Also Published As

Publication number Publication date
CN114679593A (en) 2022-06-28

Similar Documents

Publication Publication Date Title
CN111010614A (en) Method, device, server and medium for displaying live caption
CN109089130B (en) Method and device for adjusting timestamp of live video
CN107864122B (en) Display method and device for live stream of main broadcast with wheat
CN108462896B (en) Live data stream processing method and device and electronic equipment
EP2005740A2 (en) Interactive television application distribution, control, and communication system and methods
CN109803151B (en) Multimedia data stream switching method and device, storage medium and electronic device
CN108920120B (en) Information display control method and device
CN109428864B (en) Method and device for improving quality of nginx-rtmp pull flow service
CN111510756A (en) Audio and video switching method and device, computer equipment and readable storage medium
CN108965932A (en) A kind of even wheat window methods of exhibiting and device
CN113766251A (en) Processing method, system, server and storage medium for live broadcast and microphone connection
CN114040232B (en) Screen projection system, screen projection method, electronic equipment and storage medium
CN112218175B (en) Processing method and device for live broadcast room state and computing equipment
CN114679593B (en) Live broadcast transcoding processing method, device and system
CN112243136B (en) Content playing method, video storage method and device
CN109144613B (en) Android definition switching method and device, terminal and readable medium
CN111836020B (en) Code stream transmission method and device in monitoring system and storage medium
CN112333529A (en) Live streaming loading method and device, equipment and medium thereof
CN114374869A (en) Panoramic video playing method and device and computer storage medium
CN114077409A (en) Screen projection method and device, electronic equipment and computer readable medium
CN113395531A (en) Play switching method and device, electronic equipment and computer readable storage medium
CN111416994A (en) Method and device for synchronously presenting video stream and tracking information and electronic equipment
CN105872637A (en) Screen-display-based advertisement putting method and intelligent television
CN111491207A (en) Video data processing method and device in live broadcast and electronic equipment
CN114363665B (en) Multi-service code stream pushing method, system, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant