Video playback method, apparatus, and storage medium

JP7686804B2Active Publication Date: 2025-06-02FUTU NETWORK TECH (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023580935
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-13
Filing Date
2022-06-21
Publication Date
2025-06-02
Estimated Expiration
2042-06-21

AI Technical Summary

Technical Problem

Current video components in client applications provide basic logic, requiring users to implement UI and functions themselves, leading to complex operations and a suboptimal user experience.

Method used

A video playback method and device that includes a video component capable of multiplexing video streams, encapsulating small window and full screen functions, and synchronizing playback progress across different views, allowing seamless transitions and simplified user interactions.

Benefits of technology

Reduces operational complexity and enhances user convenience by enabling easy switching between small window and full screen playback modes, while maintaining synchronized playback progress across video feeds and details pages.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000029_0000
    Figure 00000029_0000
  • Figure 00000030_0000
    Figure 00000030_0000
  • Figure 00000030_0001
    Figure 00000030_0001
Patent Text Reader

Abstract

The present application discloses a video playback method, device, and storage medium, which includes the steps of calling a video component in response to a playback command for a target video; querying a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component, and playing the target video according to the first video stream, wherein the video stream played by the video component is stored in the video stream multiplexing pool; when playing the target video, synchronizing a progress of playback of the target video in the video feed list with a progress of playback of the target video in the video details page; and in response to a touch operation on a small window button, a small window control displays the target video, or in response to a touch operation on a full screen button, displaying the target video in full screen.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to Chinese patent application number "202110789130.8", filed on July 13, 2021, entitled "Video Playback Method, Apparatus, and Storage Medium", the entire contents of which are incorporated herein by reference.

[0002] The present application relates to the field of computer technology, and in particular to an image processing method, device, and storage medium. [Background technology]

[0003] Currently, client applications are configured with video components, but the video components currently available on the market only provide basic logic and require users to implement the UI and functions themselves, making it difficult to implement video multiplexing, and making the user usage process relatively complicated and the operation relatively complex, which affects the user experience. Summary of the Invention

[0004] SUMMARY OF THE PREFERRED EMBODIMENTS The embodiments of the present invention provide a video playback method, device and storage medium that can realize video multiplexing, improve the functional diversity of video components, and reduce the operational complexity.

[0005] According to a first aspect, there is provided a video playback method applied to a client in which a video component is arranged, the video playback method including the steps of: calling the video component in response to a playback command for a target video; querying a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component, and playing the target video according to the first video stream, wherein the video stream played by the video component is stored in the video stream multiplexing pool; synchronizing a progress of playback of the target video in a video feed list with a progress of playback of the target video in a video detail page when playing the target video; and controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, or controlling a full screen control on the video component to display the target video in response to a touch operation on a full screen button on the video component.

[0006] According to a second aspect, there is provided a video playback device applicable to a client in which a video component is arranged, the video playback device including: a calling module for calling the video component in response to a playback command for a target video; a playback module for querying a first video stream identical to the target video from a video stream multiplexing pool corresponding to the video component and playing the target video according to the first video stream, the video stream played by the video component being stored in the video stream multiplexing pool; a synchronization module for synchronizing a progress of playback of the target video in a video feed list with a progress of playback of the target video in a video detail page when playing the target video; and a control module for controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, or for controlling a full screen control on the video component to display the target video in response to a touch operation on a full screen button on the video component.

[0007] According to a third aspect, there is provided a computer-readable storage medium storing a computer program suitable for being loaded by a processor to perform steps in the video reproducing method according to the first aspect.

[0008] According to a fourth aspect, there is provided a terminal device including a processor and a memory in which a computer program is stored, wherein the processor executes steps in the video playback method described in the first aspect by calling up the computer program stored in the memory.

[0009] According to an embodiment of the present application, a video playback method, device, and storage medium are provided, which are applied to a client in which a video component is located, and in response to a playback command for a target video, the video component is called, a first video stream identical to the target video is retrieved from a video stream multiplexing pool corresponding to the video component, and the target video is played according to the first video stream, and the video stream played by the video component is stored in the video stream multiplexing pool, and when playing the target video, the progress of playback of the target video in the video feed list is synchronized with the progress of playback of the target video in the video detail page, and in response to a touch operation on a small window button on the video component, the small window control of the video component is controlled to display and play the target video, or in response to a touch operation on a full screen button on the video component, the full screen control on the video component is controlled to display the target video. The embodiments of the present application can realize video multiplexing based on a video component that is directly called by a playback command, encapsulate small window and full screen functions within the video component, improve the functional diversity of the video component, and allow the user to realize small window playback or full screen playback by simply clicking the small window button or full screen button, thereby reducing the complexity of operations and improving the convenience of users who use the video component. [Brief description of the drawings]

[0010] [Figure 1] 2 is a schematic diagram showing the structure of a video component provided by an embodiment of the present application; [Diagram 2] FIG. 2 is a schematic diagram illustrating the flow of a video playback method provided by an embodiment of the present application. [Diagram 3] FIG. 2 is a schematic diagram illustrating an application scenario of focus management provided by an embodiment of the present application; [Figure 4]FIG. 2 is a schematic diagram showing an application scenario of small window portrait screen playback provided by an embodiment of the present application; [Diagram 5] FIG. 2 is a schematic diagram showing an application scenario of small window landscape screen playback provided by an embodiment of the present application; [Figure 6] FIG. 2 is a schematic diagram illustrating an interactive scenario of small window playback provided by an embodiment of the present application. [Figure 7] FIG. 2 is a schematic diagram illustrating an application scenario of the regeneration scheme provided by an embodiment of the present application; [Figure 8] FIG. 2 is a schematic diagram illustrating an application scenario of Mode 1 provided by an embodiment of the present application. [Figure 9] 1 is a component specification information table for mode 1 provided by an embodiment of the present application. [Figure 10] FIG. 2 is a schematic diagram illustrating an application scenario of Mode 2 provided by an embodiment of the present application. [Figure 11] 1 is a component specification information table for Mode 2 provided by an embodiment of the present application. [Figure 12] FIG. 2 is a schematic diagram illustrating an application scenario of Mode 3 provided by an embodiment of the present application. [Figure 13] 1 is a component specification information table for Mode 3 provided by an embodiment of the present application. [Figure 14] FIG. 2 is a schematic diagram illustrating an application scenario of Mode 4 provided by an embodiment of the present application. [Figure 15] 1 is a component specification information table of Mode 4 provided by an embodiment of the present application. [Figure 16] FIG. 2 is a schematic diagram illustrating an application scenario of the small window mode provided by an embodiment of the present application. [Figure 17] 1 is a component specification information table of a small window mode provided by an embodiment of the present application. [Figure 18] FIG. 2 is a schematic diagram showing the structure of a video playback device provided by an embodiment of the present application; [Figure 19] FIG. 2 is a schematic diagram showing the structure of a terminal device provided by an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, the technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application, but it is clear that the described embodiments are only some of the embodiments of the present application, and are not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative labor fall within the scope of protection of the present application.

[0012] An embodiment of the present application provides a video playback method, device, and storage medium. Specifically, the video playback method according to the embodiment of the present application can be executed by a terminal device, which may be a device such as a terminal or a server. The terminal may be a terminal device such as a smartphone, a tablet, a laptop, a touch screen, a game console, a personal computer (PC), or a personal digital assistant (PDA). The server may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery network services, big data, and artificial intelligence platforms, but is not limited thereto.

[0013] Each of the embodiments will be described in detail below. Note that the order of description of the embodiments below does not limit the priority of the embodiments.

[0014] Each embodiment of the present application provides a video playback method, which may be performed by a terminal or a server, or may be performed jointly by a terminal and a server. In the embodiments of the present application, the video playback method is described as being performed by a terminal.

[0015] Referring to Fig. 1, Fig. 1 is a schematic diagram showing the structure of a video component provided by an embodiment of the present application. The video component 100 provided by an embodiment of the present application mainly includes a video playback layer 110 and a playback control view layer 120.

[0016] Here, the video playback layer 110 is used to monitor the status callback of the SDK and update the UI state of the playback control view layer. For example, the video playback layer 110 may include a video playback layer realization class 111 and a video playback layer abstraction interface 112. Video playback is realized by the video playback layer realization class 111, and the playback control view layer 120 is operated and controlled by the video playback layer abstraction interface 112.

[0017] For example, the video playback layer 110 realizes a video tool SDK processor (VideoSDKProcessor) class 131 that encapsulates the video SDK of the base layer inside. When the video SDK issues an event change notification, it is called back to the video playback layer via an interface, for example, via an SDK event monitor interface (ITXVodPlayListener) 132 to the video playback layer 110. For example, the VideoSDK is used to provide services to mobile terminal applications of Internet video, and includes functions such as audio and video shooting, special effects editing, and human facial beautification, helping developers save on labor and material costs while meeting the diverse needs of users. It simplifies the development work of developers and helps them build and quickly put their business online.

[0018] The playback control view layer 120 includes a playback control view layer realization class 121 and a playback control view layer abstract interface 122. The UI control for the playback control view layer 120 may be realized by the playback control view layer realization class 121. For example, the playback control view layer 120 realizes a video production tool operation plug-in (IVideoOperateWidget) interface, which is an abstract interface 122 of the playback control view layer, the video playback layer abstract interface (IVideoOperateListener) 112 holds an IVideoOperateWidget object, and the video playback layer 110 operates and controls the playback control view layer through the IVideoOperateWidget object held by the video playback layer abstract interface 112. IVideo is an interactive video production tool with powerful functions and easy operation. Based on video resources, IVideo can greatly add interactive content, such as text, images, hyperlinks, video, audio, and interactive game components.

[0019] Here, when the user operates the UI control of the playback control view layer 120, the state of the video playback layer 110 is updated according to the operation command by the user's UI control acting on the playback control view layer 120. For example, the video playback layer 110 realizes a video production tool plug-in (IVideoWidget) interface, and when the playback control view layer 120 is added to the video playback layer 110, VideoWidget is introduced. The playback control view layer 120 holds the realization of IVideoWidget, and at this time, IVideoWidget is an abstraction of the video playback layer 110. Then, any operation by the user on the playback control view layer 120 is called back to the video playback layer 110 via the IVideoWidget interface.

[0020] Here, the video component 100 can also internally monitor network changes and process logic corresponding to the network changes. For example, the video component 100 also includes a network monitor interface (NetworkEventProcessor) 140 connected to the video playback layer 110. For example, network changes can be monitored via the network monitor interface 140, and the network monitor interface 141 of the video component 100 can record network types such as NONE (0), WIFI (1), MOLBILE (2), etc. For example, when a change in the network status is monitored from the network monitor interface 140, the video component 100 pops up presentation information to alert the user to the change in the network status.

[0021] Here, the video component 100 can perform focus management. For example, focus is a gathering point, and for example, audio focus is an audio sound that the user can hear. Android devices are set by default to play many sounds at the same time, but adding a focus mechanism allows for more orderly sound management and improves the user experience. For example, a complete focus management layer 150 is encapsulated within the video component 100, and the focus management layer 150 can react to internal videos and external audio videos. This partial logic does not need to be manually implemented by the user. For example, the focus management layer 150 can include a focus monitor interface (OnAudioFocusChangeListener) 151 and an internal focus monitor interface (IVideoMediaEventForceListener) 152. The focus monitor interface 151 and the internal focus monitor interface 152 are both connected to the video playback layer 110. Here, OnAudioFocusChangeListener and IVideoMediaEventForceListener belong to the AudioManager class.

[0022] For example, focus changes can be monitored by focus management layer 150 such that video component 100 processes logic to respond to focus changes. For example, if focus management layer 150 monitors that video focus has been preempted by other audio video, video component 100 automatically processes the pause logic.

[0023] For example, when a focus preemption notification is received, the source of focus can be determined based on business needs. Specifically, focus monitor interface 151 of focus management layer 150 can be used to monitor third parties, but internal focus monitor interface 152 can still be used to send and handle focus events after focus monitor interface 151 monitors the focus events.

[0024] Here, in an Android device, when a user opens and plays a video component in a current APP, the developer can call the requestAudioFocus method of the AudioManager class to send a focus notification indicating that the current APP is about to start playing audio, and the remaining APPs can monitor this focus notification through the OnAudioFocusChangeListener of the AudioManager class, and when the focus monitor interface 151 receives this focus notification, it should perform corresponding processing (e.g., pausing audio playback) to avoid a situation in which multiple sounds are played simultaneously in the remaining APPs. Among these, the AudioManager class in the Android system is suitable for focus communication between multiple APPs, and using this class only provides the ability to send and monitor, and it is not possible to know who has acquired the focus or what the current focus is. Therefore, the focus can be divided into two types: system focus sent from a third-party APP and focus in the current APP (e.g., live broadcast video, information video, voice announcement, etc.). The AudioManager class in the focus management layer 150 may be used to send and monitor focus events in a unified manner, and identity information indicating the identity of the focus sender is sent at the same time as the focus event is sent. At this time, when other media in the current APP monitor the focus event, they can use the identity information to determine whether the focus sender is from a third-party APP or from within the current APP, and adopt corresponding processing logic. Among them, the AudioManager class is located in the android.Media package, and this class provides access operations for controlling the volume and sound mode.Among these, AudioFocus is an audio coordination mechanism introduced by Android. When audio resources need to be used by multiple parties, they can coordinate through the AudioFocus mechanism to improve the user experience.

[0025] For example, the internal focus monitor interface 152 may also be used to monitor media focus types including news voice (NEWS_VOICE), live room (LIVE_ROOM), live floating window (LIVE_FLOAT_WINDOW), IM video (IM_VIDEO), SNS video (SNS_VIDEO), news video list (NEWS_VIDEO_LIST), news video detail page (NEWS_VIDEO_DETAIL_PAGE), news video full screen (NEWS_VIDEO_FULL_SCREEN), news video floating window (NEWS_VIDEO_FLOAT_WINDOW), and the like.

[0026] For example, the video component 100 further includes a video click monitor interface (IVideo ClickListener) 160 for monitoring a click operation of a video. The video click monitor interface 160 is connected to the video playback layer 110. For example, the video component 100 further includes a video state change monitor interface (IVideo StateChangeListener) 170 for monitoring a video state. For example, the video state may include an IDLE state, a PLAYING state, a PAUSED state, a LOADING state, a STOPED state, an ERROR state, and the like. The video state change monitor interface 170 is connected to the video playback layer 110. For example, the video component 100 further includes a video UI arrangement class 181 for arranging a UI interface. For example, the video component 100 further includes a video arrangement class 182 for arranging a video arrangement item. For example, the video component 100 further includes a video data class (VideoData) 191 and a video data management class (VideoDataManager) 192 for storing and managing video data, respectively. Here, the video data management class 192 may be used to manage the definition of the video, and for example, the definition of the video includes FLU, SD, HD, FHD, 2K, 4K, 8K, etc. A screen resolution of 480p or 576p is called SD (Standard Definition), a screen resolution of 720p is called HD (High Definition), a screen resolution of 1080p is called FHD (Full High Definition), 4k is called UHD (Ultra High Definition) or 4k UHD, and 8k is called FUHD (Full Ultra High Definition) or 8k UHD. For example, the user can also customize the video playback control view layer 120. For example, in the playback control view of mode 3 and mode 4, the button in the upper right corner may be input by the user himself.For example, the video component 100 completely encapsulates the UI and functionality, including small window, full screen, focus handling logic, and so on.

[0027] Here, the video component 100 also has a small window function. The video component 100 is equipped with a small window playback function, so that users can open a small window and play it by simply calling one line of code. The video small window is equipped with an elegant UI and functional logic.

[0028] Here, the video component 100 also has a full-screen function. The video component 100 has a full-screen playback function, and as long as the full-screen button is placed in the playback control view layer 120, the user can click the full-screen button to automatically enter full-screen mode, automatically multiplex the current video, and synchronize the current video UI and the current video state without writing a single line of code. The full-screen playback function of the video component 100 allows the video displayed in full screen and the video on the previous page to share one video stream, thereby realizing seamless full-screen switching.

[0029] Here, the video component 100 can realize video multiplexing. When the same video jumps, the video component 100 intelligently and automatically multiplexes the video to complete seamless switching between the videos.

[0030] For example, the video component 100 can realize a VideoPlayerManager class, which is a video stream multiplexing pool. All played videos are stored in the video stream multiplexing pool, and when preparing to play a target video, the video stream multiplexing pool first checks whether a video stream identical to the target video exists, and if so, directly obtains the video stream identical to the target video from the video stream multiplexing pool to play the video. For example, the video component 100 can also perform a multiplexing process. The multiplexing process can include video multiplexing of a video stream in the video stream multiplexing pool. The multiplexing process can also include component multiplexing of a UI component. For example, when a video component multiplexing pool is provided and a video identical to a target video currently waiting to be played exists in the video component multiplexing pool, the entire video component can be directly moved and multiplexed, and the video component multiplexing can directly multiplex the UI and functions of the video component corresponding to the target video to achieve a seamless switching effect.

[0031] Please refer to Fig. 2 to Fig. 17, in which Fig. 2 is a schematic diagram showing the flow of a video playback method provided by an embodiment of the present application. The video playback method of the embodiment of the present application can be applied to a video playback device of the embodiment of the present application that can be configured in a terminal device. The terminal device may be a terminal device in which a client configured with a video component that may be the video component shown in Fig. 1 is installed therein. The method includes the following steps.

[0032] In step 201, the video component is invoked in response to a playback command for a target video.

[0033] For example, after opening the client, a video feed list or a video detail page can be displayed on the display page of the client. The video feed list or the video detail page includes a target video, and the user can click the target video on the display page to trigger a playback command for the target video and call the video component to play the target video. A feed combines multiple message sources that a user actively subscribes to form a content aggregator, helping the user continuously obtain the latest subscription source content. For example, a feed is a way of displaying content to a user and continuously updating it, and the user can select and subscribe to multiple resources, the site provides the URL of the feed, the user registers the URL of the feed in a reader, and the aggregate page formed in the reader is a feed stream. Subscription sources include not only certain content, but also people or groups that create content, and subscriptions usually include a mixture of non-subscribed content, such as popular recommendations and advertisements. A feed is an information unit, a useful information unit that a user wants to see, or an information unit that meets the needs of a user. For example, a feed is an information unit such as a card, a text, a video, or an audio. A feedstream is a continuously updated information stream that can push subscription source content to a user. Feedstreams have various presentation formats, including, but not limited to, a timeline-based presentation format, timeline, and a smart sorting-based presentation format, rank. Among them, timeline can display the content to the user according to the forward / backward order of the time when the feedstream content is updated, and rank can calculate the weight of the feedstream content based on certain factors to determine the forward / backward order of display of the feedstream content, for example, to perform intelligent ordering according to the user's interest preferences.

[0034] A feed list may be a list of information in a row that is constantly loaded by constantly sliding down. A feed list may correspond to a user, and each user who logs into the client may have their own feed list. Each feed entry is an independent piece of information, and operations on the feed list may include, but are not limited to, clicking, sliding down to load, sliding up and down to preview, and the feed list may display cards, text, images, videos, audio, and the like.

[0035] For example, the video feed list may include the target video feed and other feeds.

[0036] For example, the video detail page may include a playback window of the target video and detailed information corresponding to the target video, for example, the detailed information may include comment information, a video profile, a playback record, and the like.

[0037] In some embodiments, invoking the video component in response to a playback command for a target video comprises: The method includes the steps of adding the video component to a layout file in response to a playback command for a target video, introducing data of the target video into the video component in a code file, and invoking the video component.

[0038] For example, when a user uses a video component, user access is achieved by adding the video component to the layout file and introducing the video's data in the code file in response to a play command for the target video.

[0039] In some embodiments, a video component multiplexing pool is provided.

[0040] In some embodiments, the step of invoking the video component includes the step of invoking a first video component if a first video component corresponding to the same video as the target video currently waiting to be played is present in a video component multiplex pool.

[0041] For example, the video component 100 can also perform video component multiplexing. For example, a video component multiplexing pool is provided, and when the video component is called, if a first video component corresponding to the same video as the target video currently waiting to be played exists in the video component multiplexing pool, the first video component can be directly moved and multiplexed, and the UI and functions of the first video component corresponding to the target video can be directly multiplexed by the video component multiplexing to achieve a seamless switching effect.

[0042] In some embodiments, the step of invoking the video component includes, when multiple invoked video components are present in the video component multiplexing pool, invoking a second video component from the multiple video components in the video component multiplexing pool that has the fastest video loading speed.

[0043] For example, if there are multiple video components that have been previously called in a video component multiplexing pool, when a video component is called, a second video component with the fastest video loading speed is selected from the multiple video components in the video component multiplexing pool, and this second video component is moved and multiplexed, and the target video currently waiting to be played is played through this second video component. By multiplexing the video components, the UI and functions of the second video component with the fastest video loading speed are directly multiplexed, thereby achieving the effect of quickly loading videos and smoothly playing videos.

[0044] In some embodiments, the method further includes a step of determining a load block corresponding to target data based on load blocks of different sizes in a pre-divided load medium, and temporarily storing the target data in the load block corresponding to the target data.

[0045] Specifically, this embodiment proposes an image loading mechanism based on data attributes, divides blocks on each loading medium, and determines an appropriate loading block to load target data, for example, the target data includes the target image.

[0046] In some embodiments, a load block corresponding to the target data is determined based on load blocks of different sizes in the pre-divided load medium, and storing the target data in the load block corresponding to the target data includes: pre-dividing load blocks of different sizes in each load medium, the load blocks of different sizes increasing according to an increase factor determined based on an average expected size of the target data; determining a load capacity of each of the load blocks based on a minimum block capacity in each load medium and the increase factor; determining a total load capacity of each load medium based on the load capacity of each of the load blocks; determining a target load medium corresponding to the target data based on the total load capacity of each load medium; determining a load block corresponding to the target data in the target storage medium based on the size of the target data, and temporarily storing the target data in the load block corresponding to the target data.

[0047] Specifically, the load block corresponding to the target data is determined based on the load blocks of different sizes in the pre-divided load medium.

[0048] In addition, the load blocks of different sizes in each load medium are divided and increased according to a certain rule. The increase coefficient A is determined based on the average expected size of the load data, and assume that there are i load blocks in a load medium, where the minimum block capacity is Cap_X(min).

[0049] The load capacity of the ith load block is determined from the increase factor A and the minimum block flux as follows:

[0050] Cap_X(i)=A i-1 Cap_X(min) Based on the load capacity of each block, the total load capacity of the load medium is determined, ie, it is the sum of a geometric progression as follows:

number

[0051] In some embodiments, the target data includes the target video, and the method further includes, upon playback of the target video, loading the target video from a load block corresponding to the target video.

[0052] In some embodiments, the step of invoking a video component includes, when the multiple invoked video components are present in the video component multiplexing pool, invoking a third video component having the lowest CPU occupancy and / or memory occupancy from the multiple video components in the video component multiplexing pool.

[0053] For example, if there are multiple previously called video components in the video component multiplexing pool, when a video component is called, a third video component having the lowest CPU occupancy and / or memory occupancy is selected from the multiple video components in the video component multiplexing pool, and this third video component is moved and multiplexed to play the target video currently waiting to be played through this third video component, and by multiplexing the video components, the UI and functions of the third video component having the lowest CPU occupancy and / or memory occupancy are directly multiplexed, thereby reducing the impact on the operating speed of the terminal device when the video component is operating.

[0054] In step 202, a first video stream that is the same as the target video is queried from a video stream multiplexing pool corresponding to the video component, and the target video is played according to the first video stream, and the video stream played by the video component is stored in the video stream multiplexing pool.

[0055] In some embodiments, the step of querying a first video stream identical to the target video from a video stream multiplexing pool corresponding to the video component and playing the target video according to the first video stream includes the steps of querying whether a first video stream identical to the target video exists from a video stream multiplexing pool corresponding to the video component, and if a first video stream identical to the target video exists in the video stream multiplexing pool, obtaining the first video stream and playing the target video according to the first video stream, or if a first video stream identical to the target video does not exist in the video stream multiplexing pool, loading a second video stream corresponding to the target video and playing the target video according to the second video stream.

[0056] Here, the video component can realize video multiplexing. When the same video jumps, the video component intelligently auto-multiplexes the video to complete seamless switching between videos. For example, a VideoPlayerManager class, which is a video stream multiplexing pool, can be realized in the video component, and the video stream multiplexing pool may be a data class in the video data class 191 in FIG. 1, or a data class corresponding to a client. All played videos are stored in the video stream multiplexing pool, and when preparing to play a target video, the video stream multiplexing pool is first inquired as to whether a first video stream identical to the target video exists, and if so, the first video stream identical to the target video is directly obtained from the video stream multiplexing pool to play the video. If the first video stream identical to the target video does not exist in the video stream multiplexing pool, a second video stream corresponding to the target video is loaded, for example, from a cloud storage or a specified database, and the target video is played according to the second video stream.

[0057] For example, when a user plays video A, if the user clicks on video A, the video details page will be displayed. At this time, when playback of video A on the video details page is started, the VideoPlayerManager class will be checked to see if video stream a of the same video exists. If it is found that the VideoPlayerManager class has a video stream a identical to video A, there is no need to recreate video stream a, and video stream a will be directly retrieved from the VideoPlayerManager class and played.

[0058] In some embodiments, the video component further includes a focus management layer, and before playing the target video, the video component includes a step of sending a target focus notification corresponding to the target video and identity information corresponding to the target focus notification to other video components via the focus management layer, wherein the target focus notification is used to instruct the other video components to release focus when focus is preempted, and a step of controlling the video component to play the target video when the release of focus and the identity information corresponding to the released focus sent by the other video components are monitored via the focus management layer.

[0059] For example, referring to FIG. 3, for example, the first video component, the focus monitor interface, and the internal focus monitor interface are disposed inside the current APP, and the second video component is disposed inside the remaining APP.Inside the current APP, when a user opens a first video component inside the current APP to prepare to play a target video (e.g. video A), the current APP can monitor the target focus notification for the target video by calling the requestAudioFocus method in the AudioManager class, and the target focus notification and its corresponding identity information are sent via the focus monitor interface to the internal focus monitor interface and the second video component inside the remaining APP, the second video component inside the remaining APP receives the target focus notification and its corresponding identity information, and the second video component determines that the target video needs to be played now, and if the second video component inside the remaining APP is currently playing video B, the target focus notification and its corresponding identity information are sent via the focus monitor interface to the internal focus monitor interface and the second video component inside the remaining APP. the internal focus monitor interface monitors that the focus is preempted and sends a focus notification to the second video component inside the remaining APP that the first video component is going to play the target video, so that the second video component releases the focus corresponding to the currently played video B; if the focus monitor interface in the current APP monitors the notification that the second video component releases the focus, the focus monitor interface sends identity information corresponding to the released focus to the internal focus monitor interface; then, the internal focus monitor interface determines that the focus of the target video waiting to be played by the first video component is not currently preempted by monitoring that the focus has been released and sending the identity information corresponding to the released focus to the first video component, and further, the first video component starts playing the target video.

[0060] For example, still referring to FIG. 3, for example, the first image component, the focus monitor interface, the internal focus monitor interface, and the second image component are all disposed within the current APP.Inside the current APP, when a user opens a first video component inside the current APP to prepare to play a target video (e.g. video C), the current APP can monitor the target focus notification for the target video by calling the requestAudioFocus method in the AudioManager class to send a focus notification, indicating that the current APP is starting to play the target video; the current APP can monitor the target focus notification for the target video by calling the focus monitor interface in the AudioManager class; the target focus notification and its corresponding identity information are sent via the focus monitor interface to the internal focus monitor interface and the second video component inside the current APP; the second video component receives the target focus notification and its corresponding identity information; and the second video component determines that the target video needs to be currently played; if the second video component is currently playing video D, the second video component can determine that the target video needs to be currently played. indicates that the focus has been preempted, the internal focus monitor interface monitors that the focus has been preempted and sends a focus notification to the second video component that the first video component intends to play the target video, causing the second video component to release the focus corresponding to the currently being played video D, when the focus monitor interface in the current APP monitors the notification that the second video component releases focus, the focus monitor interface sends identity information corresponding to the released focus to the internal focus monitor interface, and then the internal focus monitor interface determines that the focus of the target video waiting to be played by the first video component is not currently preempted by monitoring that the focus has been released and sending the identity information corresponding to the released focus to the first video component, and further the first video component starts playing the target video.

[0061] In step 203, when playing the target video, the progress of the playback of the target video in the video feed list is synchronized with the progress of the playback of the target video in the video detail page.

[0062] In some embodiments, the step of synchronizing the progress of playback of the target video in the video feed list with the progress of playback of the target video on the video detail page includes a step of synchronizing the progress of playback of the target video in the video feed list with the video detail page when jumping from the video feed list to the video detail page in response to an acquired first page jump command, or a step of synchronizing the progress of playback of the target video on the video detail page with the video feed list when jumping from the video detail page to the video feed list in response to an acquired second page jump command.

[0063] Here, it is necessary to link the playback progress on the video feed list and the video detail page.

[0064] For example, in a WIFI environment, when proceeding to a detailed page from a video feed list based on a first page jump command obtained, Regarding progress, the playback progress of the video feed needs to be synced with the video detail page, and both progresses need to be linked.

[0065] Regarding the volume, the volume setting on the details page can follow the volume setting of the mobile phone system.

[0066] Regarding the playback pause state on the detail page, since the community detail page may not be suitable for the autoplay function, the autoplay function can be canceled on the community detail page, supporting business customization.

[0067] For example, in a WIFI environment, when returning to the video feed list from the video detail page based on the acquired second page jump command, Regarding the progress, if the video feed is still being displayed on the current screen, the playback progress on the video detail page needs to be synchronized with the video feed to coordinate the two progresses.

[0068] Regarding volume, the video feed maintains the volume on / off state of the original feed.

[0069] The playback pause state of the feed may follow the system playback settings.

[0070] For example, in a traffic environment, when proceeding to a video detail page from a video feed list based on an acquired first page jump command, Regarding progress, the playback progress of the video feed needs to be synced with the video detail page, and both progresses need to be linked.

[0071] Regarding the volume, the volume setting on the details page can follow the volume setting of the mobile phone system.

[0072] Regarding the playback pause state on the detail page, since the community detail page may not be suitable for the autoplay function, the autoplay function can be canceled on the community detail page, supporting business customization.

[0073] For example, in a traffic environment, when returning from a detail page to a video feed list based on a second page jump command obtained, Regarding the progress, after starting playback of a video on the details page, when returning from the details page to the video feed list, the playback progress on the video details page needs to be synchronized with the video feed, and both progresses need to be linked.

[0074] In terms of volume, the video feed remains quiet.

[0075] The feed's playback / pause state may follow system playback settings.

[0076] For example, for the same video source, progress can be synchronized under all scenarios and recorded within the current APP lifecycle.

[0077] In step 204, in response to a touch operation on a small window button on the video component, a small window control on the video component is controlled to display and play the target video, or in response to a touch operation on a full screen button on the video component, a full screen control on the video component is controlled to display the target video.

[0078] In some embodiments, the video component further includes a network monitor interface, and the method further includes, when the network monitor interface monitors a change in a network condition, presentation information of the network condition change is displayed on a display interface of the client.

[0079] Here, when the network changes, if the video component already has a previous playback state (i.e., an uninitialized state), the previous playback state is maintained regardless of the current playback setting. The network monitor interface monitors the network state change, i.e., when the network connection method switches from a wifi network to a traffic data network, the client's UI display interface displays the network state change notification information, for example, a traffic notification toast. For example, a toast notification is a type of message box in the Android system, which is a simple message prompt box and is a mechanism used to display notification information in Android. The idea of ​​the Toast class is to display information to the user while being as unobtrusive as possible.

[0080] In some embodiments, the step of controlling the small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component includes the steps of: when the small window control is located on the video detail page, pausing playback of the video on the video detail page and controlling the small window control to play the target video, and when it is detected that the small window control has paused playback of the target video or the small window control has been closed, controlling to auto-play the video on the video detail page under the network condition being a wifi environment; or when the small window control is located on the video feed list, pausing playback of the video on the video feed list and controlling the small window control to play the target video, and when it is detected that the small window control has paused playback of the target video or the small window control has been closed, controlling to auto-play the video on the video feed list under the network condition being a wifi environment.

[0081] In some embodiments, the step of controlling the small window control to play the target video further includes the steps of controlling the small window control to close the target video and controlling the small window control to play the target live when a request to enter a live room for the target live is obtained.

[0082] For example, as shown in the schematic diagram of the application scenario of small window playback in FIG. 4, small window portrait screen playback can be realized when the small window control of the video component is controlled to display and play the target video.

[0083] For example, as shown in FIG. 5, a schematic diagram of an application scenario of small window playback, small window landscape screen playback can be realized when the small window control of the video component is controlled to display and play the target video.

[0084] For example, the small window control can be displayed as a floating layer on the video detail page, a jump icon on the small window control can be clicked to jump from the small window control to the video detail page, and a blank area on the small window control can be clicked to reveal or hide the small window control.

[0085] For example, FIG. 6 is a schematic diagram showing an interactive scenario of small window playback, and the interactive details of the small window may include:

[0086] (1) About clicking the small window button (icon) Click the small window icon on the video details page to roll back to the upper level page.

[0087] In full screen, click the small window icon to close the current video details page and roll back to the upper level page.

[0088] (2) About the scenario after opening the small window a. If the page on the back level is a video detail page, the playback states of the small window video and the detail page video must be mutually exclusive, and only one is allowed to play and the other is paused. The current detail page video pauses playback by default, and only the small window video is played, that is, the video on the video detail page is paused, and the small window control controls to play the target video. If the small window playback is paused or the small window is closed, the current detail page video will be automatically played under a Wi-Fi environment.

[0089] For example, as shown in FIG. 6, if the page on the upper level back is video detail page A, the video displayed in the current video detail page A is paused by default, and only video B displayed in the small window is played, where the small window video supports play and pause control, and the live small window does not support pause. When the small window playback is paused or the small window is closed, the video on the current detail page will be automatically played under a wifi environment.

[0090] b. If the back-up page is a feed list page, the playback states of the small window video and the video feed list must be mutually exclusive, and only one is allowed to play and the other is paused. The current video feed list pauses playback by default, and only plays the small window video, that is, pauses the playback of the video on the video detail page, and controls the small window control to play the target video. If the playback of the small window is paused or the small window is closed, the video in the current feed list will be automatically played under a wifi environment.

[0091] For example, as shown in FIG. 6, if the page on the level above the one you return to is a feed list page, the video displayed in the current feed list page is paused by default, and only video B displayed in the small window is played; when the video in the small window is played, the video feed list does not automatically play the video. If you pause the playback of the small window or close the small window, the video on the current detail page will automatically play under a wifi environment.

[0092] c. In other cases, if there is currently one small window video, close the video small window when entering the live room. When returning to the video details page from full screen, the original small window's audio, small window video, or small window live must continue to be on hold. If there is currently a small window video (video content A), one video detail page A is also opened under another scenario other than a small window, in which case small window video A must be closed on video detail page A. Click the small window icon on video detail page A to close the current details page and reopen small window A'.

[0093] Among them, the focus relationships of announcement methods such as video feed, small window video, small window live, and voice announcement include the mutual exclusion of small window video and small window live, small window and voice announcement, and playback states.

[0094] For small window video and small window live, one small window is shared, and two small windows do not exist at the same time.

[0095] For small windows and audio announcements, the default is to play the most recently opened content.

[0096] For details regarding mutual exclusion of playback states, see the following table. [Table 1] For example, as shown in the schematic diagram of the application scenario in Fig. 7, a display example of an announcement method such as video feed, small window video / live, and audio announcement is shown in the figure. The video feed is currently in a paused state, the small window video / live is currently in a playing state, and the audio announcement is currently in a paused state.

[0097] When the video feed list is entered while a voice announcement is playing, the video must be played in silence. The voice announcement is not interrupted when the video is played in silence, but is interrupted only when the video is switched to audio.

[0098] For example, a video component may support four modes: Mode 1: Supports a non-immersive state (e.g., applies to a community feed listing). Mode 2: Does not support a non-immersive state (e.g., applies to an information feed listing). Mode 3: (e.g., applies to the default screen of a details page). Mode 4: (e.g., applies to a full screen details page).

[0099] For example, for mode 1, a non-immersive state is supported (e.g., applied to a community feed list). For the expression in each state of the video component, refer to the application scenario diagram of mode 1 shown in FIG. 8 and the component specification information table of mode 1 shown in FIG. 9. For example, in a non-playing state, a triangular play button is displayed on the playback window of the video component, and the video time length and the attention amount or playback amount of the video are displayed. In the initial state of the playing state, the playback window of the video component does not display the playback progress degree and the pause button, and only the video time length and the attention amount or playback amount of the video can be displayed, and a volume switch can also be displayed. In the immersive state of the playback state, the video screen can be displayed in the entire window on the playback window of the video component, and in the immersive state, a weak progress bar is displayed at the bottom of the video screen of the entire window, which can be displayed as a colored line that is distinguished from the display color of the video screen, and the total length of the weak progress bar is equal to the length of the long side of the video screen of the entire window, and the display length of this weak progress bar is determined based on the ratio of the currently played video time length to the total length of the video time length. In the non-immersive state of the playback state, a pause button, video time length, playback progress (progress bar, progress time length, etc.), full screen button, etc. can be displayed in the playback window of the video component. In the initial state of the loading state, the video time length and the attention amount or playback amount of the video can be displayed in the playback window of the video component, a volume switch can also be displayed, and a loading logo indicating "buffering" can also be displayed. In the immersive loading state, the video screen can be displayed in full on the video component playback window, and in the immersive state, a weak progress bar can be displayed at the bottom of the video screen in full, and a loading logo indicating "buffering" can be displayed. In the non-immersive loading state, the video time length, playback progress (progress bar, progress time length, etc.), full screen button, etc., and a loading logo indicating "buffering" can be displayed in the video component playback window.In the paused non-immersive state, a play button, video duration, playback progress (progress bar, progress duration, etc.), full screen button, etc. may be displayed on the video component playback window. In the finished state, a replay button may be displayed on the video component playback window. In the failed state, a load failure indication and a retry button may be displayed on the video component playback window.

[0100] For example, for mode 2, the non-immersive state is not supported (for example, applied to the information feed list). For the expression under each state of the video component, refer to the application scenario diagram of mode 2 shown in FIG. 10 and the component specification information table of mode 2 shown in FIG. 11. For example, in the non-playing state, a triangular play button is displayed on the playback window of the video component, and the video time length and the attention amount or playback amount of the video are displayed. In the initial state of the playing state, the playback window of the video component does not display the playback progress degree and the pause button, and only the video time length and the attention amount or playback amount of the video can be displayed, and a volume switch can also be displayed. In the playing state, the immersive state is entered, and the video screen can be displayed in the entire window on the playback window of the video component, and in the immersive state, a weak progress bar is displayed at the bottom of the video screen of the entire window. In the initial state of the loading state, the playback window of the video component can display the video time length and the attention amount or playback amount of the video, a volume switch can also be displayed, and a loading logo indicating "buffering" can also be displayed. In the loading state, the video is immersive and a loading logo indicating "buffering" can be displayed on the full screen of the video component's playback window. There is no pause state in mode 2. In the failed state, a loading failure notification and a retry button can be displayed on the video component's playback window.

[0101] For example, for mode 3 (e.g., applied to the default screen of the details page), the expression under each state of the video component can refer to the application scenario diagram of mode 3 shown in FIG. 12 and the component specification information table of mode 3 shown in FIG. 13. For example, in a non-playing state, a triangular play button is displayed on the playback window of the video component, and the video time length, the playback progress (progress bar, progress time length, etc.), the full screen button, etc. are displayed. In a non-immersive state of the playing state, the playback window of the video component can display the play button, the video time length, the playback progress (progress bar, progress time length, etc.), the full screen button, etc., and a logo indicating "more" may be displayed in the upper right corner. In an immersive state of the playing state, the video screen can be displayed in the full window on the playback window of the video component, and in the immersive state, a weak progress bar can be displayed at the bottom of the video screen of the full window. In the non-immersive state of the loading state, the playback window of the video component may display a play button, a video time length, a playback progress degree (progress bar, progress time length, etc.), a full screen button, and a logo indicating "more" may be displayed in the upper right corner, and a loading logo indicating "buffering" may also be displayed. In the immersive state of the loading state, the video screen may be displayed in the full window on the playback window of the video component, and in the immersive state, a weak progress bar may be displayed at the bottom of the video screen of the full window, and a loading logo indicating "buffering" may also be displayed. In the non-immersive state of the paused state, the playback window of the video component may display a play button, a video time length, a playback progress degree (progress bar, progress time length, etc.), a full screen button, and a logo indicating "more" may also be displayed in the upper right corner. In the immersive state of the paused state, the video screen may be displayed in the full window on the playback window of the video component, and in the immersive state, a weak progress bar may be displayed at the bottom of the video screen of the full window. In the finished state, a replay button may be displayed on the playback window of the video component.In a failed state, a load failed indication and a retry button may be displayed on the video component's playback window.

[0102] For example, for mode 4 (e.g., applied to the full screen of the detail page), the expression of each state of the video component can refer to the application scenario diagram of mode 4 shown in FIG. 14 and the component specification information table of mode 4 shown in FIG. 15. For example, in a non-playing state, a triangular play button is displayed on the playback window of the video component, and a video time length, a playback progress degree (progress bar, progress degree time length, etc.), a full screen button, etc. are displayed. In a non-immersive state of a playing state, a play button, a video time length, a playback progress degree (progress bar, progress degree time length, etc.), a full screen button, etc. may be displayed on the playback window of the video component, and a logo indicating "more" may be displayed in the upper right corner. In an immersive state of a playing state, a video screen may be displayed in the full window on the playback window of the video component, and in an immersive state, a weak progress bar may be displayed at the bottom of the video screen of the full window. In the non-immersive state of the loading state, the playback window of the video component may display a play button, a video time length, a playback progress degree (progress bar, progress time length, etc.), a full screen button, etc., and may display a logo indicating "more" in the upper right corner, and a loading logo indicating "buffering". In the immersive state of the loading state, the video screen may be displayed in the full window on the playback window of the video component, and in the immersive state, a weak progress bar may be displayed at the bottom of the video screen of the full window, and a loading logo indicating "buffering" may be displayed. In the non-immersive state of the paused state, the play button, a video time length, a playback progress degree (progress bar, progress time length, etc.), a full screen button, etc., may be displayed in the playback window of the video component, and may display a logo indicating "more" in the upper right corner. In the immersive state of the paused state, the video screen may be displayed in the full window on the playback window of the video component, and in the immersive state, a weak progress bar may be displayed at the bottom of the video screen of the full window. In the finished state, a replay button may be displayed on the playback window of the video component.In the failed state, a load failure notification and a retry button may be displayed on the video component's playback window. Mode 4 supports gravity sensor detection to auto full screen or return to the default screen.

[0103] For example, for the small window video function, the expression in each state of the video component can refer to the application scenario diagram of the small window mode shown in FIG. 16 and the component specification information table of the small window mode shown in FIG. 17. For example, in the non-immersive state of the playback state, a pause button, a full screen button, a close button, etc. can be displayed on the playback window of the video component, and in the immersive state of the playback state, a video screen can be displayed in the entire window on the playback window of the video component, and in the immersive state, a weak progress bar can be displayed at the bottom of the video screen of the entire window. In the non-immersive state of the loading state, a pause button, a full screen button, a close button can be displayed on the playback window of the video component, and a loading logo indicating "buffering" is displayed. In the immersive state of the loading state, a video screen can be displayed in the entire window on the playback window of the video component, and in the immersive state, a weak progress bar can be displayed at the bottom of the video screen of the entire window, and a loading logo indicating "buffering" is displayed. In the paused non-immersive state, a play button, a full screen button, a close button, etc. may be displayed on the video component playback window, and a "more" logo may be displayed in the upper right corner. In the paused immersive state, a video screen may be displayed full-window on the video component playback window, and in the immersive state, a weak progress bar may be displayed at the bottom of the full-window video screen. In the finished state, a replay button may be displayed on the video component playback window. In the failed state, a load failure indication and a retry button may be displayed on the video component playback window.

[0104] Among them, for mode 1, mode 2, mode 3, mode 4 and small window mode, the configuration of each button, progress bar, control, etc. on the video component can be displayed, hidden or displayed according to the actual needs of the product. For example, specific contents can be referred to the component specification information table corresponding to each mode.

[0105] For example, in response to a touch operation (e.g., a click operation) on a full-screen button on the video component, a full-screen control on the video component is controlled to display the target video. When a target video is displayed and playing in the full-screen control on the video component, playback of the video on the video detail page or video feed list is paused. When a user clicks the full-screen button displayed on the small window control, the small window video is switched to a full-screen video.

[0106] In some embodiments, the method further includes pausing the currently playing target video when the video component is controlled to go into the background, and re-determining a current playback state of the target video when the video component is brought back into the foreground based on current network conditions, video playback settings, and the past video playback state when it went into the background.

[0107] Here, when a video component goes into the background during video playback, the currently played target video is controlled to be paused, and when the video component is brought back to the foreground, the current playback state of the target video is determined again based on the current network state, the video playback setting items, and the past video playback state when it went into the background.

[0108] Here, the type of video playback setting item may support single selection, for example, options such as "Autoplay On", "WIFI Only / No Traffic Autoplay", and "Autoplay Off" can be set as options. The currently active option may be displayed inverted on the right side of the setting item. For example, when the setting item is "Autoplay On", both the video feed and the video detail page can be autoplayed in a normal network environment. For example, when the setting item is "WIFI Only / No Traffic Autoplay", both the video feed and the video detail page are autoplayed in a WIFI Only / No Traffic Autoplay network environment. Otherwise, the playback waiting state is displayed and the user must manually tap to play. For example, when the setting item is "Autoplay Off", both the video feed and the video detail page are not autoplayed in a normal network environment and the user must manually tap to play. For example, the default state of the setting item can be "WIFI Only / No Traffic Autoplay". The setting item can also be cloud-synced. For example, the interface can be opened for external business calls to support the user to select whether autoplay is required according to business definition.

[0109] For example, taking the fit of a tablet (Pad) as an example, the fit in landscape mode may be as follows:

[0110] When the video details page is opened on the right, the video will play on the right page and the video feed in the left list will stop playing.

[0111] When the video detail page on the right is closed, the video feed in the list on the left should revert to autoplay and sync up with the progress of the video on the detail page on the right.

[0112] For example, if the current network status is a Wi-Fi environment, the current video playback setting is WIFI only / no traffic autoplay, and the past video playback status when it entered the background was playing and the playback progress was 1 minute 30 seconds (total video duration 5 minutes), then when the video component is brought back to the foreground again, the autoplay of this target video will continue.

[0113] In some embodiments, the method further includes cleaning up the video stream corresponding to the target video when the currently playing target video is closed, if the target video is the last video stream in the video stream multiplex pool.

[0114] For example, a video stream occupies memory, so it is necessary to have a proper cleanup timing. For example, when the current video is closed, it is determined whether the current video is the last video stream in the video stream multiplex pool, and if so, the video stream for this current video is cleaned up.

[0115] All the above technical solutions can be adopted in any combination to form optional embodiments of the present application, and will not be described further here.

[0116] An embodiment of the present application is applied to a client in which a video component is placed, and in response to a playback command for a target video, the video component is called, a first video stream that is the same as the target video is retrieved from a video stream multiplexing pool corresponding to the video component, and the target video is played according to the first video stream, and the video stream played by the video component is stored in the video stream multiplexing pool.When playing the target video, the progress of playback of the target video in the video feed list is synchronized with the progress of playback of the target video on the video details page, and in response to a touch operation on a small window button on the video component, the small window control of the video component is controlled to display and play the target video, or in response to a touch operation on a full screen button on the video component, the full screen control on the video component is controlled to display the target video. The embodiments of the present application can realize video multiplexing based on a video component that is directly called by a playback command, encapsulate small window and full screen functions within the video component, improve the functional diversity of the video component, and allow the user to realize small window playback or full screen playback by simply clicking the small window button or full screen button, thereby reducing the complexity of operation and improving the convenience of users who use the video component.

[0117] In order to better and easily implement the video playback method of the embodiment of the present application, the embodiment of the present application further provides a video playback device. Please refer to Fig. 18, which is a schematic diagram showing the structure of the video playback device provided by the embodiment of the present application. Here, the video playback device 1800 is applied to a client in which a video component is arranged, and the video playback device 1800 includes: The video component playback device includes a calling module 1801 for calling the video component in response to a playback command for the target video, a playback module 1802 for querying a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component and playing the target video according to the first video stream, the playback module 1802 storing a video stream played by the video component in the video stream multiplexing pool, a synchronization module 1803 for synchronizing a progress of playback of the target video in a video feed list with a progress of playback of the target video in a video detail page when playing the target video, and a control module 1804 for controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, or for controlling a full screen control on the video component to display the target video in response to a touch operation on a full screen button on the video component.

[0118] In some embodiments, the playback module 1802 is used to query whether a first video stream identical to the target video exists from a video stream multiplexing pool corresponding to the video component, and if a first video stream identical to the target video exists in the video stream multiplexing pool, obtain the first video stream and play the target video according to the first video stream; or, if a first video stream identical to the target video does not exist in the video stream multiplexing pool, load a second video stream corresponding to the target video, and play the target video according to the second video stream.

[0119] In some embodiments, the video component further includes a focus management layer, and the playback module 1802, before playing the target video, sends a target focus notification corresponding to the target video and identity information corresponding to the target focus notification to other video components via the focus management layer, where the target focus notification is used to instruct the other video components to release focus when focus is preempted, and when the release of focus and identity information corresponding to the released focus sent by the other video components are monitored via the focus management layer, the video components are controlled to play the target video.

[0120] In some embodiments, the synchronization module 1803 is used for synchronizing the progress of playback of the target video in the video feed list with the video detail page when jumping from the video feed list to the video detail page in response to an acquired first page jump command, or for synchronizing the progress of playback of the target video in the video detail page with the video feed list when jumping from the video detail page to the video feed list in response to an acquired second page jump command.

[0121] In some embodiments, the video component further includes a network monitor interface, and the control module 1804 is used to display presentation information of the network condition changes on the display interface of the client when the network monitor interface monitors changes in the network conditions.

[0122] In some embodiments, the control module 1804 is used to control a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, including: when the small window control is located on the video detail page, pausing playback of the video on the video detail page and controlling the small window control to play the target video, and when it is detected that the small window control has paused playback of the target video or the small window control has been closed, controlling to auto-play the video on the video detail page under the network condition being a wifi environment; or when the small window control is located on the video feed list, pausing playback of the video on the video feed list and controlling the small window control to play the target video, and when it is detected that the small window control has paused playback of the target video or the small window control has been closed, controlling to auto-play the video on the video feed list under the network condition being a wifi environment.

[0123] In some embodiments, the control module 1804 is used to control the small window control to close the target video and control the small window control to play the target live when a request to enter a live room for a target live is obtained when the small window control is controlled to play the target video.

[0124] In some embodiments, when the small window control is located on the video detail page, the control module 1804 is further used for displaying the small window control on the video detail page in a floating layer, jumping from the small window control to the video detail page in response to a touch operation on a jump icon on the small window control, and either evoking the small window control or hiding the small window control in response to a touch operation on a blank area on the small window control.

[0125] In some embodiments, the control module 1804 is further used to pause the currently playing target video when the video component is controlled to go into the background, and to re-determine the current playback state of the target video when the video component is brought back into the foreground based on current network conditions, video playback settings, and the past video playback state when going into the background.

[0126] In some embodiments, the video playback device 1800 may further be used in conjunction with a video component multiplexing pool.

[0127] In some embodiments, the invocation module 1801 is used to invoke a first video component corresponding to the same video as the target video currently waiting to be played if the first video component exists in the video component multiplex pool.

[0128] In some embodiments, when multiple called video components are present in the video component multiplexing pool, the invocation module 1801 is used to invoke a second video component that has the fastest video loading speed from multiple video components in the video component multiplexing pool.

[0129] In some embodiments, the invocation module 1801 is used to invoke a third video component having the lowest CPU occupancy and / or memory occupancy from the multiple video components in the video component multiplexing pool when the multiple invoked video components are present in the video component multiplexing pool.

[0130] In some embodiments, the video playback device 1800 is further used to determine a load block corresponding to target data based on load blocks of different sizes in a pre-divided load medium, and temporarily store the target data in the load block corresponding to the target data.

[0131] In some embodiments, the video playback device 1800 is specifically used for: determining a load block corresponding to target data based on load blocks of different sizes in a pre-divided load medium; when storing the target data in the load block corresponding to the target data, pre-dividing load blocks of different sizes in each load medium, and the load blocks of different sizes are increased according to an increase factor determined based on an average expected size of the target data; determining a load capacity of each of the load blocks based on a minimum block capacity in each load medium and the increase factor; determining a total load capacity of each load medium based on the load capacity of each of the load blocks; determining a target load medium corresponding to the target data based on the total load capacity of each load medium; determining a load block corresponding to the target data in the target storage medium based on the size of the target data, and temporarily storing the target data in the load block corresponding to the target data.

[0132] In some embodiments, the target data includes the target video, and the playback module 1802 is further used for loading the target video from a load block corresponding to the target video when playing the target video.

[0133] In some embodiments, the invocation module 1801 is used to add the video component to a layout file, introduce data of the target video into the video component in a code file, and invoke the video component in response to a playback command for the target video.

[0134] In some embodiments, the control module 1804 is further used to clean up the video stream corresponding to the target video when the currently playing target video is closed and the target video is the last video stream in the video stream multiplex pool.

[0135] All the above technical solutions can be adopted in any combination to form optional embodiments of the present application, and will not be described further here.

[0136] It should be understood that the device embodiment and the method embodiment can correspond to each other, and similar descriptions can be referred to the method embodiment. To avoid repetition, the description will be omitted here. Specifically, the device shown in FIG. 5 can execute the above-mentioned video playback method embodiment, and the above-mentioned and other operations and / or functions of each unit in the device respectively realize the corresponding flow of the above-mentioned method embodiment, and will not be described here for brevity.

[0137] Correspondingly, the embodiment of the present application also provides a terminal device, which may be a terminal or a server. As shown in FIG. 19, FIG. 19 is a schematic diagram showing the structure of a terminal device provided by the embodiment of the present application. The terminal device 1900 includes a processor 1901 having one or more processing cores, a memory 1902 having one or more computer-readable storage media, and a computer program stored on the memory 1902 and executable on the processor. Here, the processor 1901 is electrically connected to the memory 1902. Those skilled in the art will understand that the structure of the terminal device shown in the figure does not limit the terminal device, and may include more or less components than those shown, or may combine some components, or may include different arrangements of components.

[0138] The processor 1901 is the control center of the terminal equipment 1900, and connects each part of the terminal equipment 1900 as a whole using various interfaces and lines, executes or loads software programs and / or modules stored in the memory 1902, and calls up data stored in the memory 1902, thereby performing various functions of the terminal equipment 1900 and processing data, thereby monitoring the terminal equipment 1900 as a whole.

[0139] In an embodiment of the present application, the processor 1901 in the terminal device 1900 loads instructions corresponding to one or more application processes into the memory 1902 through the following steps, and executes the applications stored in the memory 1902 by the processor 1901, thereby realizing various functions such as the following: In response to a playback command for a target video, call the video component, query a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component, play the target video according to the first video stream, store the video stream played by the video component in the video stream multiplexing pool, and when playing the target video, synchronize the progress of the playback of the target video in the video feed list with the progress of the playback of the target video in the video detail page, and in response to a touch operation on a small window button on the video component, control a small window control on the video component to display and play the target video, or in response to a touch operation on a full screen button on the video component, control a full screen control on the video component to display the target video.

[0140] Specific embodiments of the above various operations may be referred to in the above embodiments, and will not be further described here.

[0141] In some embodiments, as shown in FIG. 19, the terminal device 1900 further includes a display unit 1903, a radio frequency circuit 1904, an audio circuit 1905, an input unit 1906, and a power supply 1907. Here, the processor 1901 is electrically connected to the display unit 1903, the radio frequency circuit 1904, the audio circuit 1905, the input unit 1906, and the power supply 1907, respectively. Those skilled in the art will understand that the structure of the terminal device shown in FIG. 19 is not intended to limit the terminal device, and may include more or less components than those shown, or may combine some components, or may include different arrangements of components. The display unit 1903 may be used to display information entered by or provided to a user, and various graphical user interfaces of the terminal device, which may be configured by graphics, text, icons, images, and any combination thereof. The display unit 1903 may include a display panel and a touch panel. The radio frequency circuit 1904 can be used to transmit and receive radio frequency signals, establish wireless communication with a network device or other terminal device via wireless communication, and transmit and receive signals between the network device or other terminal device. The audio circuit 1905 may be used to provide an audio interface between a user and the terminal device via a speaker, microphone. The input unit 1906 can be used to receive input numbers, character information or user characteristic information (e.g., fingerprint, iris, face information, etc.) and generate keyboard, mouse, control lever, optical or trackball signal inputs related to user settings and function control. The power supply 1907 is for supplying power to each part of the terminal device 1900. Although not shown in FIG. 19, the terminal device 1900 can also include a camera, a sensor, a wireless fidelity module, a Bluetooth module, etc., which will not be further mentioned here.

[0142] Specific embodiments of the above various operations may be referred to in the above embodiments, and will not be further described here.

[0143] Those skilled in the art will understand that all or part of the steps in the various methods of the above-described embodiments can be completed by instructions or by controlling associated hardware, and the instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0144] For this reason, the embodiment of the present application provides a computer-readable storage medium storing a plurality of computer programs that can be loaded by a processor to execute steps in any of the video playback methods provided by the embodiment of the present application. Here, the storage medium can include a read only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, etc. The computer programs stored in the storage medium can execute steps in any of the video playback methods provided by the embodiment of the present application, and thus can achieve beneficial effects that can be achieved by any of the video playback methods provided by the embodiment of the present application. For details, please refer to the above embodiment and a detailed description will be omitted here.

