WO2019119633A1 - 直播视频的转码装置、方法及计算机可读存储介质 - Google Patents

直播视频的转码装置、方法及计算机可读存储介质 Download PDF

Info

Publication number
WO2019119633A1
WO2019119633A1 PCT/CN2018/076116 CN2018076116W WO2019119633A1 WO 2019119633 A1 WO2019119633 A1 WO 2019119633A1 CN 2018076116 W CN2018076116 W CN 2018076116W WO 2019119633 A1 WO2019119633 A1 WO 2019119633A1
Authority
WO
WIPO (PCT)
Prior art keywords
transcoding
data packet
task
transcoding task
video frame
Prior art date
Application number
PCT/CN2018/076116
Other languages
English (en)
French (fr)
Inventor
张国梁
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2019119633A1 publication Critical patent/WO2019119633A1/zh

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

Definitions

  • the present application relates to the field of live broadcast technologies, and in particular, to a live video transcoding device, method, and computer readable storage medium.
  • the push-stream client (the anchor user) pushes the live video to the source server in the form of streaming media.
  • the typical feature of the live video is that the continuous video information is compressed and placed on the streaming server, and the user downloads Watch while you don't have to wait for the entire file to be downloaded.
  • the live client live viewer
  • issues a watch request (pull request)
  • the live video file stream is pulled by the source server in the live broadcast platform to the viewer's client.
  • the streaming media file uploaded by the push streaming client needs to be transcoded and converted into streaming media data suitable for playing at different bit rates on different live broadcast platforms.
  • the existing transcoding system is deployed in the core node, and is transcoded by a separate transcoder. It needs to be transcoded from the streaming server and then transcoded, and then the transcoded data is pushed to other streams for viewers.
  • the streaming media file needs to be transmitted between multiple servers, which not only leads to low transcoding efficiency, but also has a high probability of transcoding failure.
  • the transcoding fails. After the transcoding task is restarted, the screen during the failure of the transcoding task is skipped, causing the user to miss part of the live content.
  • the present application provides a transcoding device, a method, and a computer readable storage medium for a live video.
  • the main purpose of the present invention is to improve the transcoding efficiency of the live video, and to prevent the user from missing the live content due to the failed transcoding.
  • the present application provides a live video transcoding device, the device comprising a memory and a processor, wherein the memory stores a live video transcoding program executable on the processor, the live video When the transcoding program is executed by the processor, the following steps are implemented:
  • a transcoding task is created for the streaming media file, where the push streaming client uploads the streaming media file by continuously sending the data packet;
  • the first data packet node that fails the task is marked according to the processing status of the recorded data packet
  • the first data packet node based on the tag restarts the transcoding task.
  • the present application further provides a transcoding method for a live video, where the method includes:
  • a transcoding task is created for the streaming media file, where the push streaming client uploads the streaming media file by continuously sending the data packet;
  • the first data packet node that fails the task is marked according to the processing status of the recorded data packet
  • the first data packet node based on the tag restarts the transcoding task.
  • the present application further provides a computer readable storage medium, where the live video transcoding program is stored, and the live video transcoding program can be used by one or more processors. Execute to implement the following steps:
  • the interaction information acquisition request carries the first timestamp
  • the interaction information recorded between the time point corresponding to the difference between the first timestamp and the preset time length and the time point corresponding to the first timestamp is obtained, And sending the obtained interaction information to the user terminal for display, where the preset duration is less than or equal to the preset time interval.
  • the transcoding device, method and computer readable storage medium of the live video proposed by the application the transcoding device directly receives the streaming media file uploaded by the push streaming client in a manner of continuously transmitting the data packet, and creates a transcoding task, which will receive the
  • the data packet is added to the data buffer queue, and the transcoding task is performed based on the data cache queue.
  • the processing status of the data packet is recorded, and the execution status of the transcoding task is periodically detected. Detecting that the transcoding task fails to execute, marking the first data packet node that the task fails according to the recorded processing status, and restarting the transcoding task based on the first data packet node.
  • the server itself is pushed by the receiving push streaming client.
  • transcoding capability do not need to perform transcoding on the push to other settings, improve the efficiency of transcoding, and reduce the possibility of transcoding tasks failing in execution.
  • the transcoding fails, it can be cached according to the data.
  • the packet node marked in the queue restarts the transcoding task, and does not skip the picture during the failure of the transcoding task. Avoid transcoding failure cause the user to miss the live content.
  • FIG. 1 is a schematic diagram of a preferred embodiment of a transcoding device for a live video of the present application
  • FIG. 2 is a schematic diagram of a program module of a live video transcoding program in an embodiment of a transcoding device for a live video of the present application;
  • FIG. 3 is a flowchart of a first embodiment of a transcoding method for a live video of the present application.
  • the application provides a transcoding device for live video.
  • 1 is a schematic diagram of a preferred embodiment of a transcoding device for a live video of the present application.
  • the live video transcoding device 1 includes 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 including a flash memory, a hard disk, a multimedia card, a card type memory (for example, an 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 1 of the live video, such as the hard disk of the transcoding device 1 of the live video. In other embodiments, the memory 11 may also be an external storage device of the transcoding device 1 of the live video, such as a plug-in hard disk equipped with a transcoding device 1 for live video, a smart memory card (SMC), Secure Digital (SD) card, Flash Card, etc.
  • SMC smart memory card
  • SD Secure Digital
  • the memory 11 may also include an internal storage unit of the transcoding device 1 of the live video and an external storage device.
  • the memory 11 can be used not only for storing application software of the transcoding device 1 installed in the live video and various types of data, such as codes of the live video transcoding program 01, but also for temporarily storing data that has been output or will be output.
  • the processor 12 may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor or other data processing chip for running program code or processing stored in the memory 11. Data, such as performing live video transcoding program 01 and the like.
  • CPU Central Processing Unit
  • controller microcontroller
  • microprocessor or other data processing chip for running program code or processing stored in the memory 11.
  • Data such as performing live video transcoding program 01 and the like.
  • Communication bus 13 is used to implement connection communication between these components.
  • the network interface 14 can optionally include a standard wired interface, a wireless interface (such as a WI-FI interface), and is typically used to establish a communication connection between the device and other electronic devices.
  • a standard wired interface such as a WI-FI interface
  • FIG 1 shows only the transcoding device 1 with live video of components 11-14 and live video transcoding program 01, but it should be understood that not all illustrated components may be implemented, alternative implementations may be Fewer components.
  • the device may further include a user interface
  • the user interface may include a display
  • an input unit such as a keyboard
  • the optional user interface may further include a standard wired interface and a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch sensor, or the like.
  • the display may also be suitably referred to as a display screen or display unit for displaying information processed in the transcoding device 1 of the live video and a user interface for displaying the visualization.
  • a live video transcoding program 01 is stored in the memory 11; when the processor 12 executes the live video transcoding program 01 stored in the memory 11, the following steps are implemented:
  • a transcoding task is created for the streaming media file, wherein the streaming client uploads the streaming media file in a manner of continuously sending the data packet.
  • the received data packet is added to a data cache queue and the transcoding task is performed based on the data cache queue.
  • the distribution of servers in the server group of the live broadcast system is deployed according to the hierarchical distribution of the geographic regions.
  • the geographical area is divided into the following three levels: the third level is the highest level, the geographic area of the level includes the national area, and the third level geographic area includes multiple second-level geographic areas, such as the North China region and the southeast region. , South China region, southwest region, etc.
  • each second-level geographic region can be divided into multiple first-level geographic regions, taking the South China region as an example, the region can be divided into Guangdong region, Guangxi region, Hainan region, etc.
  • the division of the above-mentioned areas is only an example. In actual application, the division rules of the area may be set as needed, and may not be divided according to the administrative area.
  • the sum of the coverage of the next level of geographic area is equal to the coverage of the upper level area.
  • the hierarchical distribution of the servers in the server group is set according to the hierarchical distribution of the above geographical areas. Deploying a first-level node server in a first-level geographic area, and setting at least one first-level node server in each first-level geographic area. For example, setting a first-level node server in a first-level geographic area as an example A first-level node server is set up in the Guangdong area, the Guangxi area, and the Hainan area, and a second-level node server is set in the south China area, and the second-level node server is the above-mentioned several first-level node servers.
  • the superior node server completes the deployment of servers in each geographic area, and the first-level node server is an edge node server.
  • the servers distributed in the respective areas constitute a server group, and the hierarchical distribution of the server group is also in the form of a tree. Referring to FIG. 2, it is a schematic diagram of server level distribution in the server group.
  • Any one of the foregoing server groups can be used as a scheduling server for allocating a suitable server as a push streaming server for the push streaming client, and the streaming client pushes the streaming media file to the server allocated thereto
  • the server can also be used as the transcoding device 1 of the live video in this embodiment. That is to say, the transcoding function can be provided for the streaming media file by the server located at the edge node, and does not need to be sent to other devices to perform the transcoding operation.
  • the streaming media file is started to be uploaded, and the streaming client uploads the streaming media file in a manner of continuously transmitting the data packet.
  • a transcoding task is created for the streaming media.
  • a transcoding device 1 a plurality of clients may simultaneously push the streaming device.
  • a streaming media file corresponds to a transcoding task.
  • the transcoding device 1 receives a data packet, the data packet is added to the data buffer queue according to the receiving time, and the transcoding in the transcoding device 1 is also continuously buffered according to the order of receiving time.
  • the transcoding device 1 in this embodiment serves as a push streaming server for receiving the push stream of the push streaming client, and also provides a transcoding function, and does not need to push the streaming media file to other Transcoding on the transcoder not only improves the efficiency of transcoding, but also reduces the possibility of transcoding tasks failing in execution.
  • the processing status of the data packet in the data buffer queue is recorded, and the execution status of the transcoding task is periodically detected.
  • the first data packet node that fails the task is marked according to the processing status of the recorded data packet.
  • the first data packet node based on the tag restarts the transcoding task.
  • the status of the data packet in the data buffer queue is marked as the transcoded state, or the data packet is deleted from the queue to distinguish those in the queue. There are no transcoded packets yet.
  • Manner 1 Obtain log data of the transcoding task, obtain progress information of the transcoding task from the log data, and monitor an update status of the progress information, where when the progress information is detected If the preset duration is not updated, it is determined that the transcoding task fails to execute. During the execution of the transcoding task, the progress information in the log data is periodically updated to record the progress of the execution of the task. Therefore, by monitoring the update of the information in the log data, it can be determined whether the transcoding task fails.
  • the heartbeat information periodically reported by the transcoding process during the transcoding process is performed. If the transcoding device 1 does not detect the heartbeat information within a preset number of cycles, it is determined that the transcoding process stops transcoding. The operation further determines that the transcoding task fails to execute.
  • the data packet whose transceiving time is not yet processed is determined, and it can be determined that the transcoding task fails at the data packet. Mark the first packet node at the packet.
  • the transcoding process is then established, and the transcoding task is restarted based on the marked first packet node, that is, the transcoding operation is continued from the marked packet, rather than when the transcoded task is restarted.
  • the data packet uploaded by the client starts the transcoding operation. Therefore, after the server restores the connection and continues to pull the stream from the server, the viewer client can continue to play the video according to the content at the time of the interruption, and does not miss the live content during the interruption.
  • the transcoding device 1 directly receives the streaming media file uploaded by the streaming client to continuously send the data packet, and creates a transcoding task, and adds the received data packet to the In the data buffer queue, the transcoding task is performed based on the data buffer queue.
  • the processing status of the data packet is recorded, and the execution status of the transcoding task is periodically detected, and if the transcoding task is detected If the execution fails, the first data packet node that fails the task is marked according to the processing status of the record, and the transcoding task is restarted based on the first data packet node.
  • the server itself that provides the push streaming client push provides the transcoding capability.
  • the data marked in the queue can be cached according to the data.
  • the packet node restarts the transcoding task, and does not skip the screen during the failure of the transcoding task, which can avoid the failure of transcoding. Households miss the live content.
  • a second embodiment of the transcoding device 1 of the live video of the present application is proposed based on the first embodiment.
  • the live video transcoding program 01 can also be executed by the processor to implement the following steps:
  • the data packet received when the transcoding task is restarted is used as the second data packet node; when the transcoding task after the restart is performed, the first data packet node is sent to The data packet between the second data packet node and the data packet added to the data buffer queue within the second preset duration after the task restarting are converted into a video frame image; according to a preset frame skip rule, the deletion is performed. Converting a preset ratio of video frame images in the obtained video frame image; re-executing the transcoding task after converting the remaining video frame images into a streaming media file.
  • the transcoding process of a streaming media file is interrupted due to the failure of the execution of the transcoding task.
  • the streaming client continuously uploads the data packet and stores it in the data buffer queue. These packets are not transcoded until the transcoding task is restarted, and the stream is not pulled at the viewer client. After several attempts to pull the stream, the viewer client determines that a disconnection has occurred at the server. Based on the solution of the first embodiment described above, after the transcoding task is restarted, the data packets accumulated in the data buffer queue are subjected to transcoding processing during the transcoding interruption.
  • the present embodiment ensures that the live content of the viewer client and the push stream client is synchronized in a short time after the retransmission task is restarted, thereby improving the user experience.
  • the data packet received when the transcoding task is restarted is used as the second data packet node, and the data packet between the first data packet node and the second data packet node, and after the task is restarted
  • the data packet added to the data buffer queue in the second preset duration is converted into a video frame image, and the converted video frame image is subjected to frame skipping processing according to a preset frame skipping rule to delete all the video frame images obtained by the transfer.
  • the preset frame skipping rule may be to delete n frames of images for every m frame of image, for example, one frame of image is deleted every frame of the image, and 1/2 of the converted video frame image is deleted.
  • the video frame image or, one frame image is deleted every two frames of the image, and 1/3 of the video frame image in the converted video frame image is deleted. Converting the video frame image remaining after the frame skipping process into a streaming media file, shortening the playing time of the video content on the viewer client by using such a scheme, and then making the viewer client after the second preset duration Synchronize with the live content at the push stream client, continue to process according to the normal transcoding process, and no longer skip frame processing. It can be understood that the frame skipping process can be performed in units of a certain amount of data packets, and it is not necessary to perform the second preset time period after the task is restarted.
  • the viewer client converts the received streaming media file into a video frame image and then performs frame skipping playback within a third preset duration after the reverse streaming is reversed, for example, each time a certain amount of data is separated.
  • the video frame deletes one or several video frame images to synchronize the playback progress of the viewer client with the push streaming client.
  • the live video transcoding program 01 may also be divided into one or more modules, one or more modules being stored in the memory 11 and being processed by one or more processors (this The embodiment is executed by the processor 12) to complete the application.
  • the module referred to in the present application refers to a series of computer program instruction segments capable of performing a specific function, and is used to describe the transcoding device of the live video transcoding program 01 in live video. The execution process in 1.
  • FIG. 2 it is a schematic diagram of a program module of a live video transcoding program in an embodiment of a transcoding device of a live video of the present application.
  • the live video transcoding program can be divided into a task creation module 10 , task execution module 20, task monitoring module 30, status tag module 40, and task restart module 50, illustratively:
  • the task creation module 10 is configured to: when the streaming media file uploaded by the push streaming client is started, create a transcoding task for the streaming media file, where the push streaming client uploads the method by continuously sending the data packet Streaming media file;
  • the task execution module 20 is configured to: add the received data packet to a data cache queue, and execute the transcoding task based on the data cache queue;
  • the task monitoring module 30 is configured to: during the execution of the transcoding task, record the processing status of the data packet in the data buffer queue, and perform timing detection on the execution status of the transcoding task;
  • the status marking module 40 is configured to: if it is detected that the transcoding task fails to be performed, mark the first data packet node that the task fails according to the processing status of the recorded data packet;
  • the task restarting module 50 is configured to: restart the transcoding task based on the first data packet node of the tag.
  • the functions or operation steps of the above-mentioned task creation module 10, the task execution module 20, the task monitoring module 30, the state tagging module 40, and the task restarting module 50 are substantially the same as those of the above embodiment, and are not described herein again. .
  • the present application also provides a transcoding method for live video.
  • FIG. 3 it is a flowchart of a first embodiment of a transcoding method for a live video of the present application. The method can be performed by a device that can be implemented by software and/or hardware.
  • the transcoding method of the live video includes:
  • step S10 when the streaming media file uploaded by the push streaming client is started, a transcoding task is created for the streaming media file, and the streaming client uploads the streaming media file in a manner of continuously sending the data packet.
  • Step S20 Add the received data packet to the data buffer queue, and execute the transcoding task based on the data cache queue.
  • the distribution of servers in the server group of the live broadcast system is deployed according to the hierarchical distribution of the geographic regions.
  • the geographical area is divided into the following three levels: the third level is the highest level, the geographic area of the level includes the national area, and the third level geographic area includes multiple second-level geographic areas, such as the North China region and the southeast region. , South China region, southwest region, etc., each second-level geographic region can be divided into multiple first-level geographic regions, taking the South China region as an example, the region can be divided into Guangdong region, Guangxi region, Hainan region, etc.
  • the division of the above-mentioned areas is only an example. In actual application, the division rules of the area may be set as needed, and may not be divided according to the administrative area. The sum of the coverage of the next level of geographic area is equal to the coverage of the upper level area.
  • the hierarchical distribution of the servers in the server group is set according to the hierarchical distribution of the above geographical areas. Deploying a first-level node server in a first-level geographic area, and setting at least one first-level node server in each first-level geographic area. For example, setting a first-level node server in a first-level geographic area as an example A first-level node server is set up in the Guangdong area, the Guangxi area, and the Hainan area, and a second-level node server is set in the south China area, and the second-level node server is the above-mentioned several first-level node servers.
  • the superior node server completes the deployment of servers in each geographic area, and the first-level node server is an edge node server.
  • the servers distributed in the respective areas constitute a server group, and the hierarchical distribution of the server group is also in the form of a tree. Referring to FIG. 2, it is a schematic diagram of server level distribution in the server group.
  • Any one of the foregoing server groups can be used as a scheduling server for allocating a suitable server as a push streaming server for the push streaming client, and the streaming client pushes the streaming media file to the server allocated thereto
  • the server can also serve as a transcoding server for the live video in this embodiment. That is to say, the server itself located at the edge node can provide a transcoding function for the streaming media file, and does not need to be sent to other devices to perform the transcoding operation.
  • the streaming media file is uploaded, and the streaming client uploads the streaming media file in a manner of continuously sending the data packet.
  • the transcoding server starts to receive the streaming media file uploaded by the streaming client, a transcoding task is created for the streaming media.
  • multiple clients may simultaneously push the streaming device.
  • a streaming media file corresponds to a transcoding task.
  • the transcoding server receives a data packet, it adds the data packet to the data buffer queue according to the receiving time, and the transcoding in the transcoding server is also continuously in the data cache queue according to the order of receiving time.
  • the data packet is transcoded and converted into a streaming media file that matches the bit rate set by the live broadcast platform or the viewer client for the viewer client to pull the stream.
  • the transcoding server in the method of the embodiment is used as a push streaming server to receive the push stream of the push streaming client, and also provides a transcoding function, and does not need to push the streaming media file to other Transcoding on the transcoder not only improves the efficiency of transcoding, but also reduces the possibility of transcoding tasks failing in execution.
  • Step S30 Record the processing status of the data packet in the data buffer queue during the execution of the transcoding task, and perform timing detection on the execution status of the transcoding task.
  • Step S40 If it is detected that the transcoding task fails to execute, marking the first data packet node that the task fails according to the processing status of the recorded data packet.
  • Step S50 restarting the transcoding task based on the marked first data packet node.
  • the status of the data packet in the data buffer queue is marked as the transcoded state, or the data packet is deleted from the queue to distinguish those in the queue. There are no transcoded packets yet.
  • Manner 1 Obtain log data of the transcoding task, obtain progress information of the transcoding task from the log data, and monitor an update status of the progress information, where when the progress information is detected If the preset duration is not updated, it is determined that the transcoding task fails to execute. During the execution of the transcoding task, the progress information in the log data is periodically updated to record the progress of the execution of the task. Therefore, by monitoring the update of the information in the log data, it can be determined whether the transcoding task fails.
  • Manner 2 The heartbeat information periodically reported by the transcoding process during the transcoding task is performed. If the transcoding server does not detect the heartbeat information within a preset number of cycles, it is determined that the transcoding process stops the transcoding operation. And determining that the transcoding task fails to execute.
  • the data packet whose transceiving time is not yet processed is determined, and it can be determined that the transcoding task fails at the data packet. Mark the first packet node at the packet.
  • the transcoding process is then established, and the transcoding task is restarted based on the marked first packet node, that is, the transcoding operation is continued from the marked packet, rather than when the transcoded task is restarted.
  • the data packet uploaded by the client starts the transcoding operation. Therefore, after the server restores the connection and continues to pull the stream from the server, the viewer client can continue to play the video according to the content at the time of the interruption, and does not miss the live content during the interruption.
  • the streaming media file uploaded by the push streaming client in the manner of continuously sending the data packet is received, and the transcoding task is created, and the received data packet is added to the data buffer queue.
  • Performing a transcoding task based on the data cache queue during the execution of the transcoding task, recording the processing status of the data packet, performing timing detection on the execution status of the transcoding task, and if the execution of the transcoding task fails, according to the record
  • the first packet node that fails to process the status marking task fails to restart the transcoding task based on the first data packet node.
  • the server itself that is pushed by the receiving streaming client provides the transcoding capability, and does not need to be pushed.
  • transcoding Perform transcoding on other settings to improve the efficiency of transcoding, and reduce the possibility of transcoding tasks failing during execution.
  • transcoding fails, it can restart according to the marked packet node in the data cache queue.
  • Code task will not skip the screen during the failure of the transcoding task, can avoid the user missed the live broadcast due to the failed transcoding Yung.
  • a second embodiment of the transcoding method of the live video of the present application is proposed based on the first embodiment.
  • the live video transcoding program can also be executed by the processor to implement the following steps:
  • the data packet received when the transcoding task is restarted is used as the second data packet node; when the transcoding task after the restart is performed, the first data packet node is sent to The data packet between the second data packet node and the data packet added to the data buffer queue within the second preset duration after the task is restarted are converted into a video frame image; according to a preset frame skip rule, deleted Converting a preset ratio of video frame images in the obtained video frame image; re-executing the transcoding task after converting the remaining video frame images into a streaming media file.
  • the transcoding process of a streaming media file is interrupted due to the failure of the execution of the transcoding task.
  • the streaming client continuously uploads the data packet and stores it in the data buffer queue. These packets are not transcoded until the transcoding task is restarted, and the stream is not pulled at the viewer client. After the viewer client failed to pull the stream multiple times, it was determined that a disconnection occurred at the server. Based on the solution of the first embodiment described above, after the transcoding task is restarted, the data packets accumulated in the data buffer queue are subjected to transcoding processing during the transcoding interruption.
  • the present embodiment ensures that the live content of the viewer client and the push stream client is synchronized in a short time after the retransmission task is restarted, thereby improving the user experience.
  • the data packet received when the transcoding task is restarted is used as the second data packet node, and the data packet between the first data packet node and the second data packet node, and after the task is restarted
  • the data packet added to the data buffer queue in the second preset duration is converted into a video frame image, and the converted video frame image is subjected to frame skipping processing according to a preset frame skipping rule to delete all the video frame images obtained by the transfer.
  • the preset frame skipping rule may be to delete n frames of images for every m frame of image, for example, one frame of image is deleted every frame of the image, and 1/2 of the converted video frame image is deleted.
  • the video frame image or, one frame image is deleted every two frames of the image, and 1/3 of the video frame image in the converted video frame image is deleted. Converting the video frame image remaining after the frame skipping process into a streaming media file, shortening the playing time of the video content on the viewer client by using such a scheme, and then making the viewer client after the second preset duration Synchronize with the live content at the push stream client, continue to process according to the normal transcoding process, and no longer skip frame processing. It can be understood that the frame skipping process can be performed in units of a certain amount of data packets, and it is not necessary to perform the second preset time period after the task is restarted.
  • the viewer client converts the received streaming media file into a video frame image and then performs frame skipping playback within a third preset duration after the reverse streaming is reversed, for example, each time a certain amount of data is separated.
  • the video frame deletes one or several video frame images to synchronize the playback progress of the viewer client with the push streaming client.
  • the embodiment of the present application further provides a computer readable storage medium, where the live video transcoding program is stored, and the live video transcoding program can be executed by one or more processors, Implement the following steps:
  • a transcoding task is created for the streaming media file, where the streaming client uploads the streaming media file in a manner of continuously sending the data packet;
  • the first data packet node that fails the task is marked according to the processing status of the recorded data packet
  • the first data packet node based on the tag restarts the transcoding task.
  • the specific embodiment of the computer readable storage medium of the present application is substantially the same as the embodiment of the above-mentioned live video transcoding device and method, and is not described herein.
  • the technical solution of the present application which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM as described above). , a disk, an optical disk, including a number of instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the methods described in the various embodiments of the present application.
  • a terminal device which may be a mobile phone, a computer, a server, or a network device, etc.

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

