WO2020114146A1 - 多视频播放方法及存储介质、计算机设备 - Google Patents

多视频播放方法及存储介质、计算机设备 Download PDF

Info

Publication number
WO2020114146A1
WO2020114146A1 PCT/CN2019/113600 CN2019113600W WO2020114146A1 WO 2020114146 A1 WO2020114146 A1 WO 2020114146A1 CN 2019113600 W CN2019113600 W CN 2019113600W WO 2020114146 A1 WO2020114146 A1 WO 2020114146A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
played
sliding window
player
playback
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
Application number
PCT/CN2019/113600
Other languages
English (en)
French (fr)
Inventor
卢凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Baiguoyuan Information Technology Co Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to RU2021118948A priority Critical patent/RU2762399C1/ru
Priority to US17/299,184 priority patent/US11627357B2/en
Publication of WO2020114146A1 publication Critical patent/WO2020114146A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/44004Processing 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 involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for programme selection
    • H04N21/4825End-user interface for programme selection using a list of items to be played back in a given order, e.g. playlists

Definitions

  • the present application relates to the technical field of video data processing, in particular to a multi-video playback method, storage media, and computer equipment.
  • the embodiments of the present application provide a multi-video playback method, a storage medium, and a computer device, which can be used to solve the problems of poor flexibility and poor scalability during multi-video playback.
  • the technical solution is as follows:
  • a multi-video playback method including: setting a sliding window according to a first video to be played among multiple videos; the sliding window includes the first video to be played and the first video to be played Preset a second video to be played; use each video player in multiple video players to preload the data of each video in the sliding window; play the first video to be played A video to be played is regarded as the current video to be played; when the current video is switched to video playback, the video player interface corresponding to the second video to be played in the sliding window is called to play the The second video to be played.
  • the method before pre-loading the data of each video in the sliding window by using each of the plurality of video players, the method further includes: according to the number of videos in the sliding window, obtaining A preset number of the video players, wherein the preset number is greater than or equal to the number of videos contained in the sliding window; a player pool is constructed according to the preset number of the video players, and the playback The preset pool includes the preset number of the video players; the pre-loading the data of each video in the sliding window by using each of the plurality of video players separately includes: Obtain the multiple video players from the player pool, and use each video player in the multiple video players to preload the data of each video in the sliding window, respectively.
  • the method further includes: controlling the sliding window to move along with the playing time of the currently played video ; When the video in the sliding window moves out of the sliding window, release the video player associated with the removed video, and place the video player associated with the removed video in the Player pool.
  • the method further includes: using a video player in the player pool to control the movement of the sliding window.
  • the third video to be played is preloaded.
  • using the video player in the player pool to preload the third to-be-played video in the sliding window after moving includes: using the video in the player pool to play The device preloads the third video to be played to a specified location.
  • the sliding window includes the currently playing video, the already played video, and the unplayed video; when the currently playing video performs video playback switching, the calling in the sliding window is switched to
  • the video player interface corresponding to the second to-be-played video, playing the switched to-to-be-played video includes: when it is confirmed that a trigger operation for switching to play the played video is received, the played As the second to-be-played video to be switched to, call the video player interface corresponding to the played video to play the played video; when it is confirmed that the switch to play the unplayed video is received
  • the unplayed video is used as the second to-be-played video to be switched to, and a video player interface corresponding to the unplayed video is called to play the unplayed video.
  • the video player interface corresponding to the second to-be-played video to be switched to in the sliding window when the currently playing video performs video playback switching includes: when the current When playing video to switch video playback, call the video player interface corresponding to the second to-be-played video in the sliding window to switch the video player corresponding to the second to-be-played video to be switched to Canvas to display.
  • the method further includes: modifying the sliding window according to the playing situation of the currently played video; or When receiving a drag-and-play operation or an operation that triggers a jump of the playback progress bar, modify the sliding window according to the received operation.
  • a storage medium on which the computer program is stored; the computer program is adapted to be loaded by a processor and execute the multi-video playback method described in any of the above embodiments.
  • a computer device comprising: one or more processors; a memory; one or more application programs, wherein the one or more application programs are stored in the memory and It is configured to be executed by the one or more processors, and the one or more application programs are configured to execute the multi-video playback method according to any one of the foregoing embodiments.
  • a sliding window may be set according to the first video to be played in multiple videos, and the sliding window includes, in addition to the first video to be played, a preset second video to be played.
  • the first to-be-played video is played as the currently-played video
  • multiple video players are used to preload the currently-played video and the preset second to-be-played video to be played.
  • the current video is finished playing, immediately switch to the next video to play and display, call the video player interface corresponding to the second video to be played in the sliding window to play the second video to be played , So as to achieve seamless switching when switching multiple videos. Therefore, without secondary encoding of the video, the splicing preview of multiple videos can be realized instantly, and the video playback does not need to be adapted and configured, and the scalability is high.
  • FIG. 1 is a flowchart of a multi-video playback method provided by an exemplary embodiment of the present application
  • FIG. 2 is a flowchart of a multi-video playback method provided by another exemplary embodiment of the present application.
  • FIG. 3 is a flowchart of a multi-video playback method provided by yet another exemplary embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a sliding window design provided by an exemplary embodiment of the present application.
  • FIG. 5 is a flowchart of playback control provided by an exemplary embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a computer device provided by an exemplary embodiment of the present application.
  • Seamless playback make the video playback in a very short time, when the user is close to no sense, switch from one video to the next for continuous playback.
  • Video editing The process of cutting and merging video sources and generating new videos with different expressions through secondary encoding.
  • the present application provides a multi-video playback method to seamlessly play back multi-video stitched after multiple video clips.
  • the following is a first introduction to the background of the multi-video playback method in this application:
  • multiple video players are used to implement preloading and playback of multiple videos.
  • the video player can use the AVPlayer player.
  • the video model as a carrier
  • the video in the sliding window is preloaded into the AVPlayer player and played at an appropriate time to achieve seamless playback of multiple videos.
  • the AVPlayer player is often used to play a single video.
  • the AVPlayerItem related to the AVPlayer player it can also be used to play multiple videos, but due to the delay of the video loading, seamless playback cannot be achieved when the video is switched.
  • multiple AVPlayer players are used to preload other upcoming videos while playing the current video.
  • control logic of this solution is relatively complex compared to the existing solutions in the system, but it is still based on the system API (Application Programming Interface), which occupies less system resources and has higher playback efficiency. It can support all IOS video devices currently on the market.
  • the playback control logic is decoupled from the video list management logic. While playing, it can support the play video list, and each video model is independent of each other. By modifying the video model, it can be easily played. Control to achieve support for video clip playback, the implementation is flexible and easy to expand.
  • the multi-video playback method may include the following steps:
  • S100 Set a sliding window according to the first video to be played among the multiple videos; the sliding window includes the first video to be played and a preset second video to be played in addition to the first video to be played.
  • the playback system includes multiple videos to be played.
  • the multiple videos may be videos used for splicing and playing after multiple video clips.
  • the first video to be played can be used as the first video to be played to establish a playback window, and a sliding window can be set according to the first video to be played.
  • the sliding window may include a first video to be played and a preset second video to be played in addition to the first video to be played.
  • the setting of the length of the sliding window mainly considers two situations: one is that the next video needs to be played seamlessly when multiple videos are played continuously, and the other is that when the user drags the playback progress bar, it may be Play the video back to the previous video. Therefore, it can be set that the sliding window includes at least three videos to be played.
  • the playback system acquires multiple video players to preload the data of each video in the sliding window, and the number of acquired video players may be equal to the number of videos in the sliding window.
  • the playback system may load and play the first video to be played through one of the acquired multiple video players, and at the same time use the acquired other video players to preset the currently unplayed in the sliding window Pre-load the second video to be played.
  • the preloading of the video may be preloading to a designated position of the corresponding video, or may be directly preloading all data of the corresponding video. It should be noted that, in this embodiment, preloading to a designated position can reduce the pressure on the playback system.
  • the video player may be an AVPlayer player
  • the playback system acquires multiple Avplayers, and uses each acquired AVPlayer player to preload the data of each video in the sliding window.
  • the playback system loads and plays the first to-be-played video through the AVPlayer player, and preloads the preset second to-be-played video that is not currently playing in the sliding window through other AVPlayer players.
  • pre-loading the preset second to-be-played video that is not currently playing may be pre-loading to a specified position of the corresponding video, or may be directly pre-loading all data of the corresponding video.
  • the playback system uses the first video to be played as the currently playing video and uses the playback window to play.
  • the currently playing video can be switched and played according to the playing situation, that is, the currently playing video is regarded as the currently playing video.
  • the playback system directly switches to the next preloaded video to be played, that is, directly switches to the second video to be played, and uses the playback window to play the video.
  • the video serves as the currently playing video.
  • the playback system receives the user's drag-and-play operation, it switches the currently playing video according to the user's drag-and-play operation.
  • the playback system When the playback system receives the user's operation that triggers the playback progress bar jump, it switches the currently playing video according to the user's operation that triggers the playback progress bar jump. In addition, when the playback time or content of the currently playing video changes, the sliding window is modified with the currently playing video as the center.
  • the operation that triggers the jump of the playback progress bar may be an operation that the user clicks the jump of the playback progress bar.
  • the method further includes: modifying the sliding window according to the playing situation of the currently playing video; or, when receiving a drag-and-play operation or an operation that triggers a jump of the playback progress bar, modify according to the received operation Sliding window. That is, in this embodiment, when the playback system plays the video normally, drags the playback video, or clicks the playback progress bar to jump the playback video, the sliding window can be modified centering on the currently playing video.
  • modifying the sliding window centering on the currently playing video may refer to always modifying the sliding window by referring to the position of the current live video in the sliding window.
  • the playback system uses the playback window to play the currently playing video. If the current playing video is detected and the video playback is switched, the video player interface corresponding to the next video to be played is called, and the playback is triggered through the video player interface The next video. It should be noted that, when the currently playing video performs video playback switching, the sliding window can move according to the currently playing video to ensure that the next playing video is located in the sliding window.
  • the call to the sliding window is switched to
  • the video player interface corresponding to the second to-be-played video plays the to-be-played second to-be-played video.
  • the video playback switching method may be that when the playback time of the currently playing video ends, the system automatically jumps to the second to-be-played video to be switched to, and may retrieve the video of the second to-be-played video to be switched to Player interface, to play the second video to be played through the video player interface.
  • the playback system receives the user's operation that triggers the playback progress bar to perform a playback jump
  • the video player interface of the second to-be-played video that is switched to can be obtained according to the user's operation of the trigger progress bar, and play The device interface realizes playing the second video to be played.
  • the video player interface of the second video to be played is obtained according to the user's drag-and-play operation, and the second player is played through the video player interface Play the video.
  • the second video to be played may be a video that has already been played, or any video that has not been played after the currently played video in the playlist.
  • step S400 includes: when the currently playing video performs video playback switching, calling the video player interface corresponding to the second to-be-played video in the sliding window to switch to the second to-be-played video Display the canvas of the video player corresponding to the video being played. In this way, it is possible to achieve seamless switching of videos by preloading other videos in the sliding window while playing the currently playing video.
  • the seamless switching of video playback can be achieved by switching the display of the canvas (CAPlayerLayer) of the AVPlayer player corresponding to the pre-loaded second video to be played, and starting playback At the same time as the second video to be played, other videos in the sliding window are preloaded.
  • a sliding window is set according to the first video to be played among the multiple videos.
  • the sliding window also includes a preset second video to be played.
  • the first to-be-played video is played as the currently-played video, and multiple video players are used to preload the currently-played video and the preset second to-be-played video.
  • the current video is finished playing, immediately switch to the next video to play and display, call the video player interface corresponding to the second to-be-played video in the sliding window to play the second to-be-played video, thereby realizing the video Seamless switching when switching playback. Therefore, without the need for secondary encoding of the video, the splicing preview of multiple videos can be realized instantly, and the video playback does not need to be adapted and configured, and the scalability is high.
  • step S200 before step S200, it further includes:
  • S120 Construct a player pool according to a preset number of video players.
  • Step S200 includes:
  • the playback system may obtain the number of videos contained in the sliding window, and set a preset number of video players according to the number of videos, where the preset number may be greater than or equal to the number of videos contained in the sliding window, to Ensure that a sufficient number of video players can be obtained from the playing pool to preload the data of each video in the sliding window.
  • the playback system may construct a player pool according to a preset number of video players, that is, the playback pool includes a preset number of video players. After that, the playback system can obtain multiple video players from the player pool and use each video player in the multiple video players to preload the data of each video in the sliding window.
  • step S300 the method further includes:
  • the playback system can monitor the currently playing video in the playing window, and can control the sliding window to move as the playing time of the currently playing video changes. That is, the sliding window can dynamically change with the playing time of the currently playing video. As the sliding window moves, the video in the sliding window moves out of the sliding window. At this time, the playback system can release the video player associated with the removed video and place the video player in the player pool.
  • step S310 it further includes: using a video player in the player pool to preload the third video to be played in the moved sliding window. Specifically, as the sliding window moves, the first to-be-played video or the second to-be-played video in the sliding window will move out of the sliding window, and the third to-be-played video is also added to the sliding window.
  • the playback system may obtain a video player from the player pool to preload the third video to be played. Specifically, the acquired video player may be used to preload the third video to be played to a specified location.
  • the third video to be played is preloaded to a designated position, and it is not necessary to load all data of the third video to be played in the preloading stage, thereby reducing the pressure on the playback system.
  • the video player corresponding to the video removed from the sliding window is released, and the released video player is placed in the player pool so that the playback system can obtain the video from the player pool
  • the player preloads the third to-be-played video, so that the video player in the player pool can be reused to preload the video in the sliding window continuously, thereby reducing the occupied resources of the system.
  • the sliding window may include currently playing video, played video, and unplayed video.
  • Step S400 includes: when it is confirmed that the trigger operation of switching to play the played video is received, use the played video as the second to-be-played video to be switched to, call a video player interface corresponding to the played video, and play The played video; when it is confirmed that the trigger operation of switching to play the unplayed video is received, use the unplayed video as the second to-be-played video to be switched to, and call the video player interface corresponding to the unplayed video To play the unplayed video.
  • the sliding window may include three types of videos: currently playing video, played video, and unplayed video.
  • the playback system when the playback system receives the user's trigger operation to switch the currently played video to the already played video, it can call the video player interface corresponding to the played video according to the received operation, and through the video player interface Realize to play the already played video.
  • the playback system receives the user's trigger operation to switch the currently played video to the unplayed video, the video player interface corresponding to the unplayed video is called according to the received operation, and the unplayed video is played through the video player interface Video.
  • the user's trigger operation may be a drag-and-play operation or an operation that triggers a jump of the playback progress bar.
  • the user drags the playback progress bar it is possible to return from the currently playing video to the previous video of the currently playing video in the playlist or directly jump to the next video of the currently playing video in the playlist.
  • the click position of the user’s click on the playback progress bar is away from the corresponding position of the currently playing video on the playback progress bar It may be closer or farther away. Therefore, when the playback system detects the user's trigger operation, it can determine the currently switched video according to the specific situation of the trigger operation.
  • the played video in the embodiment of the present application may be any video that has been played before the currently played video in the playlist, and the unplayed video may be located after the currently played video in the playlist Any video that has not been played.
  • the sliding window in this application will be described:
  • the sliding window design is shown in Figure 4 below.
  • Use three AVPlayer players with the same number of videos in the sliding window 100 to construct the player pool, and use the AVPlayer player in the player pool to preload the video in the sliding window and move the sliding window according to the current playing video. .
  • the playback system can release the video player corresponding to the currently played video and start playing the next video that has been preloaded.
  • the AVPlayer player in the player pool can be repeatedly reused to perform preloading or playing of the video in the sliding window, so that the multiple videos can be seamlessly switched and played.
  • the setting of the window size of the sliding window 100 mainly considers two cases, one case is that the next video needs to be played seamlessly when multiple videos are continuously played, and the other case is that when the user drags the playback progress bar, there are It may return from the currently playing video to the previous video of the currently playing video in the playlist. Therefore, the window size and length of the sliding window 100 can be set to 3, that is, three videos can be included in the sliding window.
  • the video player seamless switching control logic and pre-loading strategy solution are explained: when the video playback system is initialized, the first video to be played can be used as the first video to be played to establish a playback window, and according to the first Play the video preset sliding window, assign a video player to the video in the sliding window, and preload the video in the sliding window to the specified location.
  • the playback window plays the video normally, drags the playback, or clicks the progress bar to jump to the playback, the playback system can always modify the sliding window with the currently playing video as a reference.
  • the specific implementation may be as follows: assume that the videos in the sliding window are respectively played video a, currently playing video b, and unplayed video c, and the video after video c in the video list is Video d, the overall control logic is as follows:
  • step (1) start playing video c, release the AVPlayer player associated with video a to the player pool, use the free AVPlayer player in the player pool to preload video d to the specified location, and continue to refer to the step (1), (2) Circulate.
  • the playback system can analyze the videos in the playlist, the videos included in the sliding window, and Check the preload status of each video in the sliding window to ensure that the business can be executed normally.
  • the above-mentioned multi-video playback method effectively realizes seamless playback of multiple videos, including seamless normal playback, drag playback, and click-to-play progress playback.
  • You can also seamlessly preview simple video editing effects, such as specifying the video speed, rotation, cropping, etc.
  • this application can realize seamless preview of multiple videos instantly without secondary encoding of the video, and supports all IOS devices.
  • a sliding window may be set according to the first to-be-played video in multiple videos, and the sliding window includes a preset second to-be-played in addition to the first to-be-played video video.
  • the first to-be-played video is played as the currently-played video
  • multiple video players are used to preload the currently-played video and the preset second to-be-played video to be played.
  • the current video is finished playing, immediately switch to the next video to play and display, call the video player interface corresponding to the second video to be played in the sliding window to play the second video to be played , So as to achieve seamless switching when switching multiple videos. Therefore, without secondary encoding of the video, the splicing preview of multiple videos can be realized instantly, and the video playback does not need to be adapted and configured, and the scalability is high.
  • the application also provides a storage medium.
  • a computer program is stored on the storage medium; when the computer program is executed by the processor, the multi-video playback method of any of the foregoing embodiments is implemented.
  • the storage medium may be a memory.
  • Internal memory can include ROM (Read-Only Memory), PROM (Programmable ROM, programmable ROM), EPROM (Electrical PROM, electrically programmable ROM), EEPROM (Electrically Erasable PROM, electrically erasable and programmable ROM) ), flash memory, or random access memory.
  • the external memory may include hard disks, floppy disks, ZIP disks, U disks, magnetic tapes, etc.
  • the storage media disclosed in this application include but are not limited to these types of memories.
  • the memory disclosed in this application is only an example and not a limitation.
  • a computer device includes: one or more processors; memory; one or more application programs.
  • One or more application programs are stored in the memory and configured to be executed by one or more processors, and the one or more application programs are configured to execute the multi-video playback method of any of the above embodiments.
  • the computer device in this embodiment may be a server, a personal computer, and a network device.
  • the device includes devices such as a processor 603, a memory 605, an input unit 607, and a display unit 609.
  • the memory 605 may be used to store application programs 601 and various functional modules.
  • the processor 603 runs the application programs 601 stored in the memory 605, thereby executing various functional applications of the device and data processing.
  • the memory may be internal memory or external memory, or include both internal memory and external memory.
  • the internal memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or random access memory.
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM electrically programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory or random access memory.
  • the external memory may include hard disks, floppy disks, ZIP disks, U disks, magnetic tapes, etc.
  • the memories disclosed in this application include but are not limited to these types of memories.
  • the memory disclosed in this application is only an example and not a limitation.
  • the input unit 607 is used to receive an input of a signal and a keyword input by a user.
  • the input unit 607 may include a touch panel and other input devices.
  • the touch panel can collect the user's touch operations on or near it (such as the user's operation on the touch panel or near the touch panel using any suitable objects or accessories such as fingers, stylus, etc.), and according to the preset
  • the program drives the corresponding connection device; other input devices may include but are not limited to one or more of a physical keyboard, function keys (such as playback control keys, switch keys, etc.), trackball, mouse, joystick, etc.
  • the display unit 609 can be used to display information input by the user or information provided to the user and various menus of the computer device.
  • the display unit 609 may take the form of a liquid crystal display, an organic light-emitting diode, or the like.
  • the processor 603 is the control center of the computer equipment. It uses various interfaces and lines to connect the various parts of the entire computer. It runs or executes the software programs and/or modules stored in the memory 605, and calls the data stored in the memory to execute Various functions and processing data.
  • the device includes one or more processors 603, and one or more memories 605, and one or more applications 601.
  • one or more application programs 601 are stored in the memory 605 and configured to be executed by one or more processors 603, and the one or more application programs 601 are configured to execute the multi-video playback method of the above embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module.
  • the above integrated modules may be implemented in the form of hardware or software function modules. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
  • the program may be stored in a computer-readable storage medium.
  • the mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种多视频播放方法及存储介质、计算机设备,所述方法包括:根据多个视频中第一待播放视频设置滑动窗口;滑动窗口中包括第一待播放视频以及除第一待播放视频之外预设个第二待播放视频;分别使用多个视频播放器中的每个视频播放器预加载滑动窗口中每个视频的数据;播放第一待播放视频,将该第一待播放视频作为当前播放视频;当当前播放视频进行视频播放切换时,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该被切换到的第二待播放视频。上述方法无需对视频进行二次编码的情况下,可以即时实现对多视频的无缝播放以及拼接预览,无需对视频播放进行适配配置,可扩展性较高。

