CN108174226B - Transcoding device and method for live video and computer readable storage medium - Google Patents

Transcoding device and method for live video and computer readable storage medium Download PDF

Info

Publication number
CN108174226B
CN108174226B CN201711373360.6A CN201711373360A CN108174226B CN 108174226 B CN108174226 B CN 108174226B CN 201711373360 A CN201711373360 A CN 201711373360A CN 108174226 B CN108174226 B CN 108174226B
Authority
CN
China
Prior art keywords
transcoding
task
data packet
transcoding task
data
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
CN201711373360.6A
Other languages
Chinese (zh)
Other versions
CN108174226A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201711373360.6A priority Critical patent/CN108174226B/en
Priority to PCT/CN2018/076116 priority patent/WO2019119633A1/en
Publication of CN108174226A publication Critical patent/CN108174226A/en
Application granted granted Critical
Publication of CN108174226B publication Critical patent/CN108174226B/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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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
    • H04N21/234336Processing 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 by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • 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)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention discloses a transcoding device of live video, which comprises a memory and a processor, wherein a live video transcoding program which can run on the processor is stored in the memory, and the program realizes the following steps when being executed by the processor: when the streaming media file uploaded by the plug-flow client is received, a transcoding task is established for the streaming media file; executing a transcoding task based on the data packets in the data cache queue, and recording the processing state of the data packets in the data cache queue; carrying out timing detection on the execution state of the transcoding task; if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet; restarting the transcoding task based on the marked first data packet node. The invention also provides a transcoding method of the live video and a computer readable storage medium. The invention improves the transcoding efficiency of the live video and can avoid that the user misses the live content due to the transcoding failure.

Description