[0145] The above describes in detail the video playback method, device, and storage medium provided by the embodiments of the present application. In this specification, specific examples are applied to explain the principles and embodiments of the present application. The explanation of the above examples is only used to facilitate understanding of the method of the present application and its core ideas. At the same time, those skilled in the art will recognize that there are changes in the specific embodiments and scope of application based on the ideas of the present application. Therefore, as stated above, the contents of this specification should not be construed as limiting the present application.

Claims

1. 1. A video playback method applied to a client in which a video component is arranged, the method comprising: invoking said video component in response to a playback command for a target video; A step of searching for a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component, and playing the target video according to the first video stream, wherein the video stream played by the video component is stored in the video stream multiplexing pool; When playing the target video, synchronizing a progress of the playback of the target video in a video feed list with a progress of the playback of the target video in a video detail page; a step of controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, or controlling a full screen control on the video component to display the target video in response to a touch operation on a full screen button on the video component.

2. The step of searching for a first video stream identical to the target video from a video stream multiplexing pool corresponding to the video component and playing the target video according to the first video stream, querying whether a first video stream that is the same as the target video exists from a video stream multiplexing pool corresponding to the video component; If a first video stream identical to the target video exists in the video stream multiplexing pool, acquiring the first video stream and playing the target video according to the first video stream; or 2. The video playback method of claim 1, further comprising: if a first video stream identical to the target video does not exist in the video stream multiplexing pool, a second video stream corresponding to the target video is loaded, and the target video is played according to the second video stream.