本申请公开了一种直播视频的转码装置,包括存储器和处理器,存储器上存储有可在处理器上运行的直播视频转码程序,该程序被处理器执行时实现如下步骤:在开始接收推流客户端上传的流媒体文件时,为流媒体文件创建转码任务;基于数据缓存队列中的数据包执行转码任务,并对数据缓存队列中的数据包的处理状态进行记录;对转码任务的执行状态进行定时检测;若检测到转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;基于标记的第一数据包节点重启转码任务。本申请还提出一种直播视频的转码方法以及一种计算机可读存储介质。本申请提高了直播视频的转码效率,并且能够避免因转码失败而导致用户错过直播内容。

Description

直播视频的转码装置、方法及计算机可读存储介质
本申请基于巴黎公约申明享有2017年12月19日递交的申请号为201711373360.6、名称为“直播视频的转码装置、方法及计算机可读存储介质”的中国专利申请的优先权,该中国专利申请的整体内容以参考的方式结合在本申请中。
技术领域
本申请涉及直播技术领域,尤其涉及一种直播视频的转码装置、方法及计算机可读存储介质。
背景技术
在进行网络直播时,推流客户端(主播用户)以流媒体的形式将直播视频推送到源服务器,直播视频的典型特征是把连续的视频信息压缩后放到流媒体服务器上,用户边下载边观看,而不必等待整个文件下载完毕。直播客户端(直播观众)发出观看请求(拉流请求),由直播平台中的源服务器将直播视频文件流拉到观看方的客户端。
由于观众在观看直播时使用的直播平台不同,因此需要将推流客户端上传的流媒体文件进行转码处理后,转换为适合在不同的直播平台播放的多种码率的流媒体数据。现有的转码系统多部署在核心节点,由单独的转码机实现转码,需要从推流服务器中拉流后进行转码,再将转码后的数据推送到其他用于观众拉流的节点服务器中,在这个过程中,需要流媒体文件在多台服务器之间传输,不仅导致转码效率低下,而且转码失败的概率较大,此外,在这种转码机制下,一旦发生转码失败,对转码任务重启后,会直接跳过转码任务失败期间的画面,导致用户错过部分直播内容。
发明内容
本申请提供一种直播视频的转码装置、方法及计算机可读存储介质,其主要目的在于提高直播视频的转码效率,并且实现避免因转码失败而导致用 户错过直播内容。
为实现上述目的,本申请提供一种直播视频的转码装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的直播视频转码程序,所述直播视频转码程序被所述处理器执行时实现如下步骤:
在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件;
将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
基于标记的所述第一数据包节点重启所述转码任务。
此外,为实现上述目的,本申请还提供一种直播视频的转码方法,该方法包括:
在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件;
将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
基于标记的所述第一数据包节点重启所述转码任务。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有直播视频转码程序,所述直播视频转码程序可被一个或者多个处理器执行,以实现如下步骤:
当接收到用户终端发送的互动信息获取请求时,从所述互动信息获取请 求中获取第一时间戳,其中,所述用户终端每间隔预设时间间隔向所述发送装置发送一次互动信息获取请求,所述互动信息获取请求中携带有所述第一时间戳;
获取所述用户终端上次发送的互动信息获取请求的第二时间戳;
计算所述第一时间戳与所述第二时间戳之间的时间间隔,并判断所述时间间隔是否大于所述预设时间间隔;
若所述时间间隔大于所述预设时间间隔,则获取所述第一时间戳与预设时长的差值对应的时间点到所述第一时间戳对应的时间点之间记录的互动信息,并将获取的互动信息发送至所述用户终端进行显示,所述预设时长小于或等于所述预设时间间隔。
本申请提出的直播视频的转码装置、方法及计算机可读存储介质,转码装置直接接收推流客户端以持续发送数据包的方式上传的流媒体文件,并创建转码任务,将接收到的数据包添加到数据缓存队列中,基于数据缓存队列执行转码任务,在该转码任务的执行过程中,对数据包的处理状态进行记录,对转码任务的执行状态进行定时检测,如果检测到转码任务执行失败,根据记录的处理状态标记任务失败的第一数据包节点,基于该第一数据包节点重启转码任务,该方案中,由接收推流客户端推流的服务器本身提供转码能力,不需要在推流到其他设置上执行转码,提高转码的效率,同时降低了转码任务在执行中失败的可能性,此外,如果发生转码失败,能够根据数据缓存队列中标记的数据包节点重新启动转码任务,不会跳过转码任务失败期间的画面,能够避免因转码失败而导致用户错过直播内容。
附图说明
图1为本申请直播视频的转码装置较佳实施例的示意图;
图2为本申请直播视频的转码装置一实施例中直播视频转码程序的程序模块示意图;
图3为本申请直播视频的转码方法第一实施例的流程图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种直播视频的转码装置。参照图1所示,为本申请直播视频的转码装置较佳实施例的示意图。
在本实施例中,该直播视频的转码装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是直播视频的转码装置1的内部存储单元,例如该直播视频的转码装置1的硬盘。存储器11在另一些实施例中也可以是直播视频的转码装置1的外部存储设备,例如直播视频的转码装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括直播视频的转码装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于直播视频的转码装置1的应用软件及各类数据,例如直播视频转码程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行直播视频转码程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置与其他电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及直播视频转码程序01的直播视频的转码装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示 器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在直播视频的转码装置1中处理的信息以及用于显示可视化的用户界面。
在图1所示的装置实施例中,存储器11中存储有直播视频转码程序01;处理器12执行存储器11中存储的直播视频转码程序01时实现如下步骤:
在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件。
将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务。
在本实施例中,按照地理区域的层级分布部署直播系统的服务器群组中服务器的分布。例如,将地理区域设置分为如下三个层级:第三层级为最高层级,该层级的地理区域包括全国区域范围,第三层级地理区域包括多个第二层级地理区域,如华北区域、东南区域、华南区域、西南区域等,每一个第二层级地理区域又可以划分为多个第一层级地理区域,以华南区域为例,该区域又可以划分为广东区域、广西区域、海南区域等,需要说明的是,上述区域的划分只是举例说明,实际应用时可以根据需要设置区域的划分规则,不一定按照行政区域划分。下一层级地理区域覆盖范围的总和等于上一层级区域的覆盖范围。
按照上述地理区域的层级分布设置服务器群组中服务器的层级分布。在第一层级地理区域部署第一级节点服务器,每一个第一层级地理区域设置至少一台第一级节点服务器,以下内容中以一个第一层级地理区域设置一台第一级节点服务器为例,在广东区域、广西区域、海南区域等分别设置一台第一级节点服务器,在华南区域设置一台第二级节点服务器,则该第二级节点服务器为以上几台第一级节点服务器的上级节点服务器,以此类推,完成各个地理区域的服务器的部署,上述第一级节点服务器为边缘节点服务器。上述分布在各个区域的服务器构成服务器群组,该服务器群组的层级分布也呈树形,参照图2所示,为服务器群组中的服务器层级分布示意图。
上述服务器群组中的任意一台服务器可以作为调度服务器,用于为推流 客户端分配合适的服务器作为推流服务器,推流客户端将流媒体文件推流到为其分配的服务器上,该服务器同时可以作为本实施例中的直播视频的转码装置1,也就是说,可以由位于边缘节点的服务器本身为流媒体文件提供转码功能,不需要发送到其他设备上执行转码操作。
推流客户端和为其分配的推流服务器(即本实施例中的转码装置1)建立连接后,开始上传流媒体文件,推流客户端以持续发送数据包的方式上传流媒体文件。转码装置1开始接收推流客户端上传的流媒体文件时,为该流媒体创建一个转码任务,对于一台转码装置1来说,可能有多个客户端同时在向其推流,其中,一个流媒体文件对应一个转码任务。转码装置1每接收到一个数据包,就按照接收时间将该数据包添加至数据缓存队列中,同时转码装置1中的转码进行也在不断地按照接收时间的先后顺序,对数据缓存队列中的数据包进行转码处理,将其转换为符合直播平台或者观众客户端设置的码率的流媒体文件,以供观众客户端进行拉流。通过这个过程达到边上传边观看的效果。相对于现有技术,本实施例中的转码装置1本身既作为推流服务器,用来接收推流客户端的推流,同时也提供转码功能,不需要将流媒体文件再推到其他的转码机上进行转码,不仅能够提高转码的效率,同时降低了转码任务在执行中失败的可能性。
在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测。
若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点。
基于标记的所述第一数据包节点重启所述转码任务。
在正常的转码过程中,完成一个数据包的转码处理,则将数据缓存队列中该数据包的状态标记为已转码状态,或者将该数据包从队列中删除,以区分队列中那些还没有被转码的数据包。
关于转码任务的执行状态及执行失败的判断可以参照以下方式:
方式一,获取所述转码任务的日志数据,从日志数据中获取所述转码任务的进度信息,并对所述进度信息的更新状态进行监测,其中,当检测到所述进度信息在第一预设时长内未被更新过,则判定所述转码任务执行失败。转码任务的执行过程中,会定时地对其日志数据中的进度信息进行更新以记 录任务的执行进度,因此通过对日志数据中的该信息的更新情况进行监测能够判断转码任务是否失败。
方式二,转码进程在执行转码任务过程中周期性地上报的心跳信息,如果转码装置1在连续预设数量的周期内侦测不到心跳信息时,判定转码进程停止了转码操作,进而判定所述转码任务执行失败。
在判定转码任务失败后,根据记录的数据缓存队列中的数据包的处理状态,确定接收时间最早的还没有进行转码处理的数据包,可以判断是在该数据包处发生转码任务失败,在该数据包处标记第一数据包节点。然后建立转码进程,基于标记的第一数据包节点重新启动该转码任务,也就是说,从标记的数据包处继续执行转码操作,而非从重新启动转码的任务时,推流客户端上传的数据包开始转码操作。因此,观众客户端在服务器恢复连接后,继续从服务器端拉流,则能够按照断流时的内容继续播放视频,不会错过断流期间的直播内容。
本实施例提出的直播视频的转码装置1,转码装置1直接接收推流客户端以持续发送数据包的方式上传的流媒体文件,并创建转码任务,将接收到的数据包添加到数据缓存队列中,基于数据缓存队列执行转码任务,在该转码任务的执行过程中,对数据包的处理状态进行记录,对转码任务的执行状态进行定时检测,如果检测到转码任务执行失败,根据记录的处理状态标记任务失败的第一数据包节点,基于该第一数据包节点重启转码任务,该方案中,由接收推流客户端推流的服务器本身提供转码能力,不需要在推流到其他设置上执行转码,提高转码的效率,同时降低了转码任务在执行中失败的可能性,此外,如果发生转码失败,能够根据数据缓存队列中标记的数据包节点重新启动转码任务,不会跳过转码任务失败期间的画面,能够避免因转码失败而导致用户错过直播内容。
基于第一实施例提出本申请直播视频的转码装置1的第二实施例。在本实施例中,直播视频转码程序01还可以被所述处理器执行,以实现如下步骤:
在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;按照预设的跳帧规则, 删除转换得到的视频帧图像中的预设比例的视频帧图像;将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
由于发生了转码任务的执行失败,导致一个流媒体文件的转码过程被中断,在转码任务中断期间,推流客户端还是在持续地上传数据包,并存储在数据缓存队列中,并且这些数据包在重启转码任务之前均处于未被转码的状态,则观众客户端处就会拉不到流。观众客户端在多次尝试拉不到流后,判定在服务器处发生了断流。基于上述第一实施例的方案,在重新启动转码任务后,要对转码中断期间,数据缓存队列中累积的数据包继续进行转码处理。由于转码中断期间的长短是不固定的,当该期间较长时,重启转码任务后,队列中会累积过多的数据包,如果一一对这些数据包转码处理,会导致观众客户端与推流客户端处的直播内容不同步,影响主播与观众之间的交流,因此,为了避免这种情况,在避免因转码失败而导致用户错过直播内容的同时,通过本实施例的方案,保证在转码任务重启后的较短时间内,使观众客户端与推流客户端处的直播内容达到同步,提升用户体验。
具体地,任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点,将第一数据包节点至第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至数据缓存队列中的数据包转换为视频帧图像,按照预设的跳帧规则对转换得到的视频帧图像进行跳帧处理,以删除转转得到的全部视频帧图像中预设比例的视频帧图像,预设的跳帧规则可以是每间隔m帧图像删除n帧图像,例如,每间隔一帧图像删除一帧图像,删除转换得到的视频帧图像中1/2的视频帧图像;或者,每间隔二帧图像删除一帧图像,删除转换得到的视频帧图像中1/3的视频帧图像等。将经过跳帧处理后剩余的视频帧图像再转换为流媒体文件,通过这样的方案缩短这段视频内容在观众客户端上的播放时间,进而在经过第二预设时长后,使观众客户端与推流客户端处的直播内容达到同步,继续按照正常的转码过程处理,不再跳帧处理。可以理解的是,可以以一定量的数据包为单位进行一次跳帧处理,不必到任务重启后的第二预设时长再进行。
或者,在其他实施例中,由观众客户端在重新拉倒流后的第三预设时长内,将接收到的流媒体文件转换为视频帧图像后进行跳帧播放,例如每间隔一定数据量的视频帧删除掉一张或几张视频帧图像,以使观众客户端的播放 进度达到与推流客户端的同步。
可选地,在其他的实施例中,直播视频转码程序01还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本申请,本申请所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述直播视频转码程序01在直播视频的转码装置1中的执行过程。
例如,参照图2所示,为本申请直播视频的转码装置一实施例中的直播视频转码程序的程序模块示意图,该实施例中,直播视频转码程序可以被分割为任务创建模块10、任务执行模块20、任务监测模块30、状态标记模块40和任务重启模块50,示例性地:
任务创建模块10用于:在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件;
任务执行模块20用于:将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
任务监测模块30用于:在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
状态标记模块40用于:若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
任务重启模块50用于:基于标记的所述第一数据包节点重启所述转码任务。
上述任务创建模块10、任务执行模块20、任务监测模块30、状态标记模块40和任务重启模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本申请还提供一种直播视频的转码方法。参照图3所示,为本申请直播视频的转码方法第一实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,直播视频的转码方法包括:
步骤S10,在开始接收推流客户端上传的流媒体文件时,为所述流媒体文 件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件。
步骤S20,将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务。
以下内容以转码服务器作为执行主体对本申请方法地实施例进行说明。在本实施例中,按照地理区域的层级分布部署直播系统的服务器群组中服务器的分布。例如,将地理区域设置分为如下三个层级:第三层级为最高层级,该层级的地理区域包括全国区域范围,第三层级地理区域包括多个第二层级地理区域,如华北区域、东南区域、华南区域、西南区域等,每一个第二层级地理区域又可以划分为多个第一层级地理区域,以华南区域为例,该区域又可以划分为广东区域、广西区域、海南区域等,需要说明的是,上述区域的划分只是举例说明,实际应用时可以根据需要设置区域的划分规则,不一定按照行政区域划分。下一层级地理区域覆盖范围的总和等于上一层级区域的覆盖范围。
按照上述地理区域的层级分布设置服务器群组中服务器的层级分布。在第一层级地理区域部署第一级节点服务器,每一个第一层级地理区域设置至少一台第一级节点服务器,以下内容中以一个第一层级地理区域设置一台第一级节点服务器为例,在广东区域、广西区域、海南区域等分别设置一台第一级节点服务器,在华南区域设置一台第二级节点服务器,则该第二级节点服务器为以上几台第一级节点服务器的上级节点服务器,以此类推,完成各个地理区域的服务器的部署,上述第一级节点服务器为边缘节点服务器。上述分布在各个区域的服务器构成服务器群组,该服务器群组的层级分布也呈树形,参照图2所示,为服务器群组中的服务器层级分布示意图。
上述服务器群组中的任意一台服务器可以作为调度服务器,用于为推流客户端分配合适的服务器作为推流服务器,推流客户端将流媒体文件推流到为其分配的服务器上,该服务器同时可以作为本实施例中的直播视频的转码服务器,也就是说,可以由位于边缘节点的服务器本身为流媒体文件提供转码功能,不需要发送到其他设备上执行转码操作。
推流客户端和为其分配的推流服务器(即本实施例中的转码服务器)建立连接后,开始上传流媒体文件,推流客户端以持续发送数据包的方式上传 流媒体文件。转码服务器开始接收推流客户端上传的流媒体文件时,为该流媒体创建一个转码任务,对于一台转码服务器来说,可能有多个客户端同时在向其推流,其中,一个流媒体文件对应一个转码任务。转码服务器每接收到一个数据包,就按照接收时间将该数据包添加至数据缓存队列中,同时转码服务器中的转码进行也在不断地按照接收时间的先后顺序,对数据缓存队列中的数据包进行转码处理,将其转换为符合直播平台或者观众客户端设置的码率的流媒体文件,以供观众客户端进行拉流。通过这个过程达到边上传边观看的效果。相对于现有技术,本实施例方法中的转码服务器本身既作为推流服务器,用来接收推流客户端的推流,同时也提供转码功能,不需要将流媒体文件再推到其他的转码机上进行转码,不仅能够提高转码的效率,同时降低了转码任务在执行中失败的可能性。
步骤S30,在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测。
步骤S40,若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点。
步骤S50,基于标记的所述第一数据包节点重启所述转码任务。
在正常的转码过程中,完成一个数据包的转码处理,则将数据缓存队列中该数据包的状态标记为已转码状态,或者将该数据包从队列中删除,以区分队列中那些还没有被转码的数据包。
关于转码任务的执行状态及执行失败的判断可以参照以下方式:
方式一,获取所述转码任务的日志数据,从日志数据中获取所述转码任务的进度信息,并对所述进度信息的更新状态进行监测,其中,当检测到所述进度信息在第一预设时长内未被更新过,则判定所述转码任务执行失败。转码任务的执行过程中,会定时地对其日志数据中的进度信息进行更新以记录任务的执行进度,因此通过对日志数据中的该信息的更新情况进行监测能够判断转码任务是否失败。
方式二,转码进程在执行转码任务过程中周期性地上报的心跳信息,如果转码服务器在连续预设数量的周期内侦测不到心跳信息时,判定转码进程停止了转码操作,进而判定所述转码任务执行失败。
在判定转码任务失败后,根据记录的数据缓存队列中的数据包的处理状 态,确定接收时间最早的还没有进行转码处理的数据包,可以判断是在该数据包处发生转码任务失败,在该数据包处标记第一数据包节点。然后建立转码进程,基于标记的第一数据包节点重新启动该转码任务,也就是说,从标记的数据包处继续执行转码操作,而非从重新启动转码的任务时,推流客户端上传的数据包开始转码操作。因此,观众客户端在服务器恢复连接后,继续从服务器端拉流,则能够按照断流时的内容继续播放视频,不会错过断流期间的直播内容。
本实施例提出的直播视频的转码方法中,接收推流客户端以持续发送数据包的方式上传的流媒体文件,并创建转码任务,将接收到的数据包添加到数据缓存队列中,基于数据缓存队列执行转码任务,在该转码任务的执行过程中,对数据包的处理状态进行记录,对转码任务的执行状态进行定时检测,如果检测到转码任务执行失败,根据记录的处理状态标记任务失败的第一数据包节点,基于该第一数据包节点重启转码任务,该方案中,由接收推流客户端推流的服务器本身提供转码能力,不需要在推流到其他设置上执行转码,提高转码的效率,同时降低了转码任务在执行中失败的可能性,此外,如果发生转码失败,能够根据数据缓存队列中标记的数据包节点重新启动转码任务,不会跳过转码任务失败期间的画面,能够避免因转码失败而导致用户错过直播内容。
基于第一实施例提出本申请直播视频的转码方法的第二实施例。在本实施例中,直播视频转码程序还可以被所述处理器执行,以实现如下步骤:
在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
由于发生了转码任务的执行失败,导致一个流媒体文件的转码过程被中断,在转码任务中断期间,推流客户端还是在持续地上传数据包,并存储在数据缓存队列中,并且这些数据包在重启转码任务之前均处于未被转码的状态,则观众客户端处就会拉不到流。观众客户端在多次尝试拉不到流后,判 定在服务器处发生了断流。基于上述第一实施例的方案,在重新启动转码任务后,要对转码中断期间,数据缓存队列中累积的数据包继续进行转码处理。由于转码中断期间的长短是不固定的,当该期间较长时,重启转码任务后,队列中会累积过多的数据包,如果一一对这些数据包转码处理,会导致观众客户端与推流客户端处的直播内容不同步,影响主播与观众之间的交流,因此,为了避免这种情况,在避免因转码失败而导致用户错过直播内容的同时,通过本实施例的方案,保证在转码任务重启后的较短时间内,使观众客户端与推流客户端处的直播内容达到同步,提升用户体验。
具体地,任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点,将第一数据包节点至第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至数据缓存队列中的数据包转换为视频帧图像,按照预设的跳帧规则对转换得到的视频帧图像进行跳帧处理,以删除转转得到的全部视频帧图像中预设比例的视频帧图像,预设的跳帧规则可以是每间隔m帧图像删除n帧图像,例如,每间隔一帧图像删除一帧图像,删除转换得到的视频帧图像中1/2的视频帧图像;或者,每间隔二帧图像删除一帧图像,删除转换得到的视频帧图像中1/3的视频帧图像等。将经过跳帧处理后剩余的视频帧图像再转换为流媒体文件,通过这样的方案缩短这段视频内容在观众客户端上的播放时间,进而在经过第二预设时长后,使观众客户端与推流客户端处的直播内容达到同步,继续按照正常的转码过程处理,不再跳帧处理。可以理解的是,可以以一定量的数据包为单位进行一次跳帧处理,不必到任务重启后的第二预设时长再进行。
或者,在其他实施例中,由观众客户端在重新拉倒流后的第三预设时长内,将接收到的流媒体文件转换为视频帧图像后进行跳帧播放,例如每间隔一定数据量的视频帧删除掉一张或几张视频帧图像,以使观众客户端的播放进度达到与推流客户端的同步。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有直播视频转码程序,所述直播视频转码程序可被一个或多个处理器执行,以实现如下步骤:
在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文 件;
将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
基于标记的所述第一数据包节点重启所述转码任务。
本申请计算机可读存储介质具体实施方式与上述直播视频的转码装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种直播视频的转码装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的直播视频转码程序,所述直播视频转码程序被所述处理器执行时实现如下步骤:
    在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件;
    将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
    在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
    若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
    基于标记的所述第一数据包节点重启所述转码任务。
  2. 根据权利要求1所述的直播视频的转码装置,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    获取所述转码任务的日志数据,从日志数据中获取所述转码任务的进度信息,并对所述进度信息的更新状态进行监测,其中,当检测到所述进度信息在第一预设时长内未被更新过,则判定所述转码任务执行失败。
  3. 根据权利要求1所述的直播视频的转码装置,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    侦测转码进程在执行转码任务过程中周期性上报的心跳信息,其中,在连续预设数量的周期内侦测不到心跳信息时,判定所述转码任务执行失败。
  4. 根据权利要求1所述的直播视频的转码装置,其特征在于,所述在转码任务的执行过程中对数据缓存队列中的数据包的处理状态进行记录的步骤包括:
    将所述数据缓存队列中完成转码处理的数据包删除,或者将所述数据缓存队列中完成转码处理的数据包标记为已转码状态。
  5. 根据权利要求1项所述的直播视频的转码装置,其特征在于,所述直播视频转码程序还可以被所述处理器执行,以实现如下步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第 二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  6. 根据权利要求2所述的直播视频的转码装置,其特征在于,所述直播视频转码程序还可以被所述处理器执行,以实现如下步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  7. 根据权利要求3所述的直播视频的转码装置,其特征在于,所述直播视频转码程序还可以被所述处理器执行,以实现如下步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  8. 一种直播视频的转码方法,其特征在于,所述方法包括:
    在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文 件;
    将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
    在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
    若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
    基于标记的所述第一数据包节点重启所述转码任务。
  9. 根据权利要求8所述的直播视频的转码方法,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    获取所述转码任务的日志数据,从日志数据中获取所述转码任务的进度信息,并对所述进度信息的更新状态进行监测,其中,当检测到所述进度信息在第一预设时长内未被更新过,则判定所述转码任务执行失败。
  10. 根据权利要求8所述的直播视频的转码方法,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    侦测转码进程在执行转码任务过程中周期性上报的心跳信息,其中,在连续预设数量的周期内侦测不到心跳信息时,判定所述转码任务执行失败。
  11. 根据权利要求8所述的直播视频的转码方法,其特征在于,所述在转码任务的执行过程中对数据缓存队列中的数据包的处理状态进行记录的步骤包括:
    将所述数据缓存队列中完成转码处理的数据包删除,或者将所述数据缓存队列中完成转码处理的数据包标记为已转码状态。
  12. 根据权利要求8所述的直播视频的转码方法,其特征在于,所述方法还包括步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频 帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  13. 根据权利要求9所述的直播视频的转码方法,其特征在于,所述方法还包括步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  14. 根据权利要求10所述的直播视频的转码方法,其特征在于,所述方法还包括步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  15. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有直播视频转码程序,所述直播视频转码程序可被一个或者多个处理器执行,以实现如下步骤:
    在开始接收推流客户端上传的流媒体文件时,为所述流媒体文件创建转码任务,其中,所述推流客户端以持续发送数据包的方式上传所述流媒体文件;
    将接收到的数据包添加至数据缓存队列中,并基于所述数据缓存队列执行所述转码任务;
    在所述转码任务的执行过程中对所述数据缓存队列中的数据包的处理状态进行记录,并对所述转码任务的执行状态进行定时检测;
    若检测到所述转码任务执行失败,则根据记录的数据包的处理状态,标记任务失败的第一数据包节点;
    基于标记的所述第一数据包节点重启所述转码任务。
  16. 如权利要求15所述计算机可读存储介质,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    获取所述转码任务的日志数据,从日志数据中获取所述转码任务的进度信息,并对所述进度信息的更新状态进行监测,其中,当检测到所述进度信息在第一预设时长内未被更新过,则判定所述转码任务执行失败。
  17. 如权利要求15所述计算机可读存储介质,其特征在于,所述对所述转码任务的执行状态进行定时检测的步骤包括:
    侦测转码进程在执行转码任务过程中周期性上报的心跳信息,其中,在连续预设数量的周期内侦测不到心跳信息时,判定所述转码任务执行失败。
  18. 如权利要求15所述计算机可读存储介质,其特征在于,所述在转码任务的执行过程中对数据缓存队列中的数据包的处理状态进行记录的步骤包括:
    将所述数据缓存队列中完成转码处理的数据包删除,或者将所述数据缓存队列中完成转码处理的数据包标记为已转码状态。
  19. 如权利要求15所述计算机可读存储介质,其特征在于,所述直播视频转码程序还可被所述一个或者多个处理器执行,以实现如下步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
  20. 如权利要求16所述计算机可读存储介质,其特征在于,所述直播视 频转码程序还可被所述一个或者多个处理器执行,以实现如下步骤:
    在所述转码任务重启后,将重启所述转码任务时接收到的数据包作为第二数据包节点;
    在执行重启后的所述转码任务时,将所述第一数据包节点至所述第二数据包节点之间的数据包,以及任务重启后的第二预设时长内添加至所述数据缓存队列中的数据包转换为视频帧图像;
    按照预设的跳帧规则,删除转换得到的视频帧图像中的预设比例的视频帧图像;
    将剩余的视频帧图像转换为流媒体文件后重新执行所述转码任务。