Transcoding device and method for live video and computer readable storage medium
Technical Field
The present invention relates to the field of live broadcast technologies, and in particular, to a live video transcoding device and method, and a computer-readable storage medium.
Background
When network live broadcasting is carried out, a stream pushing client (an anchor user) pushes live video to a source server in a streaming media mode, and the typical characteristic of the live video is that continuous video information is compressed and then is put on a streaming media server, so that the user can watch the live video while downloading the live video without waiting for the completion of the downloading of the whole file. A live client (a live viewer) issues a viewing request (a pull stream request) to pull a stream of live video files to the viewer's client by an origin server in the live platform.
Because the live broadcasting platforms used by the audience when watching live broadcasting are different, the streaming media file uploaded by the stream pushing client needs to be transcoded and then converted into streaming media data with various code rates suitable for being played on different live broadcasting platforms. The existing transcoding system is mostly deployed at a core node, transcoding is realized by an independent transcoding machine, transcoding is required to be performed after streaming is pulled from a streaming server, and then transcoded data is pushed to other node servers for audience streaming, in the process, a streaming media file is required to be transmitted among a plurality of servers, so that not only is the transcoding efficiency low, but also the probability of transcoding failure is high, in addition, in the transcoding mechanism, once transcoding failure occurs, after a transcoding task is restarted, pictures during the transcoding task failure can be directly skipped, and a user misses part of live content.
Disclosure of Invention
The invention provides a transcoding device and method for a live video and a computer readable storage medium, and mainly aims to improve the transcoding efficiency of the live video and avoid that a user misses live content due to transcoding failure.
In order to achieve the above object, the present invention provides a live video transcoding device, which includes a memory and a processor, where the memory stores a live video transcoding program operable on the processor, and when executed by the processor, the live video transcoding program implements the following steps:
when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
restarting the transcoding task based on the marked first packet node.
Optionally, the step of performing timing detection on the execution state of the transcoding task includes:
and obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed.
Optionally, the step of performing timing detection on the execution state of the transcoding task includes:
and detecting heartbeat information periodically reported by a transcoding process in the process of executing a transcoding task, wherein when the heartbeat information is not detected in a period of continuous preset number, the transcoding task is judged to be failed to execute.
Optionally, the step of recording the processing state of the data packet in the data cache queue during the execution of the transcoding task includes:
and deleting the data packets which are transcoded in the data cache queue, or marking the data packets which are transcoded in the data cache queue as a transcoded state.
Optionally, the live video transcoding program may be further executable by the processor to implement the steps of:
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node;
when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image;
deleting the video frame images with the preset proportion in the converted video frame images according to a preset frame skipping rule;
and converting the residual video frame images into a streaming media file and then re-executing the transcoding task.
In addition, to achieve the above object, the present invention further provides a transcoding method of a live video, including:
when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
restarting the transcoding task based on the marked first packet node.
Optionally, the step of performing timing detection on the execution state of the transcoding task includes:
and obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed.
Optionally, the step of performing timing detection on the execution state of the transcoding task includes:
and detecting heartbeat information periodically reported by a transcoding process in the process of executing a transcoding task, wherein when the heartbeat information is not detected in a period of continuous preset number, the transcoding task is judged to be failed to execute.
Optionally, the method further comprises the step of:
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node;
when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image;
deleting the video frame images with the preset proportion in the converted video frame images according to a preset frame skipping rule;
and converting the residual video frame images into a streaming media file and then re-executing the transcoding task.
In addition, to achieve the above object, the present invention also provides a computer readable storage medium, on which a live video transcoding program is stored, where the live video transcoding program is executable by one or more processors to implement the steps of the transcoding method of live video as described above.
The invention provides a transcoding device, a method and a computer readable storage medium of a live video, wherein the transcoding device directly receives a streaming media file uploaded by a stream pushing client in a mode of continuously sending a data packet, creates a transcoding task, adds the received data packet into a data cache queue, executes the transcoding task based on the data cache queue, records the processing state of the data packet in the execution process of the transcoding task, detects the execution state of the transcoding task at regular time, marks a first data packet node with task failure according to the recorded processing state if the execution failure of the transcoding task is detected, restarts the transcoding task based on the first data packet node, in the scheme, a server for receiving the stream pushed by the stream pushing client provides the capability, does not need to execute transcoding on other settings of stream pushing transcoding, improves the transcoding efficiency, and reduces the possibility of the transcoding task failing in execution, in addition, if transcoding fails, the transcoding task can be restarted according to the marked data packet nodes in the data cache queue, pictures during the transcoding task failure period cannot be skipped, and the situation that the user misses live broadcast content due to the transcoding failure can be avoided.
Drawings
FIG. 1 is a diagram of a live video transcoding device according to a preferred embodiment of the present invention;
fig. 2 is a schematic diagram of program modules of a live video transcoding program according to an embodiment of the live video transcoding apparatus of the present invention;
fig. 3 is a flowchart of a transcoding method of a live video according to a first embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention provides a transcoding device of live video. Fig. 1 is a schematic diagram illustrating a transcoding device for live video according to a preferred embodiment of the present invention.
In this embodiment, the transcoding device of the live video comprises at least a memory 11, a processor 12, a communication bus 13, and a network interface 14.
The memory 11 includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card type memory (e.g., SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like. The memory 11 may in some embodiments be an internal storage unit of the transcoding device of the live video, for example a hard disk of the transcoding device of the live video. The memory 11 may also be an external storage device of the transcoding device of the live video in other embodiments, such as a plug-in hard disk provided on the transcoding device of the live video, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and so on. Further, the memory 11 may also comprise both an internal storage unit of the transcoding apparatus of live video and an external storage device. The memory 11 may be used to store not only application software installed in a transcoding apparatus of live video and various types of data, such as codes of a live video transcoding program, but also temporarily store data that has been output or is to be output.
The processor 12, which in some embodiments may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor or other data Processing chip, is configured to execute program code stored in the memory 11 or process data, such as executing a live video transcoding program.
The communication bus 13 is used to realize connection communication between these components.
The network interface 14 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface), typically used to establish a communication link between the apparatus and other electronic devices.
Fig. 1 shows only a transcoding device of live video with components 11-14 and a live video transcoding program, but it should be understood that not all of the shown components are required and that more or fewer components may be implemented instead.
Optionally, the device may further comprise a user interface, which may comprise a Display (Display), an input unit such as a Keyboard (Keyboard), and optionally a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, or the like. The display, which may also be referred to as a display screen or display unit, is suitable for displaying information processed in the transcoding device of the live video and for displaying a visual user interface.
In the embodiment of the apparatus shown in fig. 1, a live video transcoding program is stored in the memory 11; the processor 12, when executing the live video transcoding program stored in the memory 11, implements the following steps:
when the streaming media file uploaded by the streaming client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets.
And adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue.
In this embodiment, the distribution of the servers in the server group of the live broadcast system is deployed according to the hierarchical distribution of the geographic area. For example, the geographical region setting is divided into three levels as follows: the third level is the highest level, the geographic area of the level includes a national area range, the third level geographic area includes a plurality of second level geographic areas, such as a north China area, a south China area, and the like, each second level geographic area can be divided into a plurality of first level geographic areas, taking the south China area as an example, the area can be divided into a Guangdong area, a Guangxi area, a Hainan area, and the like. The sum of the next level geographic area coverage is equal to the coverage of the previous level area.
And setting the hierarchical distribution of the servers in the server group according to the hierarchical distribution of the geographic area. The method comprises the steps that first-level node servers are deployed in first-level geographic areas, at least one first-level node server is arranged in each first-level geographic area, the first-level node server is arranged in one first-level geographic area in the following content, for example, the first-level node server is arranged in the Guangdong area, the Guangxi area, the Hainan area and the like, the first-level node server is arranged in the south China area, the second-level node server is the upper-level node server of the first-level node servers, the rest is done by analogy, deployment of the servers of all the geographic areas is completed, and the first-level node servers are edge node servers. The servers distributed in the respective areas form a server group, and the hierarchical distribution of the server group is also in a tree form, and fig. 2 is a schematic diagram of the hierarchical distribution of the servers in the server group.
Any one server in the server group can serve as a scheduling server, and is used for allocating a suitable server as a stream pushing server for a stream pushing client, the stream pushing client pushes a stream media file to the server allocated to the stream pushing client, and the server can serve as a transcoding device of a live video in the embodiment at the same time, that is, the server located at an edge node can provide a transcoding function for the stream media file itself, and does not need to be sent to other equipment to execute transcoding operation.
After the connection is established between the push streaming client and the push streaming server (i.e., the transcoding device in this embodiment) allocated to the push streaming client, the push streaming client starts to upload the streaming media file, and the push streaming client uploads the streaming media file in a manner of continuously sending data packets. When the transcoding device starts to receive the streaming media file uploaded by the streaming client, a transcoding task is created for the streaming media, for one transcoding device, there may be multiple clients simultaneously pushing streams to the transcoding device, where one streaming media file corresponds to one transcoding task. And when receiving a data packet, the transcoding device adds the data packet into the data cache queue according to the receiving time, and simultaneously transcodes the data packet in the data cache queue continuously according to the sequence of the receiving time, converts the data packet into a streaming media file which accords with the code rate set by a live broadcast platform or a viewer client, so that the viewer client can pull the stream. The effect of uploading and watching is achieved through the process. Compared with the prior art, the transcoding device in the embodiment is used as a stream pushing server to receive the stream pushed by the stream pushing client, and simultaneously provides a transcoding function, and the stream media file does not need to be pushed to other transcoding machines for transcoding, so that the transcoding efficiency can be improved, and the possibility of failure of a transcoding task in execution is reduced.
And recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task.
And if the transcoding task is detected to be failed to execute, marking the first data packet node with the failed task according to the recorded processing state of the data packet.
Restarting the transcoding task based on the marked first packet node.
In the normal transcoding process, after the transcoding process of a data packet is completed, the state of the data packet in the data cache queue is marked as a transcoded state, or the data packet is deleted from the queue, so as to distinguish the data packets which are not transcoded in the queue.
The following methods can be referred to for determining the execution state and execution failure of the transcoding task:
the method comprises the steps of obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed. In the process of executing the transcoding task, the progress information in the log data of the transcoding task is updated regularly to record the execution progress of the task, so that whether the transcoding task fails or not can be judged by monitoring the updating condition of the information in the log data.
And in the second mode, the transcoding process periodically reports heartbeat information in the process of executing the transcoding task, and if the transcoding device cannot detect the heartbeat information in a continuous preset number of periods, the transcoding process is judged to stop transcoding operation, and then the transcoding task is judged to fail to execute.
After the transcoding task is judged to fail, determining the data packet which is received earliest and is not transcoded according to the recorded processing state of the data packet in the data cache queue, and judging that the transcoding task fails at the data packet, and marking a first data packet node at the data packet. And then establishing a transcoding process, restarting the transcoding task based on the marked first data packet node, namely, continuing to execute transcoding operation from the marked data packet, and starting transcoding operation from the data packet uploaded by the stream pushing client instead of restarting the transcoding task. Therefore, the spectator client can continue to play the video according to the content during the cut-off period without missing the live content during the cut-off period by continuing to pull the stream from the server side after the server resumes the connection.
In the transcoding device for live video provided by this embodiment, the transcoding device directly receives a streaming media file uploaded by a streaming client in a manner of continuously sending a data packet, creates a transcoding task, adds the received data packet to a data cache queue, executes the transcoding task based on the data cache queue, records a processing state of the data packet during the execution process of the transcoding task, detects the execution state of the transcoding task at regular time, marks a first data packet node with a task failure according to the recorded processing state if it is detected that the transcoding task fails to be executed, restarts the transcoding task based on the first data packet node, in the scheme, a server itself receiving the streaming client push stream provides transcoding capability, does not need to execute transcoding on other settings in the push stream, improves transcoding efficiency, and reduces the possibility of the transcoding task failing in execution, in addition, if transcoding fails, the transcoding task can be restarted according to the marked data packet nodes in the data cache queue, pictures during the transcoding task failure period cannot be skipped, and the situation that the user misses live broadcast content due to the transcoding failure can be avoided.
The second embodiment of the transcoding device for live video is provided based on the first embodiment. In this embodiment, the live video transcoding program may be further executed by the processor to implement the following steps:
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node; when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image; deleting the video frame images with the preset proportion in the converted video frame images according to a preset frame skipping rule; and converting the residual video frame images into a streaming media file and then re-executing the transcoding task.
When the transcoding task fails to be executed, the transcoding process of a streaming media file is interrupted, the streaming client continuously uploads data packets during the interruption of the transcoding task and stores the data packets in the data cache queue, and the data packets are not transcoded before the transcoding task is restarted, so that the stream cannot be pulled at the viewer client. The spectator client determines that a flow break has occurred at the server after multiple attempts to drop the flow. Based on the scheme of the first embodiment, after the transcoding task is restarted, during the period of transcoding interruption, the transcoding processing is continued on the data packets accumulated in the data cache queue. Because the length of the transcoding interruption period is not fixed, when the period is longer, excessive data packets can be accumulated in the queue after the transcoding task is restarted, if the transcoding processing is performed on the data packets one-to-one, the live content at the audience client and the streaming client is not synchronous, and the communication between the anchor and the audience is affected, therefore, in order to avoid the situation, when the user misses the live content due to the transcoding failure, the scheme of the embodiment ensures that the live content at the audience client and the streaming client is synchronous within a short time after the transcoding task is restarted, and the user experience is improved.
Specifically, after the task is restarted, a data packet received when the transcoding task is restarted is used as a second data packet node, the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time after the task is restarted are converted into video frame images, frame skipping processing is performed on the converted video frame images according to a preset frame skipping rule so as to delete video frame images with a preset proportion in all the converted video frame images, and the preset frame skipping rule can be that n frame images are deleted every m frame images, for example, one frame image is deleted every other frame image, and a video frame image 1/2 in the converted video frame images is deleted; alternatively, one frame image is deleted every two frame images, and 1/3 video frame images among the converted video frame images are deleted. And converting the residual video frame images after the frame skipping processing into a streaming media file, shortening the playing time of the video content on the audience client by the scheme, synchronizing the live broadcast content at the audience client and the push stream client after a second preset time length, and continuing to process according to a normal transcoding process without frame skipping processing. It can be understood that the frame skipping process can be performed once in units of a certain amount of packets, and does not need to be performed again until the second preset time after the task is restarted.
Or, in other embodiments, the spectator client converts the received streaming media file into video frame images within a third preset time after the flow is pulled back again, and then performs frame skipping playing, for example, deleting one or more video frame images from each video frame with a certain data amount, so that the playing progress of the spectator client is synchronized with that of the stream pushing client.
Alternatively, in other embodiments, the live video transcoding program may be further divided into one or more modules, and the one or more modules are stored in the memory 11 and executed by one or more processors (in this embodiment, the processor 12) to implement the present invention, where the modules referred to in the present invention refer to a series of computer program instruction segments capable of performing specific functions to describe the execution process of the live video transcoding program in the live video transcoding device.
For example, referring to fig. 2, a schematic diagram of program modules of a live video transcoding program in an embodiment of the live video transcoding apparatus of the present invention is shown, in this embodiment, the live video transcoding program may be divided into a task creation module 10, a task execution module 20, a task monitoring module 30, a status marking module 40, and a task restarting module 50, which exemplarily:
the task creation module 10 is configured to: when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
the task execution module 20 is configured to: adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
the task monitoring module 30 is configured to: recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
the status marking module 40 is configured to: if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
the task restart module 50 is configured to: restarting the transcoding task based on the marked first packet node.
The functions or operation steps implemented by the program modules such as the task creating module 10, the task executing module 20, the task monitoring module 30, the state marking module 40, and the task restarting module 50 when executed are substantially the same as those of the above embodiments, and are not described herein again.
In addition, the invention also provides a transcoding method of the live video. Fig. 3 is a flowchart illustrating a transcoding method of a live video according to a first embodiment of the present invention. The method may be performed by an apparatus, which may be implemented by software and/or hardware.
In this embodiment, a transcoding method of a live video includes:
step S10, when starting to receive a streaming media file uploaded by a stream client, creating a transcoding task for the streaming media file, where the stream client uploads the streaming media file in a manner of continuously sending data packets.
And step S20, adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue.
The following description will describe embodiments of the method of the present invention with a transcoding server as the executing agent. In this embodiment, the distribution of the servers in the server group of the live broadcast system is deployed according to the hierarchical distribution of the geographic area. For example, the geographical region setting is divided into three levels as follows: the third level is the highest level, the geographic area of the level includes a national area range, the third level geographic area includes a plurality of second level geographic areas, such as a north China area, a south China area, and the like, each second level geographic area can be divided into a plurality of first level geographic areas, taking the south China area as an example, the area can be divided into a Guangdong area, a Guangxi area, a Hainan area, and the like. The sum of the next level geographic area coverage is equal to the coverage of the previous level area.
And setting the hierarchical distribution of the servers in the server group according to the hierarchical distribution of the geographic area. The method comprises the steps that first-level node servers are deployed in first-level geographic areas, at least one first-level node server is arranged in each first-level geographic area, the first-level node server is arranged in one first-level geographic area in the following content, for example, the first-level node server is arranged in the Guangdong area, the Guangxi area, the Hainan area and the like, the first-level node server is arranged in the south China area, the second-level node server is the upper-level node server of the first-level node servers, the rest is done by analogy, deployment of the servers of all the geographic areas is completed, and the first-level node servers are edge node servers. The servers distributed in the respective areas form a server group, and the hierarchical distribution of the server group is also in a tree form, and fig. 2 is a schematic diagram of the hierarchical distribution of the servers in the server group.
Any one server in the server group can serve as a scheduling server, and is used for allocating a suitable server as a stream pushing server for a stream pushing client, the stream pushing client pushes a stream media file to the server allocated to the stream pushing client, and the server can serve as a transcoding server for live video in the embodiment at the same time, that is, the server located at the edge node can provide a transcoding function for the stream media file itself, and does not need to be sent to other devices to execute transcoding operation.
After the connection is established between the stream pushing client and the stream pushing server (i.e., the transcoding server in this embodiment) allocated to the stream pushing client, the stream pushing client starts to upload the stream media file, and the stream pushing client uploads the stream media file in a manner of continuously sending data packets. When a transcoding server starts to receive a streaming media file uploaded by a stream pushing client, a transcoding task is created for the streaming media, for one transcoding server, multiple clients may push streams to the transcoding server at the same time, wherein one streaming media file corresponds to one transcoding task. And when the transcoding server receives a data packet, the data packet is added into the data cache queue according to the receiving time, and the transcoding in the transcoding server continuously transcodes the data packet in the data cache queue according to the sequence of the receiving time and converts the data packet into a streaming media file which accords with the code rate set by a live broadcast platform or a viewer client so as to allow the viewer client to pull the stream. The effect of uploading and watching is achieved through the process. Compared with the prior art, the transcoding server in the method is used as a stream pushing server to receive the pushed stream of the stream pushing client, and simultaneously provides a transcoding function, and the stream media file does not need to be pushed to other transcoding machines for transcoding, so that the transcoding efficiency can be improved, and the possibility of failure of a transcoding task in execution is reduced.
And step S30, recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and detecting the execution state of the transcoding task at regular time.
Step S40, if it is detected that the transcoding task fails to be executed, marking the first packet node with a failed task according to the recorded processing state of the packet.
Step S50, restarting the transcoding task based on the marked first packet node.
In the normal transcoding process, after the transcoding process of a data packet is completed, the state of the data packet in the data cache queue is marked as a transcoded state, or the data packet is deleted from the queue, so as to distinguish the data packets which are not transcoded in the queue.
The following methods can be referred to for determining the execution state and execution failure of the transcoding task:
the method comprises the steps of obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed. In the process of executing the transcoding task, the progress information in the log data of the transcoding task is updated regularly to record the execution progress of the task, so that whether the transcoding task fails or not can be judged by monitoring the updating condition of the information in the log data.
And in the second mode, the transcoding process periodically reports heartbeat information in the process of executing the transcoding task, and if the transcoding server does not detect the heartbeat information in a continuous preset number of periods, the transcoding process is judged to stop transcoding operation, so that the transcoding task is judged to be failed to execute.
After the transcoding task is judged to fail, determining the data packet which is received earliest and is not transcoded according to the recorded processing state of the data packet in the data cache queue, and judging that the transcoding task fails at the data packet, and marking a first data packet node at the data packet. And then establishing a transcoding process, restarting the transcoding task based on the marked first data packet node, namely, continuing to execute transcoding operation from the marked data packet, and starting transcoding operation from the data packet uploaded by the stream pushing client instead of restarting the transcoding task. Therefore, the spectator client can continue to play the video according to the content during the cut-off period without missing the live content during the cut-off period by continuing to pull the stream from the server side after the server resumes the connection.
In the transcoding method of the live video provided by this embodiment, a streaming media file uploaded by a streaming client in a manner of continuously sending a data packet is received, a transcoding task is created, the received data packet is added to a data cache queue, the transcoding task is executed based on the data cache queue, a processing state of the data packet is recorded during the execution process of the transcoding task, the execution state of the transcoding task is detected at regular time, if a transcoding task execution failure is detected, a first data packet node with the task failure is marked according to the recorded processing state, and the transcoding task is restarted based on the first data packet node, in the scheme, a server receiving the streaming client provides transcoding capability, does not need to execute transcoding on other settings, transcoding efficiency is improved, and the possibility of the transcoding task failing in execution is reduced, in addition, if transcoding fails, the transcoding task can be restarted according to the marked data packet nodes in the data cache queue, pictures during the transcoding task failure period cannot be skipped, and the situation that the user misses live broadcast content due to the transcoding failure can be avoided.
The second embodiment of the transcoding method of the live video is provided based on the first embodiment. In this embodiment, the live video transcoding program may be further executed by the processor to implement the following steps:
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node; when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image; deleting the video frame images with the preset proportion in the converted video frame images according to a preset frame skipping rule; and converting the residual video frame images into a streaming media file and then re-executing the transcoding task.
When the transcoding task fails to be executed, the transcoding process of a streaming media file is interrupted, the streaming client continuously uploads data packets during the interruption of the transcoding task and stores the data packets in the data cache queue, and the data packets are not transcoded before the transcoding task is restarted, so that the stream cannot be pulled at the viewer client. The spectator client determines that a flow break has occurred at the server after multiple attempts to drop the flow. Based on the scheme of the first embodiment, after the transcoding task is restarted, during the period of transcoding interruption, the transcoding processing is continued on the data packets accumulated in the data cache queue. Because the length of the transcoding interruption period is not fixed, when the period is longer, excessive data packets can be accumulated in the queue after the transcoding task is restarted, if the transcoding processing is performed on the data packets one-to-one, the live content at the audience client and the streaming client is not synchronous, and the communication between the anchor and the audience is affected, therefore, in order to avoid the situation, when the user misses the live content due to the transcoding failure, the scheme of the embodiment ensures that the live content at the audience client and the streaming client is synchronous within a short time after the transcoding task is restarted, and the user experience is improved.
Specifically, after the task is restarted, a data packet received when the transcoding task is restarted is used as a second data packet node, the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time after the task is restarted are converted into video frame images, frame skipping processing is performed on the converted video frame images according to a preset frame skipping rule so as to delete video frame images with a preset proportion in all the converted video frame images, and the preset frame skipping rule can be that n frame images are deleted every m frame images, for example, one frame image is deleted every other frame image, and a video frame image 1/2 in the converted video frame images is deleted; alternatively, one frame image is deleted every two frame images, and 1/3 video frame images among the converted video frame images are deleted. And converting the residual video frame images after the frame skipping processing into a streaming media file, shortening the playing time of the video content on the audience client by the scheme, synchronizing the live broadcast content at the audience client and the push stream client after a second preset time length, and continuing to process according to a normal transcoding process without frame skipping processing. It can be understood that the frame skipping process can be performed once in units of a certain amount of packets, and does not need to be performed again until the second preset time after the task is restarted.
Or, in other embodiments, the spectator client converts the received streaming media file into video frame images within a third preset time after the flow is pulled back again, and then performs frame skipping playing, for example, deleting one or more video frame images from each video frame with a certain data amount, so that the playing progress of the spectator client is synchronized with that of the stream pushing client.
Furthermore, an embodiment of the present invention also provides a computer-readable storage medium having a live video transcoding program stored thereon, where the live video transcoding program is executable by one or more processors to implement the following operations:
when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
restarting the transcoding task based on the marked first packet node.
Further, the live video transcoding program when executed by the processor further performs the following operations:
and obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed.
Further, the live video transcoding program when executed by the processor further performs the following operations:
and detecting heartbeat information periodically reported by a transcoding process in the process of executing a transcoding task, wherein when the heartbeat information is not detected in a period of continuous preset number, the transcoding task is judged to be failed to execute.
Further, the live video transcoding program when executed by the processor further performs the following operations:
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node;
when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image;
deleting the video frame images with the preset proportion in the converted video frame images according to a preset frame skipping rule;
and converting the residual video frame images into a streaming media file and then re-executing the transcoding task.
The embodiment of the computer-readable storage medium of the present invention is substantially the same as the embodiments of the transcoding device and method for live video, and will not be described herein again.
It should be noted that the above-mentioned numbers of the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments. And the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, apparatus, article, or method. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, apparatus, article, or method that includes the element.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (8)