3. The video component further includes a focus management layer, and before playing the target video, sending a target focus notification corresponding to the target video and identity information corresponding to the target focus notification to other video components via the focus management layer, the target focus notification being used to instruct the other video components to release focus when focus is preempted; The video playback method of claim 1 or 2, further comprising a step of controlling the video component to play the target video when the focus sent by another video component is released and identity information corresponding to the released focus is monitored via a focus management layer.

4. The step of synchronizing a progress of the playback of the target video in a video feed list with a progress of the playback of the target video in a video detail page includes: When jumping from the video feed list to the video detail page in response to the acquired first page jump command, synchronizing a progress of the playback of the target video in the video feed list with the video detail page; or The video playback method described in claim 1 or 2, characterized in that when jumping from the video details page to the video feed list in accordance with the acquired second page jump command, the method includes a step of synchronizing the progress of playback of the target video on the video details page with the video feed list.

5. The video component further includes a network monitor interface, the method comprising:

2. The video playback method according to claim 1, further comprising the step of: when the network monitor interface monitors a change in a network state, presenting information of the change in the network state is displayed on the display interface of the client.

6. The step of controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component includes: When the small window control is located on the video detail page, pausing the playback of the video on the video detail page and controlling the small window control to play the target video, and when it is detected that the small window control has paused the playback of the target video or the small window control has been closed, controlling the video on the video detail page to automatically play under the network condition being a WiFi environment; or 6. The video playback method of claim 5, further comprising the steps of: pausing playback of the video on the video feed list when the small window control is located on the video feed list, and controlling the small window control to play the target video; and controlling the video on the video feed list to automatically play when the network state is a WiFi environment when it is detected that the small window control has paused playback of the target video or the small window control has been closed.

