WO2020062438A1 - 一种直播视频的快速启动方法及装置 - Google Patents
一种直播视频的快速启动方法及装置 Download PDFInfo
- Publication number
- WO2020062438A1 WO2020062438A1 PCT/CN2018/113733 CN2018113733W WO2020062438A1 WO 2020062438 A1 WO2020062438 A1 WO 2020062438A1 CN 2018113733 W CN2018113733 W CN 2018113733W WO 2020062438 A1 WO2020062438 A1 WO 2020062438A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quick start
- index position
- live video
- key frame
- target live
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234381—Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25858—Management of client data involving client software characteristics, e.g. OS identifier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Definitions
- the present invention relates to the field of Internet technology, and in particular, to a method and a device for quickly starting a live video.
- the CDN can receive the live video data stream from the live video platform, and then provide the live video data stream to the client through edge nodes closer to the client, thereby achieving a stable and fast live video experience.
- the CDN often pre-configures a video quick-start strategy.
- the quick-start strategy can be used to improve the display speed of the first screen in the client.
- the pre-configured quick-start strategy in the CDN may not be applicable to each player, thereby failing to effectively increase the display speed of the first screen, and may even cause the player's Caton.
- the purpose of this application is to provide a method and a device for quickly starting a live video, which can effectively improve the first screen display speed of different players.
- the present application provides a method for quickly starting a live video.
- the method includes: identifying a type of a current player, and invoking a fast start strategy adapted to the type of the current player; When the quick start strategy is executed, read the current system time and the quick start configuration time corresponding to the current player; determine the quick start index position in the target live video based on the current system time and the quick start configuration time And determining a key frame index position in the target live video based on the quick start index position; and sending video data starting from the key frame index position in the target live video to the target live video The current player, and discards the audio data of the target live video from the key frame index position to the quick start index position.
- another aspect of the present application further provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- another aspect of the present application further provides a method for quickly starting a live video.
- the method includes: identifying a type of a current player, and invoking a fast start strategy adapted to the type of the current player. Reading the current system time and the quick start configuration time corresponding to the current player when the quick start policy is executed; determining a quick start in the target live video based on the current system time and the quick start configuration time Index position; sending audio data from the quick start index position in the target live video to the current player, and transferring the target live video from the quick start index position to the next key Video data between frames is discarded.
- another aspect of the present application further provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, To achieve the above method.
- another aspect of the present application further provides a method for quickly starting a live video.
- the method includes: identifying a type of a current player, and invoking a fast start strategy adapted to the type of the current player. Reading the current system time and the quick start configuration time corresponding to the current player when the quick start policy is executed; determining a quick start in the target live video based on the current system time and the quick start configuration time An index position, and a key frame index position is determined in the target live video based on the quick start index position; and the audio and video data starting from the key frame index position in the target live video is issued Give the current player, and in accordance with the release order of the audio frame and the video frame, the audio frame and the video frame in the audio and video data are numbered incrementally.
- another aspect of the present application further provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, To achieve the above method.
- another aspect of the present application further provides a method for quickly starting a live video.
- the method includes: identifying a type of a current player, and invoking a fast start strategy adapted to the type of the current player. Reading the time stamp of the current video frame in the target live video and the quick start configuration time corresponding to the current player when the quick start policy is executed; based on the time stamp of the current video frame and the quick start configuration Time, determine a quick start index position in the target live video, and determine a key frame index position in the target live video based on the quick start index position; and remove the target live video from the target live video The audio and video data starting at the key frame index position is delivered to the current player.
- another aspect of the present application further provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, To achieve the above method.
- the technical solution provided by this application can formulate different quick start strategies for some commonly used players, so that the server can identify the type of the player after receiving the request from the player. And call the corresponding quick start strategy to send live video data to the player.
- the current system time and the quick start configuration time of the player may be read in advance.
- the quick start index position can be determined according to the current system time and the quick start configuration time. For ordinary FLASH players, you can find the first key frame forward from the quick start index position, and then use the first key frame as the key frame index position.
- the video data starting from the key frame index position in the target live video may be sent to the current player, and the data from the key frame index position to the quick start index position may be discarded.
- Audio data of the target live video The purpose of this process is that the FLASH player can play the data between the quick start index position and the key frame index position through the faster speed, which can improve the first screen time and improve the real-time performance of the live broadcast.
- FIG. 1 is a schematic diagram of a system architecture in an embodiment of the present invention
- FIG. 2 is a flowchart of a method for quickly starting a live video in an embodiment of the present invention
- FIG. 3 is a schematic timing diagram of transmitting audio and video data in an embodiment of the present invention.
- FIG. 4 is a schematic structural diagram of a quick start device for live video in an embodiment of the present invention.
- FIG. 5 is a flowchart of a method for quickly starting a live video in another embodiment of the present invention.
- FIG. 6 is a schematic timing diagram of transmitting audio and video data in another embodiment of the present invention.
- FIG. 7 is a flowchart of a method for quickly starting a live video in another embodiment of the present invention.
- FIG. 8 is a schematic timing diagram of transmitting audio and video data in another embodiment of the present invention.
- FIG. 9 is a timing diagram of sending audio and video data in another embodiment of the present invention.
- FIG. 10 is a flowchart of a method for quickly starting a live video in another embodiment of the present invention.
- FIG. 11 is a schematic timing diagram of transmitting audio and video data in another embodiment of the present invention.
- This application provides a method for quickly starting a live video.
- the method can be applied to a CDN server.
- the server may be connected to a service server of a video live broadcast platform, so as to obtain and cache video stream data of a live video from the service server.
- the server can also communicate with the user's player, so as to receive the video loading request from the player, and can feed back the corresponding live video data to the player.
- the method for quickly starting a live video may include the following steps.
- S11 Identify the type of the current player, and invoke a quick-start strategy adapted to the type of the current player.
- multiple quick-start policies can be configured in the server in advance, and these quick-start policies can be associated with different players. In this way, after receiving a video loading request from the current player, the type of the current player can be identified from the video loading request.
- the type of the player and the corresponding quick start strategy can be stored in the server through a key-value data structure.
- the identifier used to characterize the player type can be used as the key, and the corresponding quick start strategy can be used as the value.
- the type of the current player can be used as a key, and a matching quick start strategy can be queried from the server, and the quick start strategy can be read.
- the server may execute a quick-start strategy adapted to the type of the current player.
- the current system time of the server and the quick-start configuration previously agreed with the current player may be read first. time.
- the current system time may be, for example, GMT (Greenwich Mean Time, Greenwich Mean Time).
- the quick start configuration time may be a period of time. For example, the quick start configuration time may be 1 second.
- S15 Determine a quick start index position in the target live video based on the current system time and the quick start configuration time, and determine a key frame index in the target live video based on the quick start index position position.
- the quick start index position may be determined in the target live video requested by the current player. Specifically, a time difference between the current system time and the quick start configuration time may be calculated, and a corresponding position of the time difference in the target live video is used as the quick start index position. For example, if the current system time is 21:18:15 and the quick start configuration time is 1 second, then the calculated time difference is 21:18:14, and this time difference can be used as the quick start index position.
- non-I frame non-key frame
- key frame (I frame) data needs to be sent to the player.
- a key frame index position representing a key frame may be determined in the target live video.
- a first key frame can be queried in the target live video starting from the quick start index position, in a direction opposite to the video playback order, and the first key frame obtained by the query corresponds to Is used as the key frame index position.
- the direction indicated by the arrow in FIG. 3 is the normal playback sequence of the target live video.
- S17 Send video data starting from the key frame index position in the target live video to the current player, and discard all data from the key frame index position to the quick start index position. Describes the audio data of the target live video.
- video data starting from the key frame index position in the target live video may be sent to the current player. And discard the audio data of the target live video from the key frame index position to the quick start index position.
- the time stamp of each video frame in the video data of the target live video from the key frame index position to the quick start index position may be set to zero. The purpose of this processing is that the FLASH player will not decode when it receives a video frame with a time stamp of 0. In this way, for video frames between the key frame index position and the quick start index position, the FLASH player can quickly finish .
- the server may incrementally number the timestamp of each video frame in the video data of the target live video according to the order of the video frames being issued, and starting from the quick start index position, the server Audio data of the target live video may be delivered to the current player. That is, starting from the quick start index position, the server can deliver normal audio and video data to the FLASH player. In this way, the FLASH player can have a certain amount of time to cache the amount of data of the target live video, and it can quickly complete the video frame between the key frame index position and the quick start index position, while ensuring that the first screen time is improved, It can also maintain the real-time nature of the live broadcast.
- the present application further provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program. The above method.
- the present application also provides a method for quickly starting a live video, which can be directed to a player that synchronizes decoder information according to an audio frame.
- the method may include the following steps.
- S21 Identify the type of the current player, and invoke a quick-start strategy adapted to the type of the current player.
- S25 Determine a quick start index position in the target live video based on the current system time and the quick start configuration time.
- S27 Send the audio data starting from the quick start index position in the target live video to the current player, and from the quick start index position to the next key frame in the target live video Video data between is discarded.
- a corresponding quick start strategy may be invoked.
- the quick start strategy is executed, the current system time and the quick start configuration time agreed with the current player may be read in the manner described in the previous embodiment. Then, the quick start index position can be determined in the same way.
- the target live video may be started from the quick start index position in the manner shown in FIG. 6 Send the audio data to the current player, and discard the video data from the quick start index position to the next key frame in the target live video.
- the next key frame refers to the first key frame that is searched along the video playback order starting from the quick start index position.
- the purpose of this processing is that after the current player receives the audio data, it can start to synchronize the decoder information based on the audio frame, thereby improving the subsequent decoding efficiency. Because the video frame at the quick start index position may be a non-key frame, if the non-key frame is sent to the player, it will cause the player to screen.
- the quick start index position can be started until all the video frames between the next key frames are discarded, and then from the next key frame, the video of the target live video is normally delivered to the current player. Data, so as to ensure that the player receives the key frame data first, so as to avoid the player screen phenomenon.
- the present application also provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, the above-mentioned method for A quick start method for players to synchronize decoder information with frames.
- this application also provides a method for quickly starting a live video, which can be directed to a player that keeps audio frames and video frames synchronized. As shown in FIG. 7, the method may include the following steps.
- S31 Identify the type of the current player, and invoke a quick-start strategy adapted to the type of the current player.
- S35 Determine a quick start index position in the target live video based on the current system time and the quick start configuration time, and determine a key frame index in the target live video based on the quick start index position. position.
- S37 Send the audio and video data starting from the key frame index position in the target live video to the current player, and according to the order in which the audio frame and the video frame are issued, respectively, the audio and video data The audio and video frames in are incremented.
- a corresponding quick start strategy may be invoked.
- the quick start strategy is executed, the current system time and the quick start configuration time agreed with the current player may be read in the manner described in the foregoing embodiment. Then, the quick start index position can be determined in the same way.
- such a player that maintains synchronization of audio frames and video frames requires less real-time performance, but requires a larger amount of buffered data, and has higher requirements for the initial synchronization of audio and video data.
- the audio and video data starting from the key frame index position in the target live video may be sent to the current player, and the audio and video frames are sent according to the The sending sequence is to increment the audio frames and video frames in the audio and video data.
- the determination method of the key frame index position shown in FIG. 8 can ensure that the player has sufficient buffer time and can ensure the synchronization of audio and video, but the disadvantage is that the delay of the live video will be large.
- the audio and video data starting from the key frame index position shown in FIG. 9 in the target live video may be sent to the current player, and according to the sending order of the audio frame and the video frame, respectively, Audio frames and video frames in audio and video data are numbered incrementally.
- the method shown in FIG. 9 can not only ensure a certain amount of buffered data, but also improve the real-time performance of the playback. Since the audio and video data is sent from the key frame, it can also ensure the synchronization of audio and video data. Prevent the player from appearing screen-splash phenomenon.
- the present application also provides a fast-start device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, the above-mentioned maintaining audio frame can be implemented.
- Quick start method synchronized with video frame.
- the quick start index position is determined according to the current system time, but such a method may result in insufficiently delivered video data.
- the server may receive multi-second data of the target live video sent by the live video platform within one second. For example, the server receives 3 seconds of audio and video data of the target live video at 21:18:15. Then assume that the current system time is 21:18:16 and the agreed quick start configuration time is 1 second, then the determined quick start index position is 21:18:15. If pronunciation video data is downloaded from this quick start index position, audio and video data of 3 seconds will be delivered at once, which will cause the data delivery to be inaccurate.
- the present application also provides a method for quickly starting a live video, which can be directed to a player that accurately buffers according to a time stamp. Referring to FIG. 10, the method may include the following steps.
- S41 Identify the type of the current player, and invoke a quick-start strategy adapted to the type of the current player.
- S45 Calculate a time difference between the time stamp of the current video frame and the quick start configuration time, and determine a key frame index position in the target live video according to the time difference.
- S47 Send audio and video data from the target live video starting from the key frame index position to the current player.
- a corresponding quick start strategy may be invoked.
- the quick-start strategy is executed, the time stamp of the current buffered current video frame in the target live video that has been buffered can be read to estimate the pre-agreed quick-start configuration time. Then, a time difference between a time stamp of the current video frame and the quick start configuration time may be calculated, and a key frame index position may be determined in the target live video according to the time difference. Specifically, the first key frame with a timestamp greater than or equal to the time difference may be found in the key frame sequence cached by the server, and the found first key frame corresponds to the target live video.
- the position is used as the key frame index position.
- the time stamp of the current video frame is 3000 milliseconds
- the quick start configuration time is 1 second
- the calculated time difference is 2000 milliseconds.
- a key frame with a time stamp greater than or equal to 2000 milliseconds and closest to 2000 milliseconds can be found, and the position corresponding to the closest key frame can be used as the key frame index position.
- the audio and video data in the target live video starting from the key frame index position can be sent to the current player.
- the time difference is calculated through the time stamp, which can ensure that the calculated time difference corresponds to at most one video frame, so that accurate audio and video data can be delivered to the player.
- This application also provides a fast-starting device for live video.
- the device includes a memory and a processor.
- the memory is used to store a computer program.
- the computer program is executed by the processor, the foregoing implementation of Quick start method for a precisely buffered player.
- the technical solution provided by this application can formulate different quick start strategies for some commonly used players, so that the server can identify the type of the player after receiving the request from the player. And call the corresponding quick start strategy to send live video data to the player.
- the current system time and the quick start configuration time of the player may be read in advance.
- the quick start index position can be determined according to the current system time and the quick start configuration time. For ordinary FLASH players, you can find the first key frame forward from the quick start index position, and then use the first key frame as the key frame index position.
- the video data starting from the key frame index position in the target live video may be sent to the current player, and the data from the key frame index position to the quick start index position may be discarded.
- Audio data of the target live video The purpose of this process is that the FLASH player can play the data between the quick start index position and the key frame index position through the faster speed, which can improve the first screen time and improve the real-time performance of the live broadcast.
- each embodiment can be implemented by means of software plus a necessary universal hardware platform, and of course, can also be implemented by hardware.
- the above-mentioned technical solution essentially or part that contributes to the existing technology can be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic A disc, an optical disc, and the like include several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种直播视频的快速启动方法及装置,其中,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。本申请提供的技术方案,能够有效提高不同播放器的首屏显示速度。
Description
本发明涉及互联网技术领域,特别涉及一种直播视频的快速启动方法及装置。
随着视频直播业务的兴起,为了提供稳定快速的视频直播体验,大部分的视频直播平台都选择通过CDN(Content Delivery Network,内容分发网络)进行直播加速。CDN可以接收视频直播平台发来的直播视频的数据流,然后通过与客户端较近的边缘节点将直播视频的数据流提供给客户端,从而实现稳定快速的视频直播体验。
目前,CDN中往往会预先配置视频的快速启动策略,在向客户端下发直播视频的数据时,可以根据该快速启动策略,提高客户端中首屏的显示速度。然而,随着客户端中播放器的种类越来越多,CDN中预先配置的快速启动策略很可能无法适用每种播放器,从而无法有效地提高首屏的显示速度,甚至会引起播放器的卡顿。
发明内容
本申请的目的在于提供一种直播视频的快速启动方法及装置,能够有效提高不同播放器的首屏显示速度。
为实现上述目的,本申请一方面提供一种直播视频的快速启动方法,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从 所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动方法,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置;将所述目标直播视频中从所述快速启动索引位置处开始的音频数据下发给所述当前播放器,并将所述目标直播视频中从所述快速启动索引位置至下一个关键帧之间的视频数据丢弃。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动方法,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器,并按照音频帧和视频帧的下发顺序,分别为所述音视频数据中的音频帧和视频帧进行递增编号。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动方法,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适 配的快速启动策略;在所述快速启动策略执行时,读取目标直播视频中当前视频帧的时间戳以及所述当前播放器对应的快速启动配置时间;基于所述当前视频帧的时间戳和所述快速启动配置时间,在所述目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器。
为实现上述目的,本申请另一方面还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
由上可见,本申请提供的技术方案,针对当前常用的一些播放器,可以制定不同的快速启动策略,这样,服务器在接收到播放器发来的请求后,可以识别出该播放器的类型,并调用对应的快速启动策略来向播放器下发直播视频的数据。具体地,在一个实施方式中,可以预先读取当前系统时间和播放器的快速启动配置时间。然后,可以根据该当前系统时间和快速启动配置时间,确定出快速启动索引位置。针对普通的FLASH播放器,可以从快速启动索引位置向前查找到第一个关键帧,然后将第一个关键帧作为关键帧索引位置。接着,可以将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。这样处理的目的在于,FLASH播放器可以通过较快的速度将快速启动索引位置至关键帧索引位置之间的数据播完,既能够提高首屏时间又能够提升直播的实时性。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中的系统架构示意图;
图2是本发明一个实施方式中直播视频的快速启动方法的流程图;
图3是本发明一个实施方式中音视频数据下发的时序示意图;
图4是本发明一个实施方式中直播视频的快速启动装置的结构示意图;
图5是本发明另一个实施方式中直播视频的快速启动方法的流程图;
图6是本发明另一个实施方式中音视频数据下发的时序示意图;
图7是本发明另一个实施方式中直播视频的快速启动方法的流程图;
图8是本发明另一个实施方式中音视频数据下发的时序示意图;
图9是本发明另一个实施方式中音视频数据下发的时序示意图;
图10是本发明另一个实施方式中直播视频的快速启动方法的流程图;
图11是本发明另一个实施方式中音视频数据下发的时序示意图。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种直播视频的快速启动方法,所述方法可以应用于CDN的服务器中。请参阅图1,所述服务器可以与视频直播平台的业务服务器相连,从而从该业务服务器处获取并缓存直播视频的视频流数据。此外,该服务器还可以与用户的播放器进行通信,从而接收播放器发来的视频加载请求,并可以向播放器反馈对应的直播视频的数据。
请参阅图2,本申请提供给的直播视频的快速启动方法,可以包括以下步骤。
S11:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略。
在本实施方式中,为了针对不同的播放器都能够提高首屏时间,可以预先在服务器中配置多个快速启动策略,这些快速启动策略可以与不同的播放器相关联。这样,在接收到当前播放器发来的视频加载请求后,可以从该视频加载请求中识别出当前播放器的类型。
在本实施方式中,播放器的类型与对应的快速启动策略可以通过key-value(键值对)的数据结构存储于服务器中。其中,用于表征播放器类型的标识可以作为key,对应的快速启动策略可以作为value。这样,在识别出当前播放器的类型之后,可以将当前播放器的类型作为key,从服务器中查询到相匹配的快速启动策略,并读取该快速启动策略。
S13:在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器 对应的快速启动配置时间。
在本实施方式中,服务器可以执行与当前播放器的类型相适配的快速启动策略,在该策略执行时,首先可以读取服务器的当前系统时间,以及与当前播放器预先约定的快速启动配置时间。其中,所述当前系统时间例如可以是GMT(Greenwich Mean Time,格林威治时间)。所述快速启动配置时间则可以是一段时长。例如,所述快速启动配置时间可以是1秒钟。
S15:基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置。
在本实施方式中,在读取了所述当前系统时间和快速启动配置时间后,可以在当前播放器请求获取的目标直播视频中确定快速启动索引位置。具体地,可以计算所述当前系统时间与所述快速启动配置时间之间的时间差,并将所述时间差在所述目标直播视频中对应的位置作为所述快速启动索引位置。例如,所述当前系统时间为21点18分15秒,所述快速启动配置时间为1秒,那么计算出的时间差为21点18分14秒,该时间差便可以作为快速启动索引位置。
在本实施方式中,如果向播放器发送的视频数据为非关键帧(非I帧)数据,那么播放器在播放非关键帧数据时会产生花屏。因此,首先需要向播放器发送关键帧(I帧)数据。具体地,在该快速启动索引位置的基础上,可以在所述目标直播视频中确定出表征关键帧的关键帧索引位置。
请参阅图3,可以在目标直播视频中从所述快速启动索引位置开始,沿着与视频播放顺序相反的方向查询到第一个关键帧,并将查询得到的所述第一个关键帧对应的位置作为所述关键帧索引位置。图3中箭头所指的方向便是目标直播视频的正常播放顺序。
S17:将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。
请参阅图3,在本实施方式中,在确定出该关键帧索引位置之后,便可以将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。同时,可以将从所述关键帧索引位置至所述快速启动 索引位置之间的所述目标直播视频的视频数据中各个视频帧的时间戳均设置为0。这样处理的目的在于,FLASH播放器接收到时间戳为0的视频帧时,会不进行解码,这样,对于关键帧索引位置至快速启动索引位置之间的视频帧,FLASH播放器能够快速播完。从所述快速启动索引位置开始,服务器可以按照视频帧的下发顺序,对所述目标直播视频的视频数据中各个视频帧的时间戳进行递增编号,并且从所述快速启动索引位置开始,服务器可以向所述当前播放器下发所述目标直播视频的音频数据。也就是说,从所述快速启动索引位置开始,服务器可以向FLASH播放器下发正常的音视频数据。这样,FLASH播放器能够具备一定的时间来缓存目标直播视频的数据量,又可以快速将关键帧索引位置到快速启动索引位置之间的视频帧播完,在既保证提高首屏时间的同时,又能够保持直播的实时性。
请参阅图4,本申请还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的方法。
请参阅图5,本申请还提供一种直播视频的快速启动方法,该方法可以针对根据音频帧来同步解码器信息的播放器。具体地,如图5所示,该方法可以包括以下步骤。
S21:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略。
S23:在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间。
S25:基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置。
S27:将所述目标直播视频中从所述快速启动索引位置处开始的音频数据下发给所述当前播放器,并将所述目标直播视频中从所述快速启动索引位置至下一个关键帧之间的视频数据丢弃。
在本实施方式中,在识别出当前播放器的类型为根据音频帧来同步解码器信息的播放器时,可以调用对应的快速启动策略。在该快速启动策略执行时,可以按照前述实施方式中描述的方式,读取当前系统时间和与当前播放器约定 的快速启动配置时间。然后,可以按照相同的方式,确定出快速启动索引位置。
在本实施方式中,由于该类播放器是基于音频帧来同步解码器信息的,因此,可以按照如图6所示的方式,将所述目标直播视频中从所述快速启动索引位置处开始的音频数据下发给所述当前播放器,并将所述目标直播视频中从所述快速启动索引位置至下一个关键帧之间的视频数据丢弃。其中,所述下一个关键帧是指,从所述快速启动索引位置开始,沿着视频播放顺序搜索到的第一个关键帧。这样处理的目的在于,当前播放器在接收到音频数据后,便可以基于音频帧开始同步解码器信息,从而可以提高后续的解码效率。由于在快速启动索引位置处的视频帧可能是非关键帧,如果将非关键帧下发给播放器,会导致播放器花屏。因此,可以将快速启动索引位置开始,直到下一个关键帧之间的全部视频帧都丢弃,然后从所述下一个关键帧开始,正常向所述当前播放器下发所述目标直播视频的视频数据,从而保证播放器最先接收到的是关键帧数据,从而避免播放器出现花屏现象。
本申请还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的针对根据音频帧来同步解码器信息的播放器的快速启动方法。
请参阅图7,本申请还提供一种直播视频的快速启动方法,该方法可以针对保持音频帧和视频帧同步的播放器。如图7所示,所述方法可以包括以下步骤。
S31:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略。
S33:在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间。
S35:基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置。
S37:将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器,并按照音频帧和视频帧的下发顺序,分别为所述音视频数据中的音频帧和视频帧进行递增编号。
在本实施方式中,在识别出当前播放器的类型为保持音频帧和视频帧同步 的播放器时,可以调用对应的快速启动策略。在该快速启动策略执行时,可以按照前述实施方式中描述的方式,读取当前系统时间和与当前播放器约定的快速启动配置时间。然后,可以按照相同的方式,确定出快速启动索引位置。
在一个实施方式中,这类保持音频帧和视频帧同步的播放器,如果对实时性要求不太高,但要求较大的缓冲数据量,并且对于开始的音视频数据的同步要求较高的话,可以如图8所示,在目标直播视频中从所述快速启动索引位置开始,沿着与视频播放顺序相反的方向查询第一个关键帧,并将查询得到的所述第一个关键帧对应的位置作为所述关键帧索引位置。然后,为了保持音频帧和视频帧同步,可以将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器,并按照音频帧和视频帧的下发顺序,分别为所述音视频数据中的音频帧和视频帧进行递增编号。
图8所示的这种关键帧索引位置的确定方式,能够保证播放器有足够的缓冲时间且能保证音视频的同步,但缺陷在于直播视频的延迟会较大。为了解决这一问题,在一个实施方式中,可以按照图9所示的方式,在所述快速启动索引位置和所述当前系统时间对应的位置之间,查询与所述快速启动索引位置距离最近的关键帧,并将查询得到的所述关键帧对应的位置作为所述关键帧索引位置。然后,可以将所述目标直播视频中从图9所示的关键帧索引位置处开始的音视频数据下发给所述当前播放器,并按照音频帧和视频帧的下发顺序,分别为所述音视频数据中的音频帧和视频帧进行递增编号。图9所示的这种方式,既可以保证有一定的缓冲数据量,又能提高播放的实时性,并且由于从关键帧开始发送音视频数据,在保证音视频数据同步的情况下,也能避免播放器出现花屏现象。
本申请还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的保持音频帧和视频帧同步的快速启动方法。
前述实施方式中,都是按照当前系统时间来确定快速启动索引位置,但是这样的方式可能会导致下发的视频数据不够准确。原因在于:服务器在一秒钟的时间内,可能会接收视频直播平台发来的目标直播视频的多秒数据。例如,服务器在21点18分15秒,接收到目标直播视频的3秒音视频数据。然后假设 当前系统时间为21点18分16秒,约定的快速启动配置时间为1秒钟,那么确定出的快速启动索引位置便是21点18分15秒。如果从该快速启动索引位置下发音视频数据,则会一次性下发3秒的音视频数据,这样会导致数据下发不够精确。鉴于此,本申请还提供一种直播视频的快速启动方法,所述方法可以针对按照时间戳进行精确缓冲的播放器。请参阅图10,所述方法可以包括以下步骤。
S41:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略。
S43:在所述快速启动策略执行时,读取目标直播视频中当前视频帧的时间戳以及所述当前播放器对应的快速启动配置时间。
S45:计算所述当前视频帧的时间戳与所述快速启动配置时间之间的时间差,并根据所述时间差在所述目标直播视频中确定关键帧索引位置。
S47:将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器。
在本实施方式中,在识别出当前播放器的类型为按照时间戳进行精确缓冲的播放器时,可以调用对应的快速启动策略。在该快速启动策略执行时,可以读取目标直播视频中已完成缓冲的当前视频帧的时间戳预计预先约定的快速启动配置时间。然后,可以计算所述当前视频帧的时间戳与所述快速启动配置时间之间的时间差,并根据所述时间差在所述目标直播视频中确定关键帧索引位置。具体地,可以在服务器已缓存的关键帧序列中查找时间戳大于或者等于所述时间差的第一个关键帧,并将查找到的所述第一个关键帧在所述目标直播视频中对应的位置作为所述关键帧索引位置。例如,如图11所示,所述当前视频帧的时间戳为3000毫秒,所述快速启动配置时间为1秒,那么计算得到的时间差为2000毫秒。然后,可以在服务器已缓存的关键帧中,查找时间戳大于或者等于2000毫秒,并且与2000毫秒最接近的关键帧,该最接近的关键帧对应的位置便可以作为关键帧索引位置。
在本实施方式中,由于播放器是基于时间戳进行精确缓冲音视频数据,因此可以将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器。由上可见,通过时间戳来计算时间差,能够保证计算得到的时间差处最多只对应一个视频帧,从而能够向播放器下发精准的音视频数据。
本申请还提供一种直播视频的快速启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的针对按照时间戳进行精确缓冲的播放器的快速启动方法。
由上可见,本申请提供的技术方案,针对当前常用的一些播放器,可以制定不同的快速启动策略,这样,服务器在接收到播放器发来的请求后,可以识别出该播放器的类型,并调用对应的快速启动策略来向播放器下发直播视频的数据。具体地,在一个实施方式中,可以预先读取当前系统时间和播放器的快速启动配置时间。然后,可以根据该当前系统时间和快速启动配置时间,确定出快速启动索引位置。针对普通的FLASH播放器,可以从快速启动索引位置向前查找到第一个关键帧,然后将第一个关键帧作为关键帧索引位置。接着,可以将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。这样处理的目的在于,FLASH播放器可以通过较快的速度将快速启动索引位置至关键帧索引位置之间的数据播完,既能够提高首屏时间又能够提升直播的实时性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
- 一种直播视频的快速启动方法,其特征在于,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器,并丢弃从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的音频数据。
- 根据权利要求1所述的方法,其特征在于,基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置包括:计算所述当前系统时间与所述快速启动配置时间之间的时间差,并将所述时间差在所述目标直播视频中对应的位置作为所述快速启动索引位置。
- 根据权利要求1所述的方法,其特征在于,在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置包括:在目标直播视频中从所述快速启动索引位置开始,沿着与视频播放顺序相反的方向查询第一个关键帧,并将查询得到的所述第一个关键帧对应的位置作为所述关键帧索引位置。
- 根据权利要求1所述的方法,其特征在于,在将所述目标直播视频中从所述关键帧索引位置处开始的视频数据下发给所述当前播放器时,所述方法还包括:将从所述关键帧索引位置至所述快速启动索引位置之间的所述目标直播视频的视频数据中各个视频帧的时间戳均设置为0。
- 根据权利要求1或4所述的方法,其特征在于,所述方法还包括:从所述快速启动索引位置开始,按照视频帧的下发顺序,对所述目标直播视频的视频数据中各个视频帧的时间戳进行递增编号,并且从所述快速启动索引位置开始,向所述当前播放器下发所述目标直播视频的音频数据。
- 一种直播视频的快速启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权1至权5中任一所述的方法。
- 一种直播视频的快速启动方法,其特征在于,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置;将所述目标直播视频中从所述快速启动索引位置处开始的音频数据下发给所述当前播放器,并将所述目标直播视频中从所述快速启动索引位置至下一个关键帧之间的视频数据丢弃。
- 根据权利要求7所述的方法,其特征在于,基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置包括:计算所述当前系统时间与所述快速启动配置时间之间的时间差,并将所述时间差在所述目标直播视频中对应的位置作为所述快速启动索引位置。
- 根据权利要求7所述的方法,其特征在于,所述方法还包括:从所述下一个关键帧开始,向所述当前播放器下发所述目标直播视频的视频数据。
- 一种直播视频的快速启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权7至权9中任一所述的方法。
- 一种直播视频的快速启动方法,其特征在于,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取当前系统时间以及所述当前播放器对应的快速启动配置时间;基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置,并在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器,并按照音频帧和视频帧的下发顺序,分别为所述音视频数据中的音频帧和视频帧进行递增编号。
- 根据权利要求11所述的方法,其特征在于,基于所述当前系统时间和所述快速启动配置时间,在目标直播视频中确定快速启动索引位置包括:计算所述当前系统时间与所述快速启动配置时间之间的时间差,并将所述时间差在所述目标直播视频中对应的位置作为所述快速启动索引位置。
- 根据权利要求11所述的方法,其特征在于,在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置包括:在目标直播视频中从所述快速启动索引位置开始,沿着与视频播放顺序相反的方向查询第一个关键帧,并将查询得到的所述第一个关键帧对应的位置作为所述关键帧索引位置。
- 根据权利要求11所述的方法,其特征在于,在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置包括:在所述快速启动索引位置和所述当前系统时间对应的位置之间,查询与所 述快速启动索引位置距离最近的关键帧,并将查询得到的所述关键帧对应的位置作为所述关键帧索引位置。
- 一种直播视频的快速启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权11至权14中任一所述的方法。
- 一种直播视频的快速启动方法,其特征在于,所述方法包括:识别当前播放器的类型,并调用与所述当前播放器的类型相适配的快速启动策略;在所述快速启动策略执行时,读取目标直播视频中当前视频帧的时间戳以及所述当前播放器对应的快速启动配置时间;计算所述当前视频帧的时间戳与所述快速启动配置时间之间的时间差,并根据所述时间差在所述目标直播视频中确定关键帧索引位置;将所述目标直播视频中从所述关键帧索引位置处开始的音视频数据下发给所述当前播放器。
- 根据权利要求16所述的方法,其特征在于,在所述快速启动索引位置的基础上,在所述目标直播视频中确定关键帧索引位置包括:在已缓存的关键帧序列中查找时间戳大于或者等于所述时间差的第一个关键帧,并将查找到的所述第一个关键帧在所述目标直播视频中对应的位置作为所述关键帧索引位置。
- 一种直播视频的快速启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权16或权17所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/617,741 US20210368213A1 (en) | 2018-09-29 | 2018-11-02 | Method and device for quick start of live video streaming |
| EP18934653.9A EP3860129A4 (en) | 2018-09-29 | 2018-11-02 | QUICK START PROCEDURE AND DEVICE FOR LIVE VIDEO |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811150049.X | 2018-09-29 | ||
| CN201811150049.XA CN109151492B (zh) | 2018-09-29 | 2018-09-29 | 一种直播视频的快速启动方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020062438A1 true WO2020062438A1 (zh) | 2020-04-02 |
Family
ID=64813843
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/113733 Ceased WO2020062438A1 (zh) | 2018-09-29 | 2018-11-02 | 一种直播视频的快速启动方法及装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20210368213A1 (zh) |
| EP (1) | EP3860129A4 (zh) |
| CN (1) | CN109151492B (zh) |
| WO (1) | WO2020062438A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109618179B (zh) * | 2019-01-21 | 2021-05-11 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
| CN109862384A (zh) * | 2019-03-13 | 2019-06-07 | 北京河马能量体育科技有限公司 | 一种音视频自动同步方法及同步系统 |
| CN111010603A (zh) * | 2019-12-18 | 2020-04-14 | 浙江大华技术股份有限公司 | 一种视频缓存转发处理方法及装置 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103873956A (zh) * | 2012-12-12 | 2014-06-18 | 中国电信股份有限公司 | 媒体文件播放方法、系统、播放器、终端及媒体存储平台 |
| EP2773078A1 (en) * | 2013-03-01 | 2014-09-03 | Alcatel-Lucent España | Method, system and devices for multimedia content delivery using adaptive streaming |
| CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
| CN106254962A (zh) * | 2016-07-28 | 2016-12-21 | 武汉斗鱼网络科技有限公司 | 一种直播客户端快速启动播放的方法及系统 |
| CN106899888A (zh) * | 2017-02-14 | 2017-06-27 | 武汉斗鱼网络科技有限公司 | 基于云端适配播放器的tv端播放直播视频的方法及系统 |
| CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
| CN107147919A (zh) * | 2017-06-19 | 2017-09-08 | 网宿科技股份有限公司 | 直播快速启播方法及系统 |
| CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070220118A1 (en) * | 2006-03-15 | 2007-09-20 | Loyer Douglas E | Systems, Methods, and Apparatus for Delivering Randomly Accessible Audio and Video Media |
| US7908389B2 (en) * | 2006-06-20 | 2011-03-15 | Patentvc Ltd. | Methods and systems for retrieving fragments from peer clients and servers |
| US9906757B2 (en) * | 2009-02-26 | 2018-02-27 | Akamai Technologies, Inc. | Deterministically skewing synchronized events for content streams |
| CN103856814B (zh) * | 2012-11-28 | 2017-09-15 | 北京音之邦文化科技有限公司 | Web播放器的播放控制策略控制方法及装置 |
| GB2534849A (en) * | 2015-01-28 | 2016-08-10 | Canon Kk | Client-driven push of resources by a server device |
| CN106385594A (zh) * | 2016-09-18 | 2017-02-08 | 深圳市青柠互动科技开发有限公司 | 一种优化视频直播服务的方法 |
| CN106488273B (zh) * | 2016-10-10 | 2019-09-10 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
| CN107566918B (zh) * | 2017-09-21 | 2019-08-13 | 中国电子科技集团公司第二十八研究所 | 一种视频分发场景下的低延时取流秒开方法 |
| CN108540819B (zh) * | 2018-04-12 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
-
2018
- 2018-09-29 CN CN201811150049.XA patent/CN109151492B/zh active Active
- 2018-11-02 US US16/617,741 patent/US20210368213A1/en not_active Abandoned
- 2018-11-02 WO PCT/CN2018/113733 patent/WO2020062438A1/zh not_active Ceased
- 2018-11-02 EP EP18934653.9A patent/EP3860129A4/en not_active Withdrawn
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103873956A (zh) * | 2012-12-12 | 2014-06-18 | 中国电信股份有限公司 | 媒体文件播放方法、系统、播放器、终端及媒体存储平台 |
| EP2773078A1 (en) * | 2013-03-01 | 2014-09-03 | Alcatel-Lucent España | Method, system and devices for multimedia content delivery using adaptive streaming |
| CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
| CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
| CN106254962A (zh) * | 2016-07-28 | 2016-12-21 | 武汉斗鱼网络科技有限公司 | 一种直播客户端快速启动播放的方法及系统 |
| CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
| CN106899888A (zh) * | 2017-02-14 | 2017-06-27 | 武汉斗鱼网络科技有限公司 | 基于云端适配播放器的tv端播放直播视频的方法及系统 |
| CN107147919A (zh) * | 2017-06-19 | 2017-09-08 | 网宿科技股份有限公司 | 直播快速启播方法及系统 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3860129A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109151492B (zh) | 2021-02-02 |
| CN109151492A (zh) | 2019-01-04 |
| US20210368213A1 (en) | 2021-11-25 |
| EP3860129A1 (en) | 2021-08-04 |
| EP3860129A4 (en) | 2022-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7313445B2 (ja) | 置換コンテンツの最後を被置換コンテンツの最後と揃えるのに役立つ置換コンテンツ再生における動的短縮 | |
| CN107277558B (zh) | 一种实现直播视频同步的播放器客户端、系统及方法 | |
| CN101771673B (zh) | 一种处理媒体数据的方法及装置 | |
| CN106791994B (zh) | 一种低延时快速开播方法及装置 | |
| WO2019062050A1 (zh) | 直播管控方法、装置及电子设备 | |
| US11496781B2 (en) | Advanced preparation for content revision based on expected latency in obtaining new content | |
| WO2020062438A1 (zh) | 一种直播视频的快速启动方法及装置 | |
| US20180192090A1 (en) | Method of implementing audio and video live broadcast and server | |
| WO2017215279A1 (zh) | 一种视频回放方法及装置 | |
| WO2020134791A1 (zh) | 流媒体数据的混流方法、装置及存储介质、计算机设备 | |
| CN105916030A (zh) | 一种记录点播视频断点信息的方法、装置及系统 | |
| CA2758763A1 (en) | Method and device for fast pushing unicast stream in fast channel change | |
| CN107690093B (zh) | 一种视频播放方法及装置 | |
| US9281991B2 (en) | Media streaming | |
| US8626941B2 (en) | Delivering a video stream | |
| CN112640479B (zh) | 用于切换媒体服务频道的方法和装置 | |
| WO2017005098A1 (zh) | 一种实现视频流快进或快退的方法及装置 | |
| WO2016112641A1 (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
| WO2017075906A1 (zh) | 一种实现回看处理的方法及装置 | |
| WO2015018119A1 (zh) | 一种多媒体文件生成的方法及多媒体设备 | |
| CN101146221A (zh) | P2p直播中播放指针动态调整的方法及系统 | |
| CN115834925A (zh) | 一种视频转码方法、装置、设备及介质 | |
| US12143300B2 (en) | Packet buffering with a common time-indexed data store across packet streams | |
| CN113852856B (zh) | 一种快速切换频道的方法 | |
| CN120856687A (zh) | 用于通信的方法、装置、设备和介质 |
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: 18934653 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2018934653 Country of ref document: EP Effective date: 20210426 |