1. A transcoding device for live video, the device comprising a memory and a processor, the memory having stored thereon a live video transcoding program operable on the processor, the live video transcoding program when executed by the processor implementing the steps of:
when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
restarting the transcoding task based on the marked first data packet node;
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node;
when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image;
deleting the video frame images with the preset proportion in the video frame images obtained by conversion according to a preset frame skipping rule so that the live broadcast contents of the audience client and the push stream client are synchronized; the preset frame skipping rule is that n frames of images are deleted at intervals of m frames of images, wherein m and n are positive integers;
and converting the residual video frame images after the frame skipping processing into a streaming media file and then re-executing a normal transcoding task.
2. The transcoding device of a live video according to claim 1, wherein the step of periodically detecting the execution status of the transcoding task comprises:
and obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed.
3. The transcoding device of a live video according to claim 1, wherein the step of periodically detecting the execution status of the transcoding task comprises:
and detecting heartbeat information periodically reported by a transcoding process in the process of executing a transcoding task, wherein when the heartbeat information is not detected in a period of continuous preset number, the transcoding task is judged to be failed to execute.
4. The transcoding device of the live video according to any one of claims 1 to 3, wherein the step of recording the processing status of the data packets in the data cache queue during the execution of the transcoding task comprises:
and deleting the data packets which are transcoded in the data cache queue, or marking the data packets which are transcoded in the data cache queue as a transcoded state.
5. A method for transcoding live video, the method comprising:
when a streaming media file uploaded by a stream pushing client is received, a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a mode of continuously sending data packets;
adding the received data packet into a data cache queue, and executing the transcoding task based on the data cache queue;
recording the processing state of the data packets in the data cache queue in the execution process of the transcoding task, and carrying out timing detection on the execution state of the transcoding task;
if the transcoding task is detected to be failed to execute, marking a first data packet node with a failed task according to the recorded processing state of the data packet;
restarting the transcoding task based on the marked first data packet node;
after the transcoding task is restarted, taking a data packet received when the transcoding task is restarted as a second data packet node;
when the restarted transcoding task is executed, converting the data packet between the first data packet node and the second data packet node and the data packet added to the data cache queue within a second preset time length after the task is restarted into a video frame image;
deleting the video frame images with the preset proportion in the video frame images obtained by conversion according to a preset frame skipping rule so that the live broadcast contents of the audience client and the push stream client are synchronized; the preset frame skipping rule is that n frames of images are deleted at intervals of m frames of images, wherein m and n are positive integers;
and converting the residual video frame images after the frame skipping processing into a streaming media file and then re-executing a normal transcoding task.
6. The method for transcoding the live video according to claim 5, wherein the step of periodically detecting the execution status of the transcoding task comprises:
and obtaining log data of the transcoding task, obtaining progress information of the transcoding task from the log data, and monitoring the updating state of the progress information, wherein when the progress information is not updated within a first preset time, it is determined that the transcoding task fails to be executed.
7. The method for transcoding the live video according to claim 5, wherein the step of periodically detecting the execution status of the transcoding task comprises:
and detecting heartbeat information periodically reported by a transcoding process in the process of executing a transcoding task, wherein when the heartbeat information is not detected in a period of continuous preset number, the transcoding task is judged to be failed to execute.
8. A computer readable storage medium having stored thereon a live video transcoding program executable by one or more processors to implement the steps of a method of transcoding live video as claimed in any one of claims 5 to 7.
CN201711373360.6A 2017-12-19 2017-12-19 Transcoding device and method for live video and computer readable storage medium Active CN108174226B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711373360.6A CN108174226B (en) 2017-12-19 2017-12-19 Transcoding device and method for live video and computer readable storage medium
PCT/CN2018/076116 WO2019119633A1 (en) 2017-12-19 2018-02-10 Live video transcoding device, method and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711373360.6A CN108174226B (en) 2017-12-19 2017-12-19 Transcoding device and method for live video and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN108174226A CN108174226A (en) 2018-06-15
CN108174226B true CN108174226B (en) 2020-11-10