PCT/CN2018/076116 2017-12-19 2018-02-10 直播视频的转码装置、方法及计算机可读存储介质 WO2019119633A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711373360.6 2017-12-19
CN201711373360.6A CN108174226B (zh) 2017-12-19 2017-12-19 直播视频的转码装置、方法及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2019119633A1 true WO2019119633A1 (zh) 2019-06-27

Family

ID=62522892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/076116 WO2019119633A1 (zh) 2017-12-19 2018-02-10 直播视频的转码装置、方法及计算机可读存储介质

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629233A (zh) * 2020-05-29 2020-09-04 北京华夏电通科技有限公司 音视频转码方法及装置
CN113094146A (zh) * 2021-05-08 2021-07-09 腾讯科技(深圳)有限公司 基于直播的互动方法、装置、设备及计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640109B (zh) * 2018-12-14 2021-02-26 网宿科技股份有限公司 一种直播视频流转码异常复现的方法及装置
CN116095336A (zh) 2019-09-23 2023-05-09 谷歌有限责任公司 用于转码视频的方法、设备和计算机可读介质
CN111093107A (zh) * 2019-12-18 2020-05-01 深圳市麦谷科技有限公司 播放实时直播流的方法和装置
CN112532972B (zh) * 2020-11-26 2023-10-03 北京百度网讯科技有限公司 直播业务的故障检测方法、装置、电子设备及可读存储介质
CN113055693B (zh) * 2021-04-20 2023-01-24 上海哔哩哔哩科技有限公司 数据处理方法及装置
CN114845141A (zh) * 2022-04-18 2022-08-02 上海哔哩哔哩科技有限公司 边缘转码方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110274155A1 (en) * 2010-05-07 2011-11-10 The Board Of Trustees Of The Leland Stanford Junior University Apparatus, system, and method for distributed video transcoding
US20130308440A1 (en) * 2012-05-18 2013-11-21 General Instrument Corporation Redundant architecture for failover of transcoder instances
CN103686207A (zh) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 转码任务的调度方法和系统
CN104243998A (zh) * 2014-09-29 2014-12-24 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器
CN105657451A (zh) * 2016-01-14 2016-06-08 世纪龙信息网络有限责任公司 上传视频文件同时进行转码的方法与系统
CN105898554A (zh) * 2015-12-18 2016-08-24 乐视云计算有限公司 实时转码的监控方法和实时转码系统
CN105900404A (zh) * 2014-01-13 2016-08-24 思科技术公司 针对自适应比特率流送的动态转码器速率自适应的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752112B2 (en) * 2012-04-12 2014-06-10 Google Inc. Live streaming video processing
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
CN106488169B (zh) * 2015-08-28 2019-09-13 腾讯科技(深圳)有限公司 一种数据传输的方法、系统以及相关设备
CN106454391B (zh) * 2016-10-31 2020-04-28 腾讯科技(深圳)有限公司 一种直播转点播方法、装置及终端
CN106791932B (zh) * 2017-01-06 2019-08-30 广州亦云信息技术股份有限公司 分布式转码系统、方法及其装置
CN107135400A (zh) * 2017-06-12 2017-09-05 上海高顿教育培训有限公司 一种降低网络直播延时的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110274155A1 (en) * 2010-05-07 2011-11-10 The Board Of Trustees Of The Leland Stanford Junior University Apparatus, system, and method for distributed video transcoding
US20130308440A1 (en) * 2012-05-18 2013-11-21 General Instrument Corporation Redundant architecture for failover of transcoder instances
CN103686207A (zh) * 2013-12-04 2014-03-26 乐视网信息技术(北京)股份有限公司 转码任务的调度方法和系统
CN105900404A (zh) * 2014-01-13 2016-08-24 思科技术公司 针对自适应比特率流送的动态转码器速率自适应的系统和方法
CN104243998A (zh) * 2014-09-29 2014-12-24 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器
CN105898554A (zh) * 2015-12-18 2016-08-24 乐视云计算有限公司 实时转码的监控方法和实时转码系统
CN105657451A (zh) * 2016-01-14 2016-06-08 世纪龙信息网络有限责任公司 上传视频文件同时进行转码的方法与系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629233A (zh) * 2020-05-29 2020-09-04 北京华夏电通科技有限公司 音视频转码方法及装置
CN111629233B (zh) * 2020-05-29 2022-03-25 北京华夏电通科技股份有限公司 音视频转码方法及装置
CN113094146A (zh) * 2021-05-08 2021-07-09 腾讯科技(深圳)有限公司 基于直播的互动方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN108174226A (zh) 2018-06-15
CN108174226B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
WO2019119633A1 (zh) 直播视频的转码装置、方法及计算机可读存储介质
US10911789B2 (en) Automatic failover for live video streaming
US9961398B2 (en) Method and device for switching video streams
US9154840B2 (en) Reception apparatus, reception method, transmission apparatus, and transmission method
US20180262815A1 (en) Video processing method and apparatus, and computer storage medium
US10114689B1 (en) Dynamic playlist generation
JP5870924B2 (ja) 送信装置、送信方法、受信装置、受信方法、プログラム、および放送システム
US20160080470A1 (en) Server-side playlist stitching
WO2017071566A1 (zh) 网络视频播放方法和系统及用户终端、家庭流服务节点
WO2017107649A1 (zh) 一种视频传输方法和装置
TWI760328B (zh) 動畫分割裝置及監視方法
US20220394313A1 (en) System and method for transcoding media stream
CN108540819B (zh) 直播数据处理方法、装置、计算机设备和存储介质
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
WO2015090095A1 (zh) 一种信息推送方法、设备和系统
US20180132014A1 (en) Crowd-sourced video generation
WO2014063550A1 (zh) 一种微博资源分享的方法及系统
WO2019119634A1 (zh) 直播中互动信息的发送装置、方法及计算机可读存储介质
WO2020155959A1 (zh) 切换清晰度的方法、装置、计算机设备及可读存储介质
WO2017101393A1 (zh) 一种视频的连播方法及装置
US20170070699A1 (en) Information processing apparatus, image capturing apparatus, and control methods for the same
CN106331871B (zh) 一种实现视频流快进或快退的方法及装置
WO2015081893A1 (zh) 一种轮播媒体分片的方法、客户端及系统
CN113242437A (zh) 一种rtsp协议视频无插件播放方法、系统、装置及存储介质
WO2018003685A1 (ja) 画像圧縮方法、画像復元方法、画像圧縮装置、画像復元装置、画像圧縮プログラムプロダクト及び画像復元プログラムプロダクト

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18891269

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04/11/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18891269

Country of ref document: EP

Kind code of ref document: A1