Description

多视频播放方法及存储介质、计算机设备
本申请要求于2018年12月7日提交的申请号为201811497837.6、发明名称为“多视频播放方法及存储介质、计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频数据处理技术领域,特别涉及一种多视频播放方法及存储介质、计算机设备。
背景技术
在短视频App(application,应用程序)中,拍客在上传视频时,为了使视频所描述的故事情节更加丰富、生动或增加视频的趣味性,需要对视频进行剪辑。对剪辑后的多段视频进行播放预览,离不开多视频的无缝播放。在现有的技术方案中,有两种典型的IOS平台中提供的对多段视频进行无缝播放的解决方案:
(1)使用AVQueuePlayer实现,通过-[AVQueuePlayer initWithItems:]或者+[AVQueuePlayer queuePlayerWithItems:]实现多个视频的连播,但此方案明显的缺点是在每段视频播放结束时会出现明显的黑屏帧,连贯性较差,与期望效果有一定差距。
(2)使用AVMutableComposition,将多段视频合并为一个AVCompositon,然后进行播放。这种实现方式使用场景有限,只适用于格式相同的视频。当视频使用不同的编码方式时,和第一段视频编码不同的视频均无法播放,。因此,使用该方式时,需要预先统一视频的编码方式,进行二次编码,无法满足短视频剪辑模式下快速的无缝播放需求。
上述两种方案灵活性较差,在预览一些基本的剪辑效果如裁剪、旋转、静音、统一视频绘制尺寸时,不能方便的进行适配,可扩展性较差。
发明内容
本申请实施例提供了一种多视频播放方法及存储介质、计算机设备,可以用于解决多视频播放时灵活性差、可扩展性差的问题。所述技术方案如下:
一个方面,提供了一种多视频播放方法,包括:根据多个视频中第一待播放视频设置滑动窗口;所述滑动窗口包括所述第一待播放视频以及除所述第一待播放视频之外预设个第二待播放视频;分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据;播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频;当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放所述被切换到的第二待播放视频。
在一实施例中,所述分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据之前,还包括:根据所述滑动窗口中视频的数量,获取预置数量的所述视频播放器,其中,所述预置数量大于或等于所述滑动窗口中包含视频的数量;根据所述预置数量的所述视频播放器构造播放器池,所述播放器池中包括所述预置数量的所述视频播放器;所述分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据,包括:从所述播放器池中获取所述多个视频播放器,分别使用所述多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据。
在一实施例中,所述播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频之后,还包括:随着所述当前播放视频的播放时间控制所述滑动窗口移动;当所述滑动窗口中的视频移出所述滑动窗口时,释放与被移出的视频关联的所述视频播放器,并将与所述被移出的视频关联的所述视频播放器放置到所述播放器池。
在一实施例中,所述随着所述当前播放视频的播放时间控制所述滑动窗口移动之后,还包括:使用所述播放器池中的视频播放器对移动后的所述滑动窗口中的第三待播放视频进行预加载。
在一实施例中,所述使用所述播放器池中的视频播放器对移动后的所述滑动窗口中的第三待播放视频进行预加载,包括:使用所述播放器池中的视频播放器将所述第三待播放视频预加载到指定位置。
在一实施例中,所述滑动窗口包括所述当前播放视频、已播放的视频以及未播放的视频;所述当所述当前播放视频进行视频播放切换时,调用所述滑动 窗口中被切换到的第二待播放视频对应的视频播放器接口,播放所述被切换到的第二待播放视频,包括:当确认接收到切换播放所述已播放的视频的触发操作时,将所述已播放的视频作为所述被切换到的第二待播放视频,调用所述已播放的视频对应的视频播放器接口,播放所述已播放的视频;当确认接收到切换播放所述未播放的视频的触发操作时,将所述未播放的视频作为所述被切换到的第二待播放视频,调用所述未播放的视频对应的视频播放器接口,播放所述未播放的视频。
在一实施例中,所述当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中所述被切换到的第二待播放视频对应的视频播放器接口,包括:当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中所述被切换到的第二待播放视频对应的视频播放器接口,切换所述被切换到的第二待播放视频对应的视频播放器的画布进行显示。
在一实施例中,所述播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频之后,还包括:根据所述当前播放视频的播放情况修改所述滑动窗口;或,当接收到拖动播放操作或触发播放进度条跳转的操作时,根据接收到的操作修改所述滑动窗口。
另一方面,提供了一种存储介质,所示存储介质上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述任一实施例所述的多视频播放方法。
另一方面,提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据上述任一实施例所述的多视频播放方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请可以根据多个视频中第一待播放视频设置滑动窗口,该滑动窗口中除了包括第一待播放视频之外,还包括预设个第二待播放视频。本方法中,将第一待播放视频作为当前播放视频进行播放,并且使用多个视频播放器对当前播放视频以及即将播放的预设个第二待播放视频进行预加载。当当前播放视频播放完毕,立即切换到下一个视频进行播放并显示时,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该被切换到的第二待播放视 频,从而实现多个视频切换播放时的无缝切换。因此,无需对视频进行二次编码的情况下,即时实现对多视频的拼接预览,无需对视频播放进行适配配置,可扩展性较高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的多视频播放方法的流程图;
图2是本申请另一个示例性实施例提供的多视频播放方法的流程图;
图3是本申请又一个示例性实施例提供的多视频播放方法的流程图;
图4是本申请一个示例性实施例提供的滑动窗口设计的结构示意图;
图5是本申请一个示例性实施例提供的播放控制的流程图;
图6是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
无缝播放:使视频播放在极短时间内,在用户接近无感的情况下,从一个 视频连贯地切换至下一个进行播放。
视频剪辑:对视频源进行切割、合并,通过二次编码,生成具有不同表现力的新视频的过程。
本申请提供一种多视频播放方法,以对多段视频剪辑后拼接的多视频进行无缝播放。以下首先对本申请中的多视频播放方法背景进行先导性说明:
本申请中使用多个视频播放器,实现对多个视频进行预加载以及播放。其中,视频播放器可以采用AVPlayer播放器。在这种情况下,以视频模型为载体,通过设置一个固定长度的滑动窗口,对滑动窗口内的视频预加载至AVPlayer播放器中,并在适当的时机进行播放,达到多视频无缝播放的目的。其中,AVPlayer播放器常用于单个视频的播放,通过改变修改AVPlayer播放器相关的AVPlayerItem也可以用于多视频的播放,但由于视频加载的延后性,在视频切换时无法做到无缝播放。为解决这个问题,使用多个AVPlayer播放器在播放当前视频的同时对其他即将播放视频进行预加载。当视频播放完毕时立即切换到下一个视频进行播放并显示,实现无缝切换效果。该方案相对于系统已有方案控制逻辑相对复杂,但仍基于系统API(Application Programming Interface,应用程序接口)实现,占用系统资源少,播放效率较高,可支持目前市面上所有的IOS视频设备。设计过程中为保证播放器灵活性,播放控制逻辑与视频列表管理逻辑解耦,在播放的同时可以支持带播放视频列表,且各个视频模型相互独立,通过对视频模型修改,可方便的进行播放控制,以达到对视频剪辑播放进行支持,实现方式灵活,容易进行拓展。
在一实施例中,如图1所示,该多视频播放方法,可以包括以下步骤:
S100,根据多个视频中第一待播放视频设置滑动窗口;滑动窗口中包括第一待播放视频以及除第一待播放视频之外预设个第二待播放视频。
在本实施例中,播放系统中包括多个即将用于播放的视频。该多个视频可以是多段视频剪辑后用于拼接播放的视频。播放系统初始化时,可以以第一个待播放视频作为第一待播放视频建立播放窗口,并且根据该第一待播放视频设置滑动窗口。滑动窗口中可包括第一待播放视频以及除第一待播放视频之外预设个第二待播放视频。其中,滑动窗口长度大小的设置主要考虑到两种情况:一种是多个视频连续播放时需要无缝播放下一个视频,另一种是考虑到用户拖 动播放进度条时,有可能从当前播放视频回到上一个视频。因此,可设置滑动窗口中至少包括三个待播放的视频。
S200,分别使用多个视频播放器中的每个视频播放器预加载滑动窗口中每个视频的数据。
在本实施例中,播放系统获取多个视频播放器,以对滑动窗口中每个视频的数据进行预加载,且获取的视频播放器的数量可以等于滑动窗口中视频的数量。
示例性地,播放系统可以通过获取的多个视频播放器中的一个视频播放器对第一待播放视频进行加载并播放,同时通过获取的其他视频播放器对滑动窗口中当前未播放的预设个第二待播放视频进行预加载。其中,对视频的预加载可以是预加载至相应视频的指定位置,也可以是直接预加载相应视频的全部数据。需要说明的是,在本实施例中,预加载至指定位置,可以减轻播放系统的压力。
示例性地,视频播放器可以是AVPlayer播放器,播放系统获取多个Avplayer,分别使用获取的每个AVPlayer播放器对滑动窗口中的每个视频的数据进行预加载。具体地,播放系统通过AVPlayer播放器对第一待播放视频进行加载并播放,同时通过其他的AVPlayer播放器对滑动窗口中当前未播放的预设个第二待播放视频进行预加载。其中,对当前未播放的预设个第二待播放视频预加载可以是预加载至相应视频的指定位置,也可以是直接预加载相应视频的全部数据。
S300,播放第一待播放视频,将第一待播放视频作为当前播放视频。
在本实施例中,播放系统将第一待播放视频作为当前播放视频,采用播放窗口进行播放。在整个多视频播放过程中,当前播放视频可以根据播放情况进行切换播放,也即是将正在播放的视频作为当前播放视频。如,当当前播放视频播放完毕时,播放系统直接切换到下一个已预加载的待播放的视频,即直接切换到待播放的第二待播放视频,采用播放窗口对该视频进行播放,将该视频作为当前播放视频。当播放系统接收到用户的拖动播放操作时,根据用户的拖动播放操作切换当前播放视频。当播放系统接收到用户的触发播放进度条跳转的操作时,根据用户的触发播放进度条跳转的操作切换当前播放视频。此外,当当前播放视频的播放时间或者播放内容发生变化时,以当前播放视频为中心 修改滑动窗口。其中,触发播放进度条跳转的操作可以为用户点击播放进度条跳转的操作。
在一实施例中,步骤S300之后,还包括:根据当前播放视频的播放情况修改滑动窗口;或,当接收到拖动播放操作或触发播放进度条跳转的操作时,根据接收到的操作修改滑动窗口。也即是,在该实施例中,当播放系统进行正常播放视频、拖动播放视频或点击播放进度条跳转播放视频时,可以以当前播放视频为中心修改滑动窗口。
需要说明的是,以当前播放视频为中心修改滑动窗口,可以是指总是将当前直播视频在滑动窗口的位置为参照来修改滑动窗口。
S400,当当前播放视频进行视频播放切换时,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该被切换到的第二待播放视频。
在本实施例中,播放系统采用播放窗口播放当前播放视频,若检测到当前播放视频进行视频播放切换时,调用即将播放的下一个视频对应的视频播放器接口,通过该视频播放器接口触发播放该下一个视频。需要说明的是,当当前播放视频进行视频播放切换时,滑动窗口可以根据当前播放视频进行移动,以保证下一个播放视频位于该滑动窗口内。当被被切换到的视频为滑动窗口中的第二待播放视频时,也即是,播放窗口中当前播放视频即将切换播放的下一个视频为第二待播放视频,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该被切换到的第二待播放视频。
其中,视频播放切换的方式,可以是随着当前播放视频的播放时间结束,系统自动跳转到被切换到的第二待播放视频时,可以调取被切换到的第二待播放视频的视频播放器接口,通过该视频播放器接口实现播放该第二待播放视频。或者,当播放系统接收到用户的触发播放进度条的操作进行播放跳转时,可以根据用户的触发进度条的操作获取被切换到的第二待播放视频的视频播放器接口,通过该视频播放器接口实现播放该第二待播放视频。或,当播放系统接收到用户的拖动播放操作时,根据用户的拖动播放操作获取被切换到的第二待播放视频的视频播放器接口,通过该视频播放器接口实现播放该第二待播放视频。此外,需要说明的是,第二待播放视频可以是已经播放过的视频,或者位于播放列表中,当前播放视频之后的任一未播放过的视频。
在一实施例中,步骤S400,包括:当当前播放视频进行视频播放切换时, 调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,切换该被切换到的第二待播放视频对应的视频播放器的画布进行显示。这样,可以通过在播放当前播放视频的同时预加载滑动窗口内的其他视频,以达到视频的无缝切换。
示例性地,当当前播放视频需要进行切换时,可以通过切换已预加载好第二待播放视频对应的AVPlayer播放器的画布(CAPlayerLayer)的显示来达到视频播放的无缝切换,并在开始播放该第二待播放视频的同时预加载滑动窗口内的其他视频。
上述实施例提供的多视频播放方法,根据多个视频中第一待播放视频设置滑动窗口,该滑动窗口中除了第一待播放视频之外,还包括预设个第二待播放视频。本方法中,将第一待播放视频作为当前播放视频进行播放,并且使用多个视频播放器对当前播放视频以及预设个第二待播放视频进行预加载。当当前播放视频播放完毕,立即切换到下一个视频进行播放并显示时,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该第二待播放视频,从而实现视频切换播放时的无缝切换。因此,在无需对视频进行二次编码的情况下,即时实现对多视频的拼接预览,无需对视频播放进行适配配置,可扩展性较高。
在一实施例中,如图2所示,步骤S200之前,还包括:
S110,根据滑动窗口中视频的数量,获取预置数量的视频播放器。
S120,根据预置数量的视频播放器构造播放器池。
步骤S200,包括:
S210,从播放器池中获取视频播放器,分别使用多个视频播放器中的每个视频播放器预加载滑动窗口中每个视频的数据。
在该实施例中,播放系统可以获取滑动窗口中包含视频的数量,根据该视频的数量设置预置数量的视频播放器,其中,预置数量可以大于或等于滑动窗口中包含视频的数量,以保证可以从播放池中获取足够数量的视频播放器,来预加载滑动窗口中每个视频的数据。播放系统可以根据预置数量的视频播放器构造播放器池,也即该播放池中包括预置数量的视频播放器。之后,播放系统可以从该播放器池中获取多个视频播放器,并分别使用该多个视频播放器中的每个视频播放器预加载滑动窗口中每个视频的数据。
在该实施例的一个实施方式中,步骤S300之后,还包括:
S310,随着当前播放视频的播放时间控制滑动窗口移动。
S320,当滑动窗口中的视频移出滑动窗口时,释放与该被移出的视频关联的视频播放器,并将与该被移出的视频关联的视频播放器放置到播放器池。
在该实施方式中,播放系统可以监控播放窗口中的当前播放视频,随着当前播放视频的播放时间的改变,可以控制滑动窗口移动。也即是,滑动窗口可以随着当前播放视频的播放时间动态变动。随着滑动窗口的移动,滑动窗口内的视频移出滑动窗口之外,此时播放系统可以释放被移出的视频关联的视频播放器,并且将该视频播放器放置于播放器池中。
进一步地,步骤S310之后,还包括:使用播放器池中的视频播放器对移动后的滑动窗口中的第三待播放视频进行预加载。具体地,随着滑动窗口的移动,滑动窗口内的第一待播放视频或者第二待播放视频将移出滑动窗口,同时滑动窗口中也加入第三待播放视频。此时,播放系统可以从播放器池中获取一个视频播放器对第三待播放视频进行预加载。具体地,可以使用获取的视频播放器将第三待播放视频预加载到指定位置。将第三待播放视频预加载到指定位置,无需在预加载阶段加载第三待播放视频的全部数据,从而减轻播放系统的压力。
因此,在该实施方式中,将滑动窗口中被移出的视频对应的视频播放器进行释放,并将释放后的视频播放器放置于播放器池中,以便播放系统可以从播放器池中获取视频播放器对第三待播放视频进行预加载,从而可以不断的复用播放器池中的视频播放器对滑动窗口中的视频进行预加载,进而减少系统的占用资源。
在该实施方式的一个实施例中,滑动窗口可以包括当前播放视频、已播放的视频以及未播放的视频。步骤S400包括:当确认接收到切换播放已播放的视频的触发操作时,将该已播放的视频作为被切换到的第二待播放视频,调用该已播放的视频对应的视频播放器接口,播放该已播放的视频;当确认接收到切换播放未播放的视频的触发操作时,将该未播放的视频作为被切换到的第二待播放视频,调用该未播放的视频对应的视频播放器接口,播放该未播放的视频。
在该实施例中,随着当前播放视频的播放时间控制滑动窗口移动之后,滑动窗口中可以包括当前播放视频、已播放的视频以及未播放的视频等三种类型的视频。此时,当播放系统接收到用户触发切换当前播放视频至已播放的视频 的触发操作时,可以根据接收到的操作调用该已播放的视频对应的视频播放器接口,并通过该视频播放器接口实现播放该已播放的视频。当播放系统接收到用户触发切换当前播放视频至未播放的视频的触发操作时,根据接收到操作调用该未播放的视频对应的视频播放器接口,并通过该视频播放器接口实现播放该未播放的视频。其中,用户的触发操作可以是拖动播放操作或触发播放进度条跳转的操作。当用户拖动播放进度条时,有可能从当前播放视频回到播放列表中当前播放视频的上一个视频或者直接跳转到播放列表中当前播放视频的后一个视频。
需要说明的是,在本申请实施例中,由于用户拖动播放的拖动幅度可能较小或者较大,用户点击播放进度条跳转的点击位置距离当前播放视频在播放进度条上对应的位置可能较近或者较远,因此,播放系统在检测到用户的触发操作时,可以根据该触发操作的具体情况来确定当前被切换到的视频。在这种情况下,本申请实施例中的已播放的视频可以是播放列表中位于当前播放视频之前的已经播放完成的任一个视频,未播放的视频可以是播放列表中位于当前播放视频之后的任一个还未播放的视频。
为了进一步说明上述任一实施例的多视频播放方法,以下给出一个具体实施方式,以对该多视频播放方法进行详细说明:
首先对本申请中的滑动窗口进行说明:本申请中,滑动窗口设计如下图4所示。播放列表10中共有9个待播放的视频,设置一个长度为3的滑动窗口100(当总视频个数少于3时窗口大小为视频个数),如虚线中所示,滑动窗口100中包括3个视频,分别为一个已播放的视频、当前播放视频、一个未播放的视频。播放窗口1000中播放当前播放视频。使用与滑动窗口100中视频数量相同的3个AVPlayer播放器构造播放器池,同时使用播放器池中的AVPlayer播放器预加载滑动窗口内的视频,并随着当前播放视频的播放情况移动滑动窗口。假设播放系统正常播放视频,当当前播放视频播放结束时,播放系统可以释放该当前播放视频对应的视频播放器,并开始播放已预加载的下一个视频。这样,可以通过不断复用播放器池中AVPlayer播放器进行对滑动窗口内的视频执行预加载或播放,以使该多个视频可以无缝切换播放。其中,滑动窗口100的窗口大小的设置主要考虑到两种情况,一种情况是多视频连续播放时需要无缝播放下一个视频,另一种情况是考虑到用户拖动播放进度条时,有可能从当前播放 视频回到播放列表中当前播放视频的上一个视频。因此,可设置滑动窗口100的窗口大小长度为3,也即是滑动窗口内可以包括三个视频。
其次,对视频播放器无缝切换控制逻辑及预加载策略方案进行说明:视频播放系统初始化时,可以以第一个待播放的视频作为第一待播放视频建立播放窗口,并根据该第一待播放视频预设滑动窗口,为滑动窗口内的视频分配视频播放器,并对滑动窗口内的视频预加载至指定位置。当播放窗口对视频进行正常播放、拖动播放或点击进度条跳转播放时,播放系统可以总以当前播放视频为参考修改滑动窗口。当当前播放视频需要进行切换时,通过显示已预加载好的第二待播放视频对应的AVPlayer播放器的画布(CAPlayerLayer)来达到无缝切换的目的,并修改滑动窗口,在开始播放该视频的同时预加载滑动窗口内的其他视频,其流程图如图5所示。
示例性地,以顺序播放为例,具体实现可以为:假定滑动窗口内的视频依次分别为已播放的视频a、当前播放视频b、未播放的视频c,视频列表中视频c后的视频为视频d,整体控制逻辑如下:
(1)当前开始播放视频b时,预加载下一个视频c至指定位置;
(2)当视频b播放结束时,播放窗口中的画面停留在视频b的最后一帧图像,滑动窗口后移,准备播放已预加载的视频c,此时,视频a移出滑动窗口;
(3)参照步骤(1),开始播放视频c,释放与视频a关联的AVPlayer播放器到播放器池中,使用播放器池中空闲的AVPlayer播放器预加载视频d至指定位置,继续参照步骤(1)、(2)进行循环。
除上述之外,还包括拖动播放进度条进行无缝跳转播放和点击跳转到指定视频进行无缝切换。在实际的应用场景中,考虑到待播放的视频队列具有可变性,如插入或删除视频等,为充分保证方案的可靠性,播放系统可以对播放列表中的视频、滑动窗口内包括的视频以及滑动窗口内每个视频的预加载情况进行检查,以确保业务能够被正常执行。
因此,上述多视频播放方法有效实现了多视频无缝播放,其中包含无缝地正常播放、拖动播放及点击切换进度播放等。还可以对简单的视频剪辑效果进行无缝预览,如指定视频快慢速、旋转、裁剪等。且本申请能够在不进行对视频二次编码的情况下,即时的实现对多视频的无缝预览,且支持所有的IOS设备。
综上所述,在本申请实施例中,可以根据多个视频中第一待播放视频设置滑动窗口,该滑动窗口中除了包括第一待播放视频之外,还包括预设个第二待播放视频。本方法中,将第一待播放视频作为当前播放视频进行播放,并且使用多个视频播放器对当前播放视频以及即将播放的预设个第二待播放视频进行预加载。当当前播放视频播放完毕,立即切换到下一个视频进行播放并显示时,调用滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放该被切换到的第二待播放视频,从而实现多个视频切换播放时的无缝切换。因此,无需对视频进行二次编码的情况下,即时实现对多视频的拼接预览,无需对视频播放进行适配配置,可扩展性较高。
本申请还提供一种存储介质。该存储介质上存储有计算机程序;计算机程序被处理器执行时,实现上述任一实施例的多视频播放方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable ROM,可编程ROM)、EPROM(Electrical PROM,电可编程ROM)、EEPROM(Electrically Erasable PROM,电可擦写可编程ROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储介质包括但不限于这些类型的存储器。本申请所公开的存储器只作为例子而非作为限定。
本申请还提供一种计算机设备。一种计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序。其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述任一实施例的多视频播放方法。
图6为本申请一实施例中的计算机设备的结构示意图。本实施例计算机设备可以是服务器、个人计算机以及网络设备。如图6所示,设备包括处理器603、存储器605、输入单元607以及显示单元609等器件。本领域技术人员可以理解,图6示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器605可用于存储应用程序601以及各功能模块,处理器603运行存储在存储器605的应用程序601,从而执行设备的 各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储器包括但不限于这些类型的存储器。本申请所公开的存储器只作为例子而非作为限定。
输入单元607用于接收信号的输入,以及接收用户输入的关键字。输入单元607可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元609可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元609可采用液晶显示器、有机发光二极管等形式。处理器603是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器605内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器603,以及一个或多个存储器605,一个或多个应用程序601。其中,一个或多个应用程序601被存储在存储器605中并被配置为由一个或多个处理器603执行,一个或多个应用程序601配置用于执行以上实施例的多视频播放方法。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或 光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

  1. 一种多视频播放方法,其特征在于,包括:
    根据多个视频中第一待播放视频设置滑动窗口;所述滑动窗口包括所述第一待播放视频以及除所述第一待播放视频之外预设个第二待播放视频;
    分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据;
    播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频;
    当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放所述被切换到的第二待播放视频。
  2. 根据权利要求1所述的方法,其特征在于,所述分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据之前,还包括:
    根据所述滑动窗口中视频的数量,获取预置数量的所述视频播放器,其中,所述预置数量大于或等于所述滑动窗口中包含视频的数量;
    根据所述预置数量的所述视频播放器构造播放器池,所述播放器池中包括所述预置数量的所述视频播放器;
    所述分别使用多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据,包括:
    从所述播放器池中获取所述多个视频播放器,分别使用所述多个视频播放器中的每个视频播放器预加载所述滑动窗口中每个视频的数据。
  3. 根据权利要求2所述的方法,其特征在于,所述播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频之后,还包括:
    随着所述当前播放视频的播放时间控制所述滑动窗口移动;
    当所述滑动窗口中的视频移出所述滑动窗口时,释放与被移出的视频关联的所述视频播放器,并将与所述被移出的视频关联的所述视频播放器放置到所述播放器池。
  4. 根据权利要求3所述的方法,其特征在于,所述随着所述当前播放视频的播放时间控制所述滑动窗口移动之后,还包括:
    使用所述播放器池中的视频播放器对移动后的所述滑动窗口中的第三待播放视频进行预加载。
  5. 根据权利要求4所述的方法,其特征在于,所述使用所述播放器池中的视频播放器对移动后的所述滑动窗口中的第三待播放视频进行预加载,包括:
    使用所述播放器池中的视频播放器将所述第三待播放视频预加载到指定位置。
  6. 根据权利要求1-5任一所述的方法,其特征在于,所述滑动窗口包括所述当前播放视频、已播放的视频以及未播放的视频;所述当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中被切换到的第二待播放视频对应的视频播放器接口,播放所述被切换到的第二待播放视频,包括:
    当确认接收到切换播放所述已播放的视频的触发操作时,将所述已播放的视频作为所述被切换到的第二待播放视频,调用所述已播放的视频对应的视频播放器接口,播放所述已播放的视频;
    当确认接收到切换播放所述未播放的视频的触发操作时,将所述未播放的视频作为所述被切换到的第二待播放视频,调用所述未播放的视频对应的视频播放器接口,播放所述未播放的视频。
  7. 根据权利要求1-5任一所述的方法,其特征在于,所述当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中被切换到第二待播放视频对应的视频播放器接口,包括:
    当所述当前播放视频进行视频播放切换时,调用所述滑动窗口中所述被切换到的第二待播放视频对应的视频播放器接口,切换所述被切换到的第二待播放视频对应的视频播放器的画布进行显示。
  8. 根据权利要求1-5任一所述的方法,其特征在于,所述播放所述第一待播放视频,将所述第一待播放视频作为当前播放视频之后,还包括:
    根据所述当前播放视频的播放情况修改所述滑动窗口;或,
    当接收到拖动播放操作或触发播放进度条跳转的操作时,根据接收到的操作修改所述滑动窗口。
  9. 一种存储介质,其特征在于,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述权利要求1至8中任一项所述的多视频播放方法。
  10. 一种计算机设备,其特征在于,其包括:
    一个或多个处理器;
    存储器;
    一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至8任一项所述的多视频播放方法。
PCT/CN2019/113600 2018-12-07 2019-10-28 多视频播放方法及存储介质、计算机设备 Ceased WO2020114146A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2021118948A RU2762399C1 (ru) 2018-12-07 2019-10-28 Способ воспроизведения нескольких видео, носитель данных и компьютерное устройство
US17/299,184 US11627357B2 (en) 2018-12-07 2019-10-28 Method for playing a plurality of videos, storage medium and computer device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811497837.6A CN109688473B (zh) 2018-12-07 2018-12-07 多视频播放方法及存储介质、计算机设备
CN201811497837.6 2018-12-07

Publications (1)

Publication Number Publication Date
WO2020114146A1 true WO2020114146A1 (zh) 2020-06-11

Family

ID=66187152

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/113600 Ceased WO2020114146A1 (zh) 2018-12-07 2019-10-28 多视频播放方法及存储介质、计算机设备

Country Status (4)

Country Link
US (1) US11627357B2 (zh)
CN (1) CN109688473B (zh)
RU (1) RU2762399C1 (zh)
WO (1) WO2020114146A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688473B (zh) * 2018-12-07 2020-12-22 广州市百果园信息技术有限公司 多视频播放方法及存储介质、计算机设备
CN109862387A (zh) * 2019-03-28 2019-06-07 北京达佳互联信息技术有限公司 直播的回看视频生成方法、装置及设备
CN111954068B (zh) * 2019-05-14 2023-01-24 阿里巴巴集团控股有限公司 用于视频清晰度切换的方法、设备及电子设备
CN110149539A (zh) * 2019-05-21 2019-08-20 北京字节跳动网络技术有限公司 多媒体文件播放方法、装置、电子设备和存储介质
CN110087115A (zh) * 2019-05-27 2019-08-02 北京奇艺世纪科技有限公司 一种视频播放器控制方法、装置及相关设备
CN110162394B (zh) * 2019-05-31 2022-09-23 北京字节跳动网络技术有限公司 媒体对象的播放方法、装置、电子设备及存储介质
CN110784750B (zh) * 2019-08-13 2022-11-11 腾讯科技(深圳)有限公司 视频播放方法、装置及计算机设备
CN110691282B (zh) 2019-10-16 2021-11-02 北京字节跳动网络技术有限公司 视频处理方法、装置、存储介质及电子设备
CN110636366A (zh) * 2019-10-25 2019-12-31 百度在线网络技术(北京)有限公司 视频的播放处理方法、装置、电子设备和介质
CN112887797B (zh) * 2019-11-29 2022-12-20 腾讯科技(深圳)有限公司 控制视频播放的方法及相关设备
CN110913257A (zh) * 2019-11-29 2020-03-24 广州市百果园信息技术有限公司 视频数据播放方法、装置、设备和存储介质
US11956482B2 (en) * 2020-07-16 2024-04-09 Comcast Cable Communications, Llc Systems and methods for storing and delivering content assets
CN111935543A (zh) * 2020-09-09 2020-11-13 北京搜狐新动力信息技术有限公司 视频的播放方法、装置、电子设备及计算机存储介质
CN114915849B (zh) 2021-02-10 2023-06-13 北京字跳网络技术有限公司 视频的预加载方法、装置、设备和介质
CN115134651B (zh) * 2021-03-25 2025-07-08 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN113259744B (zh) * 2021-05-13 2023-08-01 北京字跳网络技术有限公司 视频的展示方法、装置、设备及介质
CN114025218B (zh) * 2021-09-14 2024-04-02 百果园技术(新加坡)有限公司 一种卡片式视频交互方法、装置、设备及存储介质
CN114125560B (zh) * 2021-11-23 2025-01-14 抖音视界有限公司 一种视频播放方法、装置、电子设备及存储介质
US20230217086A1 (en) * 2021-12-30 2023-07-06 Interwise Ltd. Providing and Using a Branching Narrative Content Service
JP7483775B2 (ja) * 2022-03-08 2024-05-15 本田技研工業株式会社 アプリケーションプログラム、端末装置の制御方法、コンテンツ提供装置、およびコンテンツ提供方法
CN115086775A (zh) * 2022-06-10 2022-09-20 北京字跳网络技术有限公司 一种视频显示方法及装置
EP4537308A1 (en) * 2022-06-13 2025-04-16 Timecap LLC Cloud-based shareable media platform
CN115297279A (zh) * 2022-08-02 2022-11-04 广州市拼响天空文化科技有限公司 一种去除延时的视频播放方法及系统
US12190915B2 (en) * 2022-12-03 2025-01-07 Synamedia Limited Common timeline processing for unique manifests
CN116744053A (zh) * 2023-06-27 2023-09-12 中国建设银行股份有限公司 一种视频数据处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368734A1 (en) * 2013-06-17 2014-12-18 Spotify Ab System and method for switching between media streams while providing a seamless user experience
CN105898625A (zh) * 2016-04-29 2016-08-24 腾讯科技(深圳)有限公司 一种播放处理方法及终端设备
CN105898528A (zh) * 2015-12-02 2016-08-24 乐视网信息技术(北京)股份有限公司 基于安卓平台的多媒体处理方法、装置及移动终端设备
CN107071549A (zh) * 2017-05-05 2017-08-18 深圳Tcl数字技术有限公司 单解码器下多播放器快速切换方法、装置及存储介质
US10021464B2 (en) * 2016-10-25 2018-07-10 Aether, Inc. Video content switching and synchronization system and method for switching between multiple video formats
CN109688473A (zh) * 2018-12-07 2019-04-26 广州市百果园信息技术有限公司 多视频播放方法及存储介质、计算机设备

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313808B1 (en) * 1999-07-08 2007-12-25 Microsoft Corporation Browsing continuous multimedia content
CA2666635C (en) * 2001-02-21 2016-03-22 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US7149755B2 (en) * 2002-07-29 2006-12-12 Hewlett-Packard Development Company, Lp. Presenting a collection of media objects
US8832758B2 (en) * 2003-03-17 2014-09-09 Qwest Communications International Inc. Methods and systems for providing video on demand
US20070157281A1 (en) * 2005-12-23 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
KR100827129B1 (ko) * 2006-10-28 2008-05-02 삼성전자주식회사 미디어 컨텐츠의 부가정보 제공 장치 및 방법
US20090158214A1 (en) * 2007-12-13 2009-06-18 Nokia Corporation System, Method, Apparatus and Computer Program Product for Providing Presentation of Content Items of a Media Collection
US8365235B2 (en) * 2007-12-18 2013-01-29 Netflix, Inc. Trick play of streaming media
US9185351B2 (en) * 2008-01-09 2015-11-10 Harmonic, Inc. Browsing and viewing video assets using TV set-top box
US10049379B2 (en) * 2009-06-12 2018-08-14 Rentrak Corporation Quantitative branding analysis
US20120047119A1 (en) * 2009-07-21 2012-02-23 Porto Technology, Llc System and method for creating and navigating annotated hyperlinks between video segments
US8229287B1 (en) * 2009-08-31 2012-07-24 Adobe Systems Incorporated Multi-modal method for dynamically abridging and expanding media content
US20110078717A1 (en) * 2009-09-29 2011-03-31 Rovi Technologies Corporation System for notifying a community of interested users about programs or segments
GB2477800A (en) * 2010-02-16 2011-08-17 Nds Ltd Video trick mode playback
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8787618B2 (en) * 2010-04-13 2014-07-22 Sony Corporation Content information processing device, content information processing method, content information processing program, and personal digital assistant
US8683337B2 (en) * 2010-06-09 2014-03-25 Microsoft Corporation Seamless playback of composite media
JP2011259365A (ja) * 2010-06-11 2011-12-22 Sony Corp カメラシステム、映像選択装置及び映像選択方法
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
KR20130069041A (ko) * 2011-12-16 2013-06-26 삼성전자주식회사 디스플레이 장치 및 방법
US8887215B2 (en) * 2012-06-11 2014-11-11 Rgb Networks, Inc. Targeted high-value content in HTTP streaming video on demand
JP5979483B2 (ja) * 2012-06-25 2016-08-24 パナソニックIpマネジメント株式会社 コンテンツ再生装置、コンテンツ再生システム、及びコンテンツ再生方法
US20140129618A1 (en) * 2012-11-08 2014-05-08 General Instrument Corporation Method of streaming multimedia data over a network
US9317188B2 (en) * 2013-03-15 2016-04-19 Arris Enterprises, Inc. Devices and methods for providing navigation images associated with adaptive bit rate video content
US9584557B2 (en) * 2013-03-15 2017-02-28 Arris Enterprises, Inc. Proxy for facilitating streaming of media from server to client
KR102040611B1 (ko) 2013-05-31 2019-11-05 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
CN104469433B (zh) * 2013-09-13 2018-09-07 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
CN103616991A (zh) * 2013-11-29 2014-03-05 乐视网信息技术(北京)股份有限公司 一种浮窗播放器多媒体预加载的方法及装置
US9792026B2 (en) * 2014-04-10 2017-10-17 JBF Interlude 2009 LTD Dynamic timeline for branched video
US20150325268A1 (en) * 2014-05-12 2015-11-12 Penthera Partners, Inc. Downloading videos with commercials to mobile devices
KR20160014226A (ko) * 2014-07-29 2016-02-11 엘지전자 주식회사 이동단말기 및 그 제어방법
US9930405B2 (en) * 2014-09-30 2018-03-27 Rovi Guides, Inc. Systems and methods for presenting user selected scenes
US20160345074A1 (en) * 2015-05-21 2016-11-24 Viviso Inc. Apparatus and Method for Replacing Conventional Commercials with Targeted Advertisements in Online Live Streams
CN105451079A (zh) * 2015-11-23 2016-03-30 深圳市芯智科技有限公司 一种在广告机上实现多个视频节目源无缝播放的方法
KR101998303B1 (ko) * 2015-12-08 2019-10-01 네이버 주식회사 타임머신 기능을 위한 슬라이딩 윈도우 관리 방법 및 시스템
JP6920578B2 (ja) * 2016-03-02 2021-08-18 パナソニックIpマネジメント株式会社 映像ストリーミング装置、映像編集装置および映像配信システム
US10009659B2 (en) * 2016-03-31 2018-06-26 Disney Enterprises, Inc. System and method for hybrid push-based streaming
FR3052008A1 (fr) * 2016-05-27 2017-12-01 Orange Navigation dans une pluralite de contenus video
US11089373B2 (en) * 2016-12-29 2021-08-10 Sling Media Pvt Ltd Seek with thumbnail generation and display during placeshifting session
US11025998B2 (en) * 2017-11-27 2021-06-01 Rovi Guides, Inc. Systems and methods for dynamically extending or shortening segments in a playlist
US10257578B1 (en) * 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140368734A1 (en) * 2013-06-17 2014-12-18 Spotify Ab System and method for switching between media streams while providing a seamless user experience
CN105898528A (zh) * 2015-12-02 2016-08-24 乐视网信息技术(北京)股份有限公司 基于安卓平台的多媒体处理方法、装置及移动终端设备
CN105898625A (zh) * 2016-04-29 2016-08-24 腾讯科技(深圳)有限公司 一种播放处理方法及终端设备
US10021464B2 (en) * 2016-10-25 2018-07-10 Aether, Inc. Video content switching and synchronization system and method for switching between multiple video formats
CN107071549A (zh) * 2017-05-05 2017-08-18 深圳Tcl数字技术有限公司 单解码器下多播放器快速切换方法、装置及存储介质
CN109688473A (zh) * 2018-12-07 2019-04-26 广州市百果园信息技术有限公司 多视频播放方法及存储介质、计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIANGWEI LIU: "P4P-based System for Streaming Media On-demand Research and Implementation", MASTER THESIS, no. 7, 15 July 2012 (2012-07-15), pages 1 - 75, XP009521589 *
YIGUI HUANG ET AL: "Research of Self-Adjust Size of Sliding Window Model in P2P-Based VoD System", COMPUTER TECHNOLOGY AND DEVELOPMENT, vol. 20, no. 5, 31 May 2010 (2010-05-31), pages 21 - 25, XP009521590, ISSN: 1673-629X *

Also Published As

Publication number Publication date
RU2762399C1 (ru) 2021-12-21
US20220078500A1 (en) 2022-03-10
US11627357B2 (en) 2023-04-11
CN109688473B (zh) 2020-12-22
CN109688473A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
WO2020114146A1 (zh) 多视频播放方法及存储介质、计算机设备
US10972682B1 (en) System and method for adding virtual audio stickers to videos
KR102350329B1 (ko) 전화 통화 동안의 실시간 공유 기법
US9258524B2 (en) Streaming playback within a live video conference
US9558162B2 (en) Dynamic multimedia pairing
US9519420B2 (en) Apparatus and method for editing synchronous media
US20160342319A1 (en) Method and device for previewing and displaying multimedia streaming data
US20150302889A1 (en) Method for editing motion picture, terminal for same and recording medium
US11295782B2 (en) Timed elements in video clips
US20130272673A1 (en) System and method for guided video creation
WO2017058443A1 (en) Shared content presentation with integrated messaging
US12462843B2 (en) Systems for optimized presentation capture
US20190214055A1 (en) Methods and systems for creating seamless interactive video content
JP7747411B2 (ja) マルチメディアリソースクリップシナリオ用の方法、装置、機器及び記憶媒体
WO2022062921A1 (zh) 应用程序的启动及存档方法、装置、设备及存储介质
WO2025118749A1 (zh) 视频编辑方法、装置、电子设备和存储介质
CN116261012A (zh) 一种视频编辑模板的生成方法、装置、设备及存储介质
US10783319B2 (en) Methods and systems of creation and review of media annotations
JP7671927B2 (ja) コンテンツ撮影のための方法、装置、デバイス、及び記憶媒体
WO2025201025A1 (zh) 用于内容拍摄的方法、装置、设备和存储介质
JP6474728B2 (ja) 増強された情報収集環境
US11636253B2 (en) Method, system, and non-transitory computer readable recording medium for writing memo for audio file through linkage between app and web
CN115883892B (zh) 投屏控制方法及装置
CN113038260B (zh) 音乐的延长方法、装置、电子设备和存储介质
WO2007005746A2 (en) Systems and methods for presenting with a loop

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: 19892267

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19892267

Country of ref document: EP

Kind code of ref document: A1