Family

ID=62522892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711373360.6A Active CN108174226B (en) 2017-12-19 2017-12-19 Transcoding device and method for live video and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN108174226B (en)
WO (1) WO2019119633A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640109B (en) * 2018-12-14 2021-02-26 网宿科技股份有限公司 Method and device for abnormally reproducing transcoding of live video stream
CN113906764B (en) * 2019-09-23 2023-01-31 谷歌有限责任公司 Method, apparatus and computer readable medium for transcoding video
CN111093107A (en) * 2019-12-18 2020-05-01 深圳市麦谷科技有限公司 Method and device for playing real-time live stream
CN111629233B (en) * 2020-05-29 2022-03-25 北京华夏电通科技股份有限公司 Audio and video transcoding method and device
CN112532972B (en) * 2020-11-26 2023-10-03 北京百度网讯科技有限公司 Fault detection method and device for live broadcast service, electronic equipment and readable storage medium
CN113055693B (en) * 2021-04-20 2023-01-24 上海哔哩哔哩科技有限公司 Data processing method and device
CN113094146B (en) * 2021-05-08 2023-04-07 腾讯科技(深圳)有限公司 Interaction method, device and equipment based on live broadcast and computer readable storage medium
CN114845141A (en) * 2022-04-18 2022-08-02 上海哔哩哔哩科技有限公司 Edge transcoding method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155457A1 (en) * 2012-04-12 2013-10-17 Google Inc. Live streaming video processing
CN105898554A (en) * 2015-12-18 2016-08-24 乐视云计算有限公司 Real-time transcoding monitoring method and real-time transcoding system
CN106454391A (en) * 2016-10-31 2017-02-22 腾讯科技(深圳)有限公司 Method, apparatus and terminal of converting live to on-demand
CN106488169A (en) * 2015-08-28 2017-03-08 腾讯科技(深圳)有限公司 A kind of method of data transfer, system and relevant device
CN106791932A (en) * 2017-01-06 2017-05-31 广州亦云信息技术股份有限公司 Distributed trans-coding system, method and its device
CN107135400A (en) * 2017-06-12 2017-09-05 上海高顿教育培训有限公司 A kind of method for reducing network direct broadcasting delay

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621930B2 (en) * 2010-05-07 2017-04-11 Deutsche Telekom Ag Distributed transcoding of video frames for transmission in a communication network
US9137151B2 (en) * 2012-05-18 2015-09-15 Google Technology Holdings LLC Redundant architecture for failover of transcoder instances
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
CN103686207A (en) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 Transcoding task scheduling method and system
US9661045B2 (en) * 2014-01-13 2017-05-23 Cisco Technology, Inc. System and methods for dynamic transcoder rate adaption for adaptive bit rate streaming
CN104243998B (en) * 2014-09-29 2018-01-09 广州华多网络科技有限公司 A kind of data processing method, device and associated server
CN105657451B (en) * 2016-01-14 2018-06-22 世纪龙信息网络有限责任公司 Uploaded videos file is carried out at the same time the method and system of transcoding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155457A1 (en) * 2012-04-12 2013-10-17 Google Inc. Live streaming video processing
CN106488169A (en) * 2015-08-28 2017-03-08 腾讯科技(深圳)有限公司 A kind of method of data transfer, system and relevant device
CN105898554A (en) * 2015-12-18 2016-08-24 乐视云计算有限公司 Real-time transcoding monitoring method and real-time transcoding system
CN106454391A (en) * 2016-10-31 2017-02-22 腾讯科技(深圳)有限公司 Method, apparatus and terminal of converting live to on-demand
CN106791932A (en) * 2017-01-06 2017-05-31 广州亦云信息技术股份有限公司 Distributed trans-coding system, method and its device
CN107135400A (en) * 2017-06-12 2017-09-05 上海高顿教育培训有限公司 A kind of method for reducing network direct broadcasting delay