7. The step of controlling the small window control to play the target video includes: The video playback method of claim 6, further comprising the steps of controlling the small window control to close the target video and controlling the small window control to play the target live when a request to enter a live room for the target live is obtained.

8. If the small window control is located on the video detail page, the method includes: displaying the small window control on the video detail page in a floating layer; jumping from the small window control to the video detail page in response to a touch operation on a jump icon on the small window control; The video playback method according to claim 6, further comprising a step of: awakening the small window control or hiding the small window control in response to a touch operation on a blank area on the small window control.

9. The method comprises: pausing the currently playing target video if the video component is controlled to go into the background; The video playback method of claim 5, further comprising the step of: when the video component is returned to the foreground, re-determining the current playback state of the target video based on the current network state, the video playback setting items, and the past video playback state when it entered the background.

10. The method comprises:

2. The method of claim 1 further comprising the step of providing a video component multiplexing pool.

11. The step of invoking the video component comprises: The video playback method according to claim 10, further comprising the step of calling a first video component corresponding to the same video as the target video currently waiting to be played back when the first video component exists in a video component multiplexing pool.

12. The step of invoking the video component comprises: The video playback method of claim 10, further comprising a step of calling a second video component having the fastest video loading speed from the plurality of video components in the video component multiplexing pool when the plurality of called video components are present in the video component multiplexing pool.

