CN114679593A - Live transcoding processing method, device and system - Google Patents

Live transcoding processing method, device and system Download PDF

Info

Publication number
CN114679593A
CN114679593A CN202210122963.3A CN202210122963A CN114679593A CN 114679593 A CN114679593 A CN 114679593A CN 202210122963 A CN202210122963 A CN 202210122963A CN 114679593 A CN114679593 A CN 114679593A
Authority
CN
China
Prior art keywords
transcoding
live broadcast
edge cluster
target edge
room
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.)
Granted
Application number
CN202210122963.3A
Other languages
Chinese (zh)
Other versions
CN114679593B (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

Images

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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The application discloses a live transcoding processing method, a live transcoding processing device and a live transcoding processing system, which relate to the technical field of Internet, and the method comprises the following steps: acquiring a room broadcasting message of a live broadcast end; sending a first notification message to a target edge cluster corresponding to a live broadcast end according to a room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to pre-load transcoding services; and carrying out transcoding processing on the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service. Through the mode, the anchor user loads the transcoding service when opening the live broadcast room, and compared with the mode that the transcoding service is loaded after the live broadcast end successfully pushes the stream in the prior art, the transcoding service is loaded in advance, and the transcoding service can immediately pull the source code stream to transcode after the live broadcast end successfully pushes the stream without waiting for the transcoding service to load, so that the transcoding stream output speed is increased.

Description

Live transcoding processing method, device and system
Technical Field
The application relates to the technical field of internet, in particular to a live transcoding processing method, device and system.
Background
With the development of internet technology, live webcasting has become a trend, and more users initiate live webcasting and watch live webcasting through mobile terminals. In order to pursue a high-quality live broadcast effect, the anchor usually pushes high-rate audio/video streams, which has high requirements on the bandwidth and network transmission stability of the audience.
In the prior art, after an audio and video stream is pushed to a server by a live broadcast end, the audio and video stream is transcoded by using a transcoding technology to reduce a code rate, and the transcoded stream generated 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 transcoding can be performed after the transcoding service is started, which results in a long waiting time for outputting the transcoding stream.
Disclosure of Invention
An object of the embodiments of the present application is to provide a live transcoding processing method, apparatus, and system, so as to solve the problem in the prior art that after a main broadcast push stream is sent, transcoding needs to be performed after a transcoding service is started, which results in a long waiting time for outputting a transcoding stream.
According to an aspect of the present application, a live transcoding processing method is provided, including:
acquiring a room broadcasting message of a live broadcast end;
sending a first notification message to a target edge cluster corresponding to a live broadcast end according to a room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to pre-load transcoding services;
and carrying out transcoding processing on the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
Optionally, the method further comprises: acquiring a room broadcasting closing message of a live broadcast end; and sending a second notification message to a 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 broadcast message of the live broadcast end specifically includes: acquiring a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
Optionally, the acquiring the room broadcasting closing message of the live broadcast end specifically includes: acquiring a room broadcasting closing message sent by a live broadcast end according to the triggering of a room broadcasting closing event; the room broadcasting closing event is specifically as follows: the anchor user closes the operation event of the live broadcast room.
Optionally, transcoding, by using a preloaded transcoding service, a source code stream that is pushed to a target edge cluster by a live end, further includes: trying to pull a source code stream to a target edge cluster by using a pre-loaded transcoding service; and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
Optionally, after attempting to pull the source code stream to the target edge cluster by using the preloaded transcoding service, the method further includes: and if the source code stream is failed to be pulled, continuously trying to pull the source code stream.
Optionally, the method further comprises: when the live broadcast end pushes the source code stream of the target edge cluster to cut off the stream, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
Optionally, after acquiring the room broadcast message of the live end, the method further includes: screening a target edge cluster from the plurality of edge clusters according to the 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 pushes the stream to the target edge cluster according to the address of the target edge cluster.
Optionally, before the target edge cluster is obtained by screening 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 end.
Optionally, the screening, according to the state information of the multiple edge clusters, the target edge cluster from the multiple edge clusters further includes: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients, transcoding stability information.
Optionally, the method further comprises: and scanning each edge cluster at regular time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used for enabling the target edge cluster to apply for the service resource and pull the service image.
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 a live broadcast end;
the notification module is used for sending a first notification message to a target edge cluster corresponding to the live broadcast end according to the room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to perform preloading processing on transcoding services;
and the transcoding module is used for performing transcoding processing on the source code stream which is pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
Optionally, the message obtaining module is further configured to: acquiring a room broadcasting closing message of a live broadcast end;
the notification module is further to: and sending a second notification message to a 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 obtaining module is further configured to: acquiring a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
Optionally, the message obtaining module is further configured to: acquiring a room broadcasting closing message sent by a live broadcast end according to the triggering of a room broadcasting closing event; the room broadcasting closing event is specifically as follows: the anchor user closes the operation event of the live broadcast room.
Optionally, the transcoding module is further configured to: trying to pull a source code stream to a target edge cluster by using a pre-loaded transcoding service; and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
Optionally, the transcoding module is further configured to: and if the source code stream is failed to be pulled, continuously trying to pull the source code stream.
Optionally, the transcoding module is further configured to: when the live broadcast end pushes the source code stream of the target edge cluster to cut off the stream, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
Optionally, the apparatus further comprises: the scheduling module is used for screening a target edge cluster from a plurality of edge clusters according to the state information of the edge clusters after acquiring the room broadcasting message of the live broadcast 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 pushes 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 plurality of edge clusters according to the address information of the live broadcast end before the target edge cluster is obtained by screening from the plurality of edge clusters according to the state information of the plurality of edge clusters.
Optionally, the scheduling module is further configured to: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients, transcoding stability information.
Optionally, the apparatus further comprises: and the scanning module is used for scanning each edge cluster at regular time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used for enabling the target edge cluster to apply for the service resource and pull the service image.
According to another aspect of the present application, a live transcoding processing system is provided, 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 system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication 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 another aspect of the present application, a computer storage medium is provided, where at least one executable instruction is stored in the storage medium, and the executable instruction causes a processor to perform an operation corresponding to the above live transcoding processing method.
According to the live broadcast transcoding processing method, the live broadcast transcoding processing device and the live broadcast transcoding processing system, on one hand, a main broadcast user preloads the transcoding service when starting a live broadcast room, and compared with the mode of loading the transcoding service after the live broadcast end successfully pushes the stream in the prior art, the transcoding service is loaded in advance, the transcoding service can immediately output the transcoding stream after the live broadcast end successfully pushes the stream, the transcoding service does not need to wait for the transcoding service to be loaded, and the output of the transcoding stream can be accelerated; on the other hand, the transcoding service is started and closed by utilizing a room on-off broadcasting event, and a loss result of pulling occurring in the live broadcasting process is shielded, so that the transcoding service is started and closed only depending on the room on-off broadcasting event, but not depending on the stream on-off broadcasting event, the transcoding service is ensured to always normally operate in the period from the on-off broadcasting to the off-broadcasting, the influence of stream jitter on the transcoding service is avoided, in addition, the transcoding service transcodes at least one video frame in the pulled historical source code stream to generate a transcoding stream under the condition of source code stream pulling failure, so that the transcoding stream can be generated under the condition of push stream breaking, the disconnection of a live broadcasting link of a watching end caused by push stream breaking is avoided, and once the push stream is restored to be normal in the watching end; on the other hand, uplink plug flow scheduling is carried out according to the resource state of the edge cluster, and the edge cluster with the best state is screened out to serve as a target edge cluster of the plug flow, so that stable operation of transcoding service is facilitated, and meanwhile, the resources of all the edge clusters can be used more reasonably and fully.
The foregoing description is only an overview of the technical solutions of the present application, and the present application can be implemented according to the content of the description in order to make the technical means of the present application more clearly understood, and the following detailed description of the present application is given in order to make the above and other objects, features, and advantages of the present application more clearly understandable.
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 refer to like parts throughout the drawings. In the drawings:
fig. 1 shows a flowchart of a live transcoding processing method provided in an embodiment of the present application;
fig. 2 is a flowchart illustrating a live transcoding processing method according to another embodiment of the present application;
fig. 3 is a flowchart illustrating a live transcoding processing method according to another embodiment of the present application;
FIG. 4 illustrates a system framework diagram provided by another embodiment of the present application;
fig. 5 shows an interaction flowchart of a live transcoding process provided by another embodiment of the present application;
Fig. 6 shows a schematic structural diagram of a live transcoding processing apparatus provided in an embodiment of the present application;
fig. 7 shows a schematic structural diagram of a computing device provided in 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 disclosure to those skilled in the art.
First, technical terms related to embodiments of the present application are explained.
Source code stream: the anchor live is directly pushed to the server without processed video data.
Transcoding treatment: the video code stream which is compressed and coded is converted into video code streams with different formats so as to adapt to different network bandwidths, different terminal processing capacities and different user requirements.
Code stream conversion: and transcoding the processed video data.
And (3) transcoding service: and the functional module is loaded in the server of the edge cluster and is used for transcoding the video data. The method can convert the source code stream into one or more video code streams with different code rates in the server and then distribute the video code streams to corresponding live broadcast platforms.
Room broadcasting event: and the anchor user starts the operation event of the live broadcast room when the live broadcast is started.
A room broadcasting closing event: and the anchor user closes the operation event of the live broadcast room when the live broadcast is closed.
Stream play event: an event is generated when the anchor pushes a stream to the server.
Flow off events: the anchor pushes the events generated when the stream fails to the server.
And (3) uplink scheduling: when the live broadcast end starts broadcasting, a stream pushing node is selected to the live broadcast end according to factors such as the current anchor network condition, the geographical position and the like.
Edge clustering: the user side server is deployed at the edge of each city, is close to the physical distance of the user, and has the advantage of low transmission delay.
Fig. 1 shows a flowchart of a live transcoding processing method provided in an embodiment of the present application, where the method in the embodiment of the present application is applicable to a transcoding scheduling service, and as shown in fig. 1, the method includes the following steps:
step S110, acquiring a room broadcasting message of a live broadcast end.
The room broadcasting message is a message sent by a live broadcast end triggered when a live broadcast room is opened by a main broadcast user. The main process of the anchor user for live broadcasting comprises the following steps: the anchor user clicks a button for starting the live broadcast room, the live broadcast room is started in response to the operation, only the live broadcast room is started at the moment, and no live broadcast stream is generated; after the live broadcast room is started, the anchor user clicks a button for starting the live broadcast again, the live broadcast formally starts, and the live broadcast end collects audio and video streams and pushes the streams to the server. It can be seen that the triggering of the room opening message occurs before the formal plug flow of the live broadcast end.
And step S120, sending a first notification message to a target edge cluster corresponding to the live broadcast end according to the room broadcasting message, 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 a live broadcast stream, namely a source code stream, to the target edge cluster by the live broadcast end.
And after the room broadcasting message is acquired, sending a first notification message to a target edge cluster corresponding to the live broadcasting room, and preloading a transcoding service, including resource application, service loading and the like, by the target edge cluster according to the received first notification message.
And step S130, carrying out transcoding processing on the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
And the live broadcast end pushes the source code stream to a target edge cluster after acquiring the source code stream, the loaded transcoding service pulls the source code stream from the target edge cluster, and the source code stream is transcoded to output a transcoding stream.
According to the live broadcast transcoding processing method, a room broadcast message of a live broadcast end is obtained; sending a first notification message to a target edge cluster corresponding to a live broadcast end according to a room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to pre-load transcoding services; carrying out transcoding processing on a source code stream pushed to a target edge cluster by a live broadcast end by using a preloaded transcoding service; through the mode, the anchor user loads the transcoding service when opening the live broadcast room, and compared with the mode that the transcoding service is loaded after the live broadcast end successfully pushes the stream in the prior art, the transcoding service is loaded in advance, and the transcoding service can immediately pull the source code stream to transcode after the live broadcast end successfully pushes the stream without waiting for the transcoding service to load, so that the transcoding stream output speed is increased.
Fig. 2 shows a flowchart of a live transcoding processing method according to another embodiment of the present application, and as shown in fig. 2, the method includes the following steps:
step S210, acquiring a room broadcasting message of a live broadcast end.
The room broadcasting message is a message which is triggered and sent by a live broadcast end when a live broadcast room is opened by a main broadcast user.
In an alternative mode, the specific implementation of the step is as follows: the method comprises the steps of obtaining a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event, wherein the room broadcasting event refers to an operation event that an anchor user opens a live broadcast room, for example, the anchor user clicks a button for opening the live broadcast room, and the room broadcasting event occurs before a positive type push source code stream of the live broadcast end. And if the room broadcasting information of the live broadcast end is acquired, the room broadcasting event in the live broadcast end is monitored.
Step S220, according to the room broadcasting 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 sending a first notification message to a target edge cluster corresponding to the live broadcast end according to the room broadcasting message sent by the live broadcast end, and preloading 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 the service resource and pull the service image, that is, the target edge cluster performs the preloading processing on the transcoding service specifically includes: applying for resources and pulling a service image to start a transcoding service.
Therefore, the method of the embodiment of the application is that when an operation event that an anchor user opens a live broadcast room is monitored, resources required by transcoding service are prepared and the transcoding service is preheated, so that source code streams pushed by a live broadcast end can be immediately transcoded to generate transcoding streams after the source code streams are received, and the transcoding service loading does not need to be waited.
The transcoding processing of the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service further comprises the following steps: trying to pull a source code stream to a target edge cluster by using a pre-loaded transcoding service; if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream; and if the source code stream is failed to be pulled, continuously trying to pull the source code stream. After preloading is completed, the transcoding service continuously tries to pull a 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 source code stream is failed to be pulled, for example, if the live broadcast end pushes stream to cut off, the source code stream is failed to be pulled, the result of the failure of pulling is not processed, and the source code stream is continuously tried to be pulled.
Further, when the source code stream pushed to the target edge cluster by the live broadcast end is cut off, transcoding at least one video frame in the historical source code stream received by the target edge cluster by using the pre-loaded transcoding service; if the live broadcast end pushes the source code stream of the target edge cluster to be cut off, the transcoding service cannot successfully pull the source code stream, namely the source code stream is pulled to be wrong, transcoding processing is carried out on at least one video frame in the pulled historical source code stream to obtain a transcoded stream, the fact that the transcoded stream can still be generated when the source code stream is cut off is guaranteed, and the transcoded stream is sent to the watching end, and therefore the fact that a live broadcast link of the watching end cannot be broken when the source code stream is cut off is guaranteed.
Optionally, a latest video frame in the received source code stream is transcoded into a transcoded stream, and the transcoded stream is issued to the viewing terminal for playing, so as to ensure that a live broadcast picture in the viewing terminal can be continued when the push stream is restored.
In practical applications, there are situations of stream jitter, for example, a live end push stream is unstable due to a network quality problem from the live end to a server, and a stream playing event (an event generated by a main push stream to the server) and a stream closing event (an event of source code stream on the server being cut off) are frequently generated. In the prior art, once a stream playing event exists, a transcoding service is started, and a stream closing event exists, the transcoding service is closed, so that the frequent starting and closing of the transcoding service causes the frequent restarting of the related service of the uplink push stream, which causes service confusion. In addition, the live link of the watching end is disconnected due to the source code stream disconnection, if the live broadcast needs to be restored again, the watching end needs to retry connection, inconvenience is brought to the watching user, and the live link disconnection time is prolonged due to the frequent opening and closing of the transcoding service, so that the live broadcast effect is affected.
According to the method, the result of the pull failure of the transcoding service is filtered, the transcoding service cannot be closed due to the pull failure, the transcoding service can stably operate under the condition of flow jitter, the phenomenon that the operation of the transcoding service is influenced by the flow jitter is avoided, meanwhile, the transcoding service transcodes a video frame in the received historical source code stream into the transcoding stream under the condition of the pull failure (namely the push flow cut-off of the live broadcast end), the disconnection of a live broadcast link in the watching end caused by the live broadcast cut-off is avoided, and once the push flow is restored, the live broadcast can be quickly restored to be normal in the watching end.
Step S230, a room broadcasting closing message of the live broadcast end is obtained.
The room broadcasting closing message is a message which is triggered and sent by a live broadcast end when a user closes a live broadcast room.
In an alternative mode, the specific implementation of the step is as follows: acquiring a room broadcasting message sent by a live broadcast end according to a room broadcasting event trigger, wherein the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room, and the room off-air event refers to an operation event of the live broadcast room when the anchor user finishes live broadcast, for example, the anchor user clicks an operation event of a live broadcast closing button, and if the room off-air message of the live broadcast end is obtained, it indicates that the room off-air event in the live broadcast end is monitored.
Step S240, according to the room closing message, sending a second notification message to the target edge cluster corresponding to the live broadcast end, where the second notification message is used to enable 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 end according to the room broadcasting closing message sent by the live broadcast end, and closing the transcoding service by the target edge cluster according to the received second notification message.
According to the aspect of live broadcast transcoding processing provided by the embodiment of the application, on one hand, when a room broadcasting event of a live broadcast end is monitored, transcoding service is preloaded, and compared with the mode that in the prior art, transcoding service is loaded after live broadcast end stream pushing is successful, the transcoding service is loaded in advance, and after live broadcast end stream pushing is successful, the transcoding service can immediately output a transcoding stream without waiting for the transcoding service to be loaded, so that the output of the transcoding stream can be accelerated; on the other hand, the transcoding service is started and closed by utilizing a room on-off broadcasting event, and a loss result of a pull stream occurring in the live broadcasting process is shielded, so that the transcoding service is started and closed only by relying on the room on-off broadcasting event, rather than being started and closed by relying on a stream on-off broadcasting event, the transcoding service is ensured to always normally operate in the period from the on-off broadcasting to the off-broadcasting, and the influence of stream jitter on the transcoding service is avoided; on the other hand, 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 failed to be pulled, so that the transcoded stream can be generated under the condition that the push stream is cut off, the live broadcast link of the watching end is prevented from being disconnected due to the cut-off of the push stream, and once the push stream is recovered, the live broadcast in the watching end can be quickly recovered to be normal.
Fig. 3 is a flowchart illustrating a live transcoding processing method according to another embodiment of the present application, where as shown in fig. 3, the method includes the following steps:
and step S310, acquiring a room broadcasting message of a live broadcast end.
Step S320, according to the room broadcast message and according to the state information of the plurality of edge clusters, filtering a target edge cluster from the plurality of edge clusters, and sending a first notification message to the target edge cluster, where the first notification message is used to enable the target edge cluster to perform pre-loading processing on the transcoding service.
After room broadcasting information of a live broadcast end is acquired, uplink scheduling processing is carried out according to the state information of the edge clusters, a target edge cluster is screened out, and a first notification message is sent to the target edge cluster, so that the target edge cluster can preload transcoding service.
The state information of the edge cluster refers to relevant information representing the processing capability of the edge cluster, such as remaining resource information, network conditions, weight coefficients, and transcoding stability information. And evaluating the processing capacity of each edge cluster according to the state information of each edge cluster, and screening to obtain a target edge cluster of the live broadcast push stream according to the evaluation result of the processing capacity. Therefore, the edge cluster of the live broadcast push stream is scheduled and selected according to the relevant state information of the edge cluster, the edge cluster with the best state is ensured to be selected as the edge cluster of the live broadcast push stream, and meanwhile, the resources of all the edge clusters can be used more reasonably and fully.
In an optional mode, scanning each edge cluster at regular time to obtain state information of each edge cluster; and screening the target edge clusters from the plurality of edge clusters according to the state information obtained by the latest scanning of the plurality of edge clusters. In the method, the state information of each edge cluster is obtained at fixed 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 consumed by scheduling is reduced.
In another optional manner, after room broadcasting information of the live broadcast end is acquired, each edge cluster is scanned to obtain real-time state information of each edge cluster, and a target edge cluster is obtained by screening from the plurality of edge clusters according to the real-time state information of the plurality of edge clusters. In the method, the state information of each edge cluster is acquired in real time when a 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 the live broadcast push stream.
In an optional manner, according to the address information of the live broadcast end, a plurality of edge clusters are queried, and then a target edge cluster is screened from the queried plurality of edge clusters, that is, a plurality of candidate edge clusters are queried according to the address information of the live broadcast end, and a target edge cluster is screened from the candidate edge clusters, for example, a plurality of edge clusters with a distance from the live broadcast end within a preset distance range are screened as candidates, so that the screening range is reduced, and the calculation amount is reduced.
In another optional manner, the step of screening the target edge cluster from the multiple edge clusters according to the state information of the multiple edge clusters specifically includes the following steps: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
For example, the following formula is used to calculate the score of the edge cluster:
score ═ residual resource × (weight coefficient) + transcoding stability degree
The residual resources refer to residual unoccupied CPU resources of the edge cluster and the like, the more the residual resources are, the higher the score is, and the less the residual resources are, the lower the score is; the weight coefficient is a preset coefficient; the transcoding stability degree is obtained by evaluating the stability condition of the existing transcoding tasks in the edge cluster, and the more stable the existing transcoding tasks are, the more stable the network where the edge cluster is located is, the higher the score is. By the method, the edge cluster with the optimal performance can be screened out to serve as a target edge cluster of live broadcast push stream, and stable operation of transcoding service is facilitated.
And step S330, 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.
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 the live broadcast end carries out stream pushing on the edge cluster of the address after generating a source code stream.
It should be noted that the step of notifying the target edge cluster of the pre-loading transcoding service and the step of returning the address of the target edge cluster to the live broadcast end may be sequentially executed in sequence, or may be executed simultaneously, which is not limited in this application.
Step S340, acquiring a room broadcasting closing message of the live broadcasting end.
And step S350, sending a second notification message to the target edge cluster corresponding to the live broadcast end according to the room closing message, wherein the second notification message is used for enabling the target edge cluster to close the transcoding service.
And if the room broadcasting closing information of the live broadcasting end is obtained, the room broadcasting closing event of the live broadcasting end is proved to occur, and the anchor user finishes the live broadcasting, sending a second notification information to a target edge cluster corresponding to the live broadcasting end, closing the transcoding service by the target edge cluster according to the received second notification information, and releasing resources occupied by the transcoding service.
According to the live broadcast transcoding processing method provided by the embodiment of the application, on one hand, when a room broadcasting event of a live broadcast end is monitored, the transcoding service is preloaded, and compared with the mode that the transcoding service is loaded after the live broadcast end successfully pushes the stream in the prior art, the loading of the transcoding service is advanced, so that the transcoding service can immediately output the transcoding stream after the live broadcast end successfully pushes the stream without waiting for the transcoding service to be loaded; on the other hand, uplink scheduling is carried out according to the resource state of the edge cluster, the edge cluster with the best state is screened out to serve as a target edge cluster of the plug flow, stable operation of transcoding service is guaranteed, and meanwhile resources of all edge clusters can be used more reasonably and fully.
Fig. 4 shows a schematic diagram of a system framework provided in another embodiment of the present application, and as shown in fig. 4, the system framework includes a live broadcast end, a transcoding scheduling service, and a plurality of edge clusters. 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 interaction flowchart of live transcoding provided in another embodiment of the present application, and as shown in fig. 5, the anchor transcoding specifically includes the following steps:
step S1, the live broadcast end responds to the live broadcast room starting operation and sends a room broadcasting message to the transcoding dispatching service, and the transcoding dispatching service confirms that the room broadcasting event is monitored;
step S2, the transcoding dispatching service screens the target edge clusters from the plurality of edge clusters according to the state information of the plurality of edge clusters;
step S3, the transcoding scheduling service sends a transcoding service opening 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 can push the stream to the edge cluster of the address;
And step S5, preloading the transcoding service after the target edge cluster receives the transcoding service starting notification message.
Step S6, after the transcoding service is loaded, continuously trying to pull the source code stream, and in the process, not processing the pulling failure result;
step S7, the live broadcast end responds to the live broadcast operation, collects the audio and video stream and pushes the stream;
step S8, the transcoding service carries out transcoding processing on the pulled source code stream to obtain a transcoding stream;
step S9, the live broadcast end responds to the closing operation of the live broadcast room and sends a room closing message to the transcoding scheduling service;
step S10, the transcoding scheduling service sends a transcoding service closing notification message to the target edge cluster;
and step S11, after the target edge cluster receives the transcoding service closing notification message, closing the transcoding service.
It should be noted that step S3 and step S4 may be executed simultaneously or sequentially, and the present application is not limited thereto.
According to the live broadcast transcoding processing method provided by the embodiment of the application, on one hand, when a room broadcasting event of a live broadcast end is monitored, transcoding service is loaded, and compared with the mode that in the prior art, the transcoding service is loaded after the live broadcast end successfully pushes a stream, the transcoding service is loaded in advance, and after the live broadcast end successfully pushes the stream, the transcoding service can be immediately pulled to a source code stream for transcoding without waiting for the transcoding service to be loaded, so that the speed of outputting the transcoding stream is increased; on the other hand, the transcoding service is started and closed by utilizing a room on-off broadcasting event, and a loss result of a pull stream occurring in the live broadcasting process is shielded, so that the transcoding service is started and closed only by relying on the room on-off broadcasting event, rather than being started and closed by relying on a stream on-off broadcasting event, the transcoding service is ensured to always normally operate in the period from the on-off broadcasting to the off-broadcasting, and the influence of stream jitter on the transcoding service is avoided; on the other hand, the transcoding service transcodes at least one video frame in the pulled historical source code stream to output a transcoded stream under the condition that the source code stream is failed to be pulled, so that the transcoded stream can be still output under the condition that the source code stream is cut off, the disconnection of a live broadcast link in a watching end caused by live broadcast cut-off is avoided, and once the stream pushing is recovered, the live broadcast in the watching end can be quickly recovered to be normal.
Fig. 6 shows a schematic structural diagram of a live transcoding processing apparatus provided in an embodiment of the present application. As shown in fig. 6, the apparatus includes:
the message acquisition module 61 is used for acquiring a room broadcasting message of 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 broadcast message, where the first notification message is used to enable the target edge cluster to perform pre-loading processing on the transcoding service;
and the transcoding module 63 is configured to perform transcoding processing on the source code stream that is pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
Optionally, the message obtaining module 61 is further configured to: acquiring a room broadcasting closing message of a live broadcast end;
the notification module 62 is further configured to: and sending a second notification message to a 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 obtaining module 61 is further configured to: acquiring a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
Optionally, the message obtaining module 61 is further configured to: acquiring a room broadcasting closing message sent by a live broadcast end according to the triggering of a room broadcasting closing event; the room broadcasting closing event is specifically as follows: the anchor user closes the operation event of the live broadcast room.
Optionally, the transcoding module 63 is further configured to: trying to pull a source code stream to a target edge cluster by using the preloaded transcoding service; and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
Optionally, the transcoding module 63 is further configured to: and if the source code stream is failed to be pulled, continuously trying 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 of the target edge cluster to cut off the stream, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
Optionally, the apparatus further comprises: the scheduling module is used for screening a target edge cluster from a plurality of edge clusters according to the state information of the edge clusters after acquiring the room broadcasting message of the live broadcast 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 pushes 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 plurality of edge clusters according to the address information of the live broadcast end before the target edge cluster is obtained by screening from the plurality of edge clusters according to the state information of the plurality of edge clusters.
Optionally, the scheduling module is further configured to: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
Optionally, the state information of the edge cluster includes at least one of: residual resource information, network conditions, weight coefficients, transcoding stability information.
Optionally, the apparatus further comprises: and the scanning module is used for scanning each edge cluster at regular time to obtain the state information of each edge cluster.
Optionally, the first notification message is further used to enable the target edge cluster to apply for the service resource and pull the service image.
The embodiment of the application further provides a live broadcast transcoding system, which comprises the live broadcast processing device, the live broadcast end and the target edge cluster in the embodiment.
The embodiment of the application provides a nonvolatile computer storage medium, wherein at least one executable instruction is stored in the computer storage medium, and the computer executable instruction can execute the live transcoding processing method in any method embodiment.
The executable instructions may be specifically configured to cause the processor to:
acquiring a room broadcasting message of a live broadcast end;
Sending a first notification message to a target edge cluster corresponding to a live broadcast end according to a room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to carry out preloading processing on transcoding services;
and performing transcoding processing on a source code stream pushed to a target edge cluster by a live broadcast end by using the pre-loaded transcoding service.
In an alternative manner, the executable instructions may be specifically configured to cause the processor to perform the following operations: acquiring a room broadcasting closing message of a live broadcasting end; and sending a second notification message to a 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 executable instructions may be specifically configured to cause the processor to: acquiring a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
In an alternative, the executable instructions may be specifically configured to cause the processor to: acquiring a room broadcasting closing message sent by a live broadcast end according to the triggering of a room broadcasting closing event; the room broadcasting closing event is specifically as follows: the anchor user closes the operation event of the live broadcast room.
In an alternative, the executable instructions may be specifically configured to cause the processor to: trying to pull a source code stream to a target edge cluster by using the preloaded transcoding service; and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
In an alternative, the executable instructions may be specifically configured to cause the processor to: after the pre-loaded transcoding service is used for trying to pull the source code stream to the target edge cluster, if the source code stream is failed to be pulled, the source code stream is continuously tried to be pulled.
In an alternative, the executable instructions may be specifically configured to cause the processor to: when the live broadcast end pushes the source code stream of the target edge cluster to cut off the stream, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
In an alternative, the executable instructions may be specifically configured to cause the processor to: after room broadcasting information of a live broadcast end is obtained, a target edge cluster is obtained by screening from a plurality of edge clusters 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.
In an alternative manner, the executable instructions may be specifically configured to cause the processor to perform the following operations: and inquiring the plurality of edge clusters according to the address information of the live broadcast end before screening the target edge clusters from the plurality of edge clusters according to the state information of the plurality of edge clusters.
In an alternative, the executable instructions may be specifically configured to cause the processor to: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
In an optional manner, the state information of the edge cluster includes at least one of the following: residual resource information, network conditions, weight coefficients, transcoding stability information.
In an alternative, the executable instructions may be specifically configured to cause the processor to: and scanning each edge cluster at regular time to obtain the state information of each edge cluster.
In an optional manner, the first notification message is further used for enabling the target edge cluster to apply for the service resource and pull the service image.
Fig. 7 is a schematic structural diagram of a computing device provided in an embodiment of the present application, and the specific embodiment of the present application does not limit a specific implementation of the computing device.
As shown in fig. 7, the computing device may include: a processor (processor)702, a Communications Interface 704, a memory 706, and a communication bus 708.
Wherein: the processor 702, communication interface 704, and memory 706 communicate 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 execute relevant steps in the above-described live transcoding processing method embodiment for a computing device.
In particular, the program 710 may include program code that includes computer operating instructions.
The processor 702 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement embodiments of the present application. The computing device includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
The memory 706 stores a program 710. The memory 706 may comprise high-speed RAM memory, and may also include 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 perform the following operations:
acquiring a room broadcasting message of a live broadcast end;
sending a first notification message to a target edge cluster corresponding to a live broadcast end according to a room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to pre-load transcoding services;
and carrying out transcoding processing on the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: acquiring a room broadcasting closing message of a live broadcast end; and sending a second notification message to a 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 optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: acquiring a room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: acquiring a room broadcasting closing message sent by a live broadcast end according to the triggering of a room broadcasting closing event; the room broadcasting closing event specifically comprises the following steps: the anchor user closes the operation event of the live broadcast room.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: trying to pull a source code stream to a target edge cluster by using a pre-loaded transcoding service; and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: after the pre-loaded transcoding service is used for trying to pull the source code stream to the target edge cluster, if the source code stream is failed to be pulled, the source code stream is continuously tried to be pulled.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: when the live broadcast end pushes the source code stream of the target edge cluster to cut off the stream, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: after room broadcasting information of a live broadcast end is obtained, a target edge cluster is obtained by screening from a plurality of edge clusters 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.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: and inquiring the plurality of edge clusters according to the address information of the live broadcast end before screening the target edge clusters from the plurality of edge clusters according to the state information of the plurality of edge clusters.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: respectively calculating the score of each edge cluster according to the state information of each edge cluster; and determining the edge cluster with the highest score as a target edge cluster.
In an optional manner, the state information of the edge cluster includes at least one of the following: residual resource information, network conditions, weight coefficients, transcoding stability information.
In an optional manner, the program 710 may be further specifically configured to cause the processor 702 to perform the following operations: and scanning each edge cluster at regular time to obtain the state information of each edge cluster.
In an optional manner, the first notification message is further used for enabling the target edge cluster to apply for the service resource and pull the service image.
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 constructing such a system will be 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 a variety of programming languages may be used to implement the teachings of the present application as described herein, and any descriptions of specific languages are provided above to disclose the best modes 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 foregoing 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 application and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains. 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 devices in an embodiment may be adaptively changed and arranged in one or more devices different from the embodiment. The modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore, may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements 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.
Moreover, those of skill in the art will understand that although some embodiments herein include some features included in other embodiments, not others, 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 may be used in any combination.
The various component embodiments of the present 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 a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components according to the embodiments of the application. The present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or 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 usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.

Claims (17)

1. A live transcoding processing method comprises the following steps:
acquiring a room broadcasting message of a live broadcast end;
sending a first notification message to a target edge cluster corresponding to the live broadcast end according to the room broadcasting message, wherein the first notification message is used for enabling the target edge cluster to pre-load transcoding services;
and transcoding the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
2. The method of claim 1, wherein the method further comprises:
acquiring a room broadcasting closing message of a live broadcast end;
and sending a second notification message to a target edge cluster corresponding to the live broadcast end according to the room closing message, wherein the second notification message is used for enabling the target edge cluster to close transcoding service.
3. The method according to claim 1, wherein the acquiring of the room broadcast message of the live broadcast end specifically includes: acquiring the room broadcasting message sent by a live broadcast end according to the triggering of a room broadcasting event; the room broadcasting event is specifically as follows: the anchor user opens an operation event of the live broadcast room.
4. The method according to claim 2, wherein the acquiring of the room broadcasting close message of the live broadcast terminal specifically includes: acquiring the room broadcasting closing information sent by a live broadcast end according to the triggering of the room broadcasting closing event; the room broadcasting closing event is specifically as follows: the anchor user closes the operation event of the live broadcast room.
5. The method of any of claims 1-4, wherein the transcoding a source code stream pushed by the live end to the target edge cluster with a pre-loaded transcoding service further comprises:
trying to pull a source code stream to a target edge cluster by using a pre-loaded transcoding service;
and if the source code stream is successfully pulled, carrying out transcoding processing on the pulled source code stream to obtain a transcoding stream.
6. The method of claim 5, wherein after the attempting to pull a source codestream to a target edge cluster with a preloaded transcoding service, the method further comprises:
and if the source code stream is failed to be pulled, continuously trying to pull the source code stream.
7. The method according to any one of claims 1-4, wherein the method further comprises:
when the source code stream pushed to the target edge cluster by the live broadcast end is cut off, at least one video frame in the history source code stream received by the target edge cluster is transcoded by using the pre-loaded transcoding service.
8. The method of any of claims 1-4, wherein after acquiring the room-cast message of the live end, the method further comprises:
Screening a target edge cluster from a plurality of edge clusters according to the 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 pushes the stream to the target edge cluster according to the address of the target edge cluster.
9. The method of claim 8, wherein before the filtering a target edge cluster from the plurality of edge clusters according to the status information of the plurality of edge clusters, the method further comprises:
and inquiring the plurality of edge clusters according to the address information of the live broadcast end.
10. The method of claim 9, wherein the filtering the target edge cluster from the plurality of edge clusters according to the status information of the plurality of edge clusters further comprises:
respectively calculating the score of each edge cluster according to the state information of each edge cluster;
and determining the edge cluster with the highest score as a 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, transcoding stability information.
12. The method of claim 8, wherein the method further comprises:
and scanning each edge cluster at regular time to obtain the state information of each edge cluster.
13. The method of claim 1, wherein the first notification message is further for causing the target edge cluster to apply for a service resource and pull a service image.
14. A live transcoding processing apparatus, comprising:
the message acquisition module is used for acquiring a room broadcasting message of a live broadcast end;
a notification module, configured to send a first notification message to a target edge cluster corresponding to the live broadcast end according to the room broadcasting message, where the first notification message is used to enable the target edge cluster to perform pre-loading processing on a transcoding service;
and the transcoding module is used for performing transcoding processing on the source code stream pushed to the target edge cluster by the live broadcast end by using the pre-loaded transcoding service.
15. A live transcoding processing system, comprising: the live transcoding processing apparatus of claim 14, and a live end and a target edge cluster.
16. A computing device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
The memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the operation corresponding to the live transcoding processing method as claimed in any one of claims 1 to 13.
17. A computer storage medium having at least one executable instruction stored therein, the executable instruction causing a processor to perform operations corresponding to the live transcoding processing method of any of claims 1-13.
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 true CN114679593A (en) 2022-06-28
CN114679593B 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 (18)

* 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
US20160316234A1 (en) * 2015-04-27 2016-10-27 Centurylink Intellectual Property Llc Intelligent Video Streaming System
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

Patent Citations (18)

* 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
US20160316234A1 (en) * 2015-04-27 2016-10-27 Centurylink Intellectual Property Llc Intelligent Video Streaming System
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
CN114679593B (en) 2023-09-22

Similar Documents

Publication Publication Date Title
CN111010614A (en) Method, device, server and medium for displaying live caption
CN108810657B (en) Method and system for setting video cover
CN108920120B (en) Information display control method and device
CN109428864B (en) Method and device for improving quality of nginx-rtmp pull flow service
KR20160086854A (en) Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device
CN114040232B (en) Screen projection system, screen projection method, electronic equipment and storage medium
WO2016202201A1 (en) Resource allocation method and apparatus, and smart television system
CN114679592A (en) Edge cluster scheduling method and device
CN113766251A (en) Processing method, system, server and storage medium for live broadcast and microphone connection
CN111787404A (en) Live stream playing method and device
CN113194134A (en) Node determination method and device
CN112218175B (en) Processing method and device for live broadcast room state and computing equipment
CN112243136B (en) Content playing method, video storage method and device
CN114679593B (en) Live broadcast transcoding processing method, device and system
CN111049871B (en) Message pushing method, message management system, server and computer storage medium
CN112468876A (en) Resource playing method, device and system and readable storage medium
CN109144613B (en) Android definition switching method and device, terminal and readable medium
CN108933769B (en) Streaming media screenshot system, method and device
CN112596933B (en) Micro-service system based on message event communication
CN113573114B (en) Screen projection method and device, electronic equipment and storage medium
WO2022028189A1 (en) Screen projection method and apparatus, electronic device, and computer readable storage medium
CN114020497A (en) Service distribution method, device, equipment and readable storage medium
CN112511884A (en) Mixed flow control method and system of audio and video stream and storage medium
CN114143371B (en) Screen projection method and device, storage medium and electronic equipment
CN115174948B (en) Scheduling method and device based on transcoding resources

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