Also Published As

Publication number Publication date
WO2019119633A1 (en) 2019-06-27
CN108174226A (en) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108174226B (en) Transcoding device and method for live video and computer readable storage medium
CN108055264B (en) Scheduling apparatus and method for push streaming server, and computer-readable storage medium
US10911789B2 (en) Automatic failover for live video streaming
US10469576B2 (en) Synchronizing an application on a companion device
US9154840B2 (en) Reception apparatus, reception method, transmission apparatus, and transmission method
US20160080470A1 (en) Server-side playlist stitching
CN109474688B (en) Method, device, equipment and medium for sending instant communication network request message
CN102882829A (en) Transcoding method and system
CN108810657B (en) Method and system for setting video cover
CN108174267B (en) Device and method for sending interactive information in live broadcast and computer readable storage medium
US20140036098A1 (en) Terminal Apparatus And Video-Data Distribution Method
CN108574722B (en) Resource synchronization method, device and system
US20180132014A1 (en) Crowd-sourced video generation
WO2014063550A1 (en) Method and system for microblog resource sharing
CN111582925B (en) Advertisement monitoring method and multimedia monitoring terminal
CN110351569B (en) Live content processing method, device, equipment and medium
WO2016207735A1 (en) A system and methods thereof for auto-playing video content on mobile devices
US20150071611A1 (en) Identifying an rerecording only the incomplete units of a program broadcast recording
US20180324238A1 (en) A System and Methods Thereof for Auto-playing Video Content on Mobile Devices
CN105338564B (en) A kind of client adaptation method, client, server and system
CN112616065A (en) Screen image initiating method and device, computer equipment, readable storage medium and screen image presenting system
US9742749B1 (en) Live stream encryption
WO2017181867A1 (en) Method of acquiring video descriptor file, content distribution server, set-top box, and system
CN105791987A (en) Media data playing method and terminal
CN113242437A (en) RTSP (real time streaming protocol) video plug-in-free playing method, system, device and storage medium

Legal Events

Date Code Title Description
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