13. The step of invoking the video component comprises: The video playback method of claim 10, further comprising a step of calling a third video component having the lowest CPU occupancy and / or memory occupancy from the plurality of video components in the video component multiplexing pool when the plurality of called video components are present in the video component multiplexing pool.

14. The method comprises:

2. The video playback method of claim 1, further comprising the steps of: determining a load block corresponding to target data based on load blocks of different sizes in a pre-divided load medium; and temporarily storing the target data in the load block corresponding to the target data.

15. A step of determining a load block corresponding to the target data based on load blocks of different sizes in the pre-divided load medium, and storing the target data in the load block corresponding to the target data, comprising: pre-dividing different sized load blocks in each load medium, the different sized load blocks increasing according to an increase factor determined based on an average expected size of the target data; determining a load capacity for each of said load blocks based on a minimum block capacity in each load medium and said increase factor; determining a total load capacity of each load medium based on the load capacity of each of the load blocks; determining a target load medium corresponding to the target data based on a total load capacity of each load medium; 15. The video playback method of claim 14, further comprising: determining a load block corresponding to the target data in the target storage medium based on a size of the target data; and temporarily storing the target data in the load block corresponding to the target data.

16. The target data includes the target image, and the method further comprises: The image reproducing method of claim 14, further comprising the step of loading the target image from a load block corresponding to the target image when reproducing the target image.

17. Invoking the video component in response to a playback command for a target video includes: The video playback method according to claim 1, further comprising the steps of: adding the video component to a layout file in response to a playback command for a target video; introducing data of the target video into the video component in a code file; and calling the video component.

18. The method comprises:

2. The video playback method of claim 1, further comprising the step of cleaning up the video stream corresponding to the target video when the currently played target video is closed and the target video is the last video stream in the video stream multiplexing pool.

19. A video playback device applied to a client in which a video component is arranged, the device comprising: a calling module for calling the video component in response to a playback command for a target video; a playback module for searching for a first video stream that is the same as the target video from a video stream multiplexing pool corresponding to the video component and playing the target video according to the first video stream, the video stream played by the video component being stored in the video stream multiplexing pool; a synchronization module for synchronizing a progress of the playback of the target video in a video feed list with a progress of the playback of the target video in a video detail page when the target video is played; a control module for controlling a small window control of the video component to display and play the target video in response to a touch operation on a small window button on the video component, or for controlling a full screen control on the video component to display the target video in response to a touch operation on a full screen button on the video component.

20. A computer readable storage medium storing a computer program suitable to be loaded by a processor to carry out the steps of the video reproducing method according to any one of claims 1 to 18.