WO2023284498A1 - 视频播放方法、装置及存储介质 - Google Patents

视频播放方法、装置及存储介质 Download PDF

Info

Publication number
WO2023284498A1
WO2023284498A1 PCT/CN2022/100199 CN2022100199W WO2023284498A1 WO 2023284498 A1 WO2023284498 A1 WO 2023284498A1 CN 2022100199 W CN2022100199 W CN 2022100199W WO 2023284498 A1 WO2023284498 A1 WO 2023284498A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
target
component
playback
loading
Prior art date
Application number
PCT/CN2022/100199
Other languages
English (en)
French (fr)
Inventor
陈嘉懿
Original Assignee
富途网络科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富途网络科技(深圳)有限公司 filed Critical 富途网络科技(深圳)有限公司
Priority to AU2022309659A priority Critical patent/AU2022309659A1/en
Priority to CA3224322A priority patent/CA3224322A1/en
Publication of WO2023284498A1 publication Critical patent/WO2023284498A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the field of computer technology, in particular to a video playing method, device and storage medium.
  • Embodiments of the present application provide a video playing method, device, and storage medium, which can realize video multiplexing, improve the functional diversity of video components, and reduce operation complexity.
  • a video playback method is provided, which is applied to a client configured with a video component, the method comprising: invoking the video component in response to a playback instruction for a target video; Find the same first video stream as the target video in the multiplexing pool, so as to play the target video according to the first video stream, and store the video stream played by the video component in the video stream multiplexing pool ;
  • the target video synchronize the playback progress of the target video in the video feed list with the playback progress in the video details page; in response to the touch operation of the small window button on the video component Controlling the small window control of the video component to display and play the target video, or in response to a touch operation on the full screen button on the video component, controlling the full screen control on the video component to display the target video.
  • a video playback device which is applied to a client configured with a video component, and the device includes: a calling module, used to call the video component in response to a playback instruction for a target video; a playback module, used Searching for the same first video stream as the target video from the video stream multiplexing pool corresponding to the video component, so as to play the target video according to the first video stream, stored in the video stream multiplexing pool The video stream that has been played by the video component; the synchronization module is used to synchronize the playback progress of the target video in the video feed list with the playback progress in the video details page when playing the target video; control A module, configured to control the small window control of the video component to display and play the target video in response to the touch operation of the small window button on the video component, or respond to the full screen button on the video component touch operation to control the full-screen control on the video component to display the target video.
  • a computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the video playback method as described in the first aspect. step.
  • a terminal device in a fourth aspect, includes a processor and a memory, a computer program is stored in the memory, and the processor invokes the computer program stored in the memory to execute the following: A step in the video playing method described in the first aspect.
  • Embodiments of the present application provide a video playback method, device, and storage medium, which are applied to a client configured with a video component, and call the video component by responding to a playback instruction for the target video; from the video stream multiplexing pool corresponding to the video component Search for the same first video stream as the target video, so as to play the target video according to the first video stream, and the video streams played by the video components are stored in the video stream multiplexing pool; when playing the target video, the target video is played in The playback progress in the video feed list is synchronized with the playback progress in the video details page; in response to the touch operation on the small window button on the video component, control the small window control of the video component to display and play the target video, or respond to For the touch operation of the full-screen button on the video component, control the full-screen control on the video component to display the target video.
  • the embodiment of the present application is based on the video component directly called by the play instruction, which can realize video multiplexing, and encapsulates the small window function and full screen function in the video component, which improves the functional diversity of the video component, and the user only needs to simply click the small Click the window button or full screen button to realize small window playback or full screen playback, reducing operation complexity and improving the convenience for users to use video components.
  • FIG. 1 is a schematic structural diagram of a video component provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a video playing method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an application scenario of focus management provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of an application scenario of small window vertical screen playback provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an application scenario of small-window horizontal-screen playback provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an interactive scene played in a small window provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an application scenario of a playback mode provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of an application scenario of mode 1 provided by the embodiment of the present application.
  • FIG. 9 is a component specification information table of mode 1 provided by the embodiment of the present application.
  • FIG. 10 is a schematic diagram of an application scenario of mode 2 provided by the embodiment of the present application.
  • FIG. 11 is a component specification information table of mode 2 provided by the embodiment of the present application.
  • FIG. 12 is a schematic diagram of an application scenario of mode 3 provided by the embodiment of the present application.
  • FIG. 13 is a component specification information table of mode 3 provided by the embodiment of the present application.
  • FIG. 14 is a schematic diagram of an application scenario of mode 4 provided by the embodiment of the present application.
  • FIG. 15 is a component specification information table of mode 4 provided by the embodiment of the present application.
  • FIG. 16 is a schematic diagram of an application scenario of the small window mode provided by the embodiment of the present application.
  • FIG. 17 is a component specification information table of the widget mode provided by the embodiment of the present application.
  • FIG. 18 is a schematic structural diagram of a video playback device provided by an embodiment of the present application.
  • FIG. 19 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • Embodiments of the present application provide a video playing method, device, and storage medium.
  • the video playing method in the embodiment of the present application may be executed by a terminal device, where the terminal device may be a terminal or a server.
  • the terminal may be a terminal device such as a smart phone, a tablet computer, a notebook computer, a touch screen, a game console, a personal computer (Personal Computer, PC), a personal digital assistant (Personal Digital Assistant, PDA).
  • the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or it can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, intermediate Cloud servers for basic cloud computing services such as software services, domain name services, security services, content distribution network services, and big data and artificial intelligence platforms, but are not limited thereto.
  • Various embodiments of the present application provide a video playing method, which can be executed by a terminal or a server, or jointly executed by the terminal and the server; the embodiments of the present application take the video playing method executed by a terminal as an example for illustration.
  • FIG. 1 is a schematic structural diagram of a video component provided by an embodiment of the present application.
  • the video component 100 provided in the embodiment of the present application mainly includes a video playback layer 110 and a playback control view layer 120 .
  • the video playback layer 110 is used to monitor the status callback of the SDK, and update the UI status of the playback control view layer.
  • the video playback layer 110 may include an implementation class 111 of the video playback layer and an abstract interface 112 of the video playback layer.
  • the video playback can be realized through the implementation class 111 of the video playback layer, and the playback control view layer 120 can be manipulated through the abstract interface 112 of the video playback layer.
  • the video playing layer 110 implements a video tool SDK processor (VideoSDKProcessor) class 131, which encapsulates the underlying video SDK inside.
  • VideoSDKProcessor VideoSDKProcessor
  • the video SDK sends an event change notification, it calls back to the video playback layer through an interface, such as calling back to the video playback layer 110 through an SDK event listening interface (ITXVodPlayListener) 132 .
  • VideoSDK is used to provide services for Internet video mobile applications, including audio and video shooting, special effects editing, character beautification and other functions, helping developers save manpower and material costs while meeting the diverse needs of users. Help developers simplify development work and build businesses to go online quickly.
  • the playback control view layer 120 includes an implementation class 121 of the playback control view layer and an abstract interface 122 of the playback control view layer.
  • the UI control of the playback control view layer 120 can be realized through the implementation class 121 of the playback control view layer.
  • the playback control view layer 120 has realized the video production tool operation plug-in (IVideoOperateWidget) interface, which is the abstract interface 122 of the playback control view layer, and the abstract interface (IVideoOperateListener) 112 of the video playback layer holds the IVideoOperateWidget object.
  • the IVideoOperateWidget object held by the abstract interface 112 of the playback layer is used to manipulate the playback control view layer.
  • IVideo is a powerful and easy-to-operate interactive video production tool. Based on video resources, IVideo can add text, pictures, hyperlinks, video, audio, interactive game components and many other interactive content.
  • the state of the video playback layer 110 is updated according to the operation instruction generated by the user acting on the UI control of the playback control view layer 120 .
  • the video playback layer 110 implements a video production tool plug-in (IVideoWidget) interface, and when the playback control view layer 120 is added to the video playback layer 110, the VideoWidget will be passed in.
  • the broadcast control view layer 120 holds the realization of IVideoWidget, and the IVideoWidget is the abstraction of the video playback layer 110 at this time. Then the user's operations on the playback control view layer 120 will be called back to the video playback layer 110 through the IVideoWidget interface.
  • the video component 100 also monitors network changes inside, and processes the logic corresponding to the network changes.
  • the video component 100 also includes a network monitoring interface (NetworkEventProcessor) 140 , and the network monitoring interface 140 is connected to the video playing layer 110 .
  • Network changes can be monitored through the network monitoring interface 140, and the network type can be recorded on the network monitoring interface 141 of the video component 100, such as NONE (0), WIFI (1), MOLBILE (2) and so on.
  • the video component 100 will pop up a prompt message to remind the user that the network status has changed.
  • the video component 100 can perform focus management.
  • a focus is the focus point, for example, an audio focus is the sound of the audio that the user can hear.
  • many sounds can be played together on Android devices, and the focus mechanism can be added to manage the sounds in a more orderly manner, thereby improving the user experience.
  • a complete focus management layer 150 is encapsulated in the video component 100 , and the focus management layer 150 can respond to internal video and external audio and video. There is no need for the user to manually implement this part of the logic.
  • the focus management layer 150 may include a focus listener interface (OnAudioFocusChangeListener) 151 and an internal focus listener interface (IVideoMediaEventForceListener) 152 . Both the focus monitoring interface 151 and the internal focus monitoring interface 152 are connected to the video playback layer 110 . Among them, OnAudioFocusChangeListener and IVideoMediaEventForceListener belong to the AudioManager class.
  • the focus management layer 150 can be used to monitor the focus change, so that the video component 100 can process the logic corresponding to the focus change. For example, when the focus management layer 150 detects that the video focus is preempted by other audio and video, the video component 100 will automatically process the pause logic.
  • the focus source may be determined according to business requirements.
  • the focus monitoring interface 151 of the focus management layer 150 can be used to monitor the third party, but after the focus monitoring interface 151 monitors the focus event, the internal focus monitoring interface 152 is still used to send and process the focus event.
  • the developer can send a focus notification by calling the requestAudioFocus method in the AudioManager class, indicating that the current APP is about to start.
  • other APPs can monitor the focus notification through the OnAudioFocusChangeListener in the AudioManager class.
  • the focus monitoring interface 151 receives the focus notification, other APPs should perform corresponding processing (such as pausing the audio, etc.) to avoid simultaneous The case where multiple sounds are played.
  • the AudioManager class in the Android system is suitable for focus communication between multiple APPs.
  • the focus can be divided into two categories: one is the system focus sent by the third-party APP, and the other is the focus within the current APP (such as live video, news video, voice broadcast, etc.).
  • the AudioManager class in the focus management layer 150 can be uniformly used to send and monitor the focus event, but when the focus event is sent, an identity information is sent at the same time, and the identity information is used to indicate the identity of the focus sender.
  • AudioManager class is located in the android.Media package, which provides access to control the volume and ring mode operations.
  • AudioFocus is an Audio coordination mechanism introduced by Android. When multiple parties need to use Audio resources, they can coordinate and cooperate through the AudioFocus mechanism to improve user experience.
  • the internal focus monitoring interface 152 can also be used to monitor the media focus type.
  • the media focus type can include 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 Details Page (NEWS_VIDEO_DETAIL_PAGE), News Video Full Screen (NEWS_VIDEO_FULL_SCREEN), News Video Floating Window (NEWS_VIDEO_FLOAT_WINDOW), etc.
  • the video component 100 also includes a video click listener interface (IVideoClickListener) 160 for monitoring video click operations.
  • the video click and listen interface 160 is connected with the video playing layer 110 .
  • the video component 100 also includes a video state change listening interface (IVideoStateChangeListener) 170 for monitoring the video state.
  • the video status may include IDLE status, PLAYING status, PAUSED status, LOADING status, STOPED status, ERROR status, etc.
  • the video state change monitoring interface 170 is connected with the video playing layer 110 .
  • the video component 100 also includes a video UI configuration class 181 for configuring the UI interface.
  • the video component 100 also includes a video configuration class 182 for configuring video configuration items.
  • the video component 100 also includes a video data class (VideoData) 191 and a video data management class (VideoDataManager) 192, which are respectively used to store and manage video data.
  • VideoData video data class
  • VideoDataManager video data management class
  • video definition includes FLU, SD, HD, FHD, 2K, 4K, 8K and so on.
  • SD Standard Definition, Standard Definition
  • HD High Definition
  • FHD Full Definition
  • the user can also customize the playback control view layer 120 of the video.
  • the button in the upper right corner can be input by the user himself.
  • the video component 100 completely encapsulates UI and functions, and the encapsulated UI and functions include small window, full screen, focus processing logic, and the like.
  • the video component 100 also has a small window function.
  • the video component 100 has a built-in small window playback function, and the user only needs to simply call a line of code to start the small window playback.
  • the video widget comes with an elegant UI and functional logic.
  • the video component 100 also has a full screen function.
  • the video component 100 has its own full-screen playback function, and the user does not need to write a line of code. As long as there is a full-screen button in the playback control view layer 120, then clicking the full-screen button will automatically enter the full-screen mode and automatically reuse the current video. Current video UI and current video status. With the built-in full-screen playback function of the video component 100, the video displayed in the full screen and the video on the previous page share a video stream, which can realize seamless switching between full screens.
  • the video component 100 can implement video multiplexing. When jumping to the same video, the video component 100 will intelligently and automatically multiplex the video, so as to complete the seamless switching between the videos.
  • a VideoPlayerManager class may be implemented in the video component 100, and this class is a video stream multiplexing pool. All played videos will be saved in this video stream multiplexing pool.
  • the target video When the target video is ready to be played, it will first check whether there is a video stream identical to the target video in the video stream multiplexing pool. Obtain the same video stream as the target video from the video stream multiplexing pool for video playback.
  • the video component 100 can also perform multiplexing.
  • the multiplexing processing may include performing video multiplexing on the video streams in the video stream multiplexing pool. Multiplexing processing can also include component multiplexing for UI components.
  • the entire video component can be moved directly.
  • Multiplexing, through video component multiplexing, can directly multiplex the UI and functions of the video component corresponding to the target video, so as to achieve the effect of seamless switching.
  • FIG. 2 is a schematic flowchart of a video playing method provided by an embodiment of the present application.
  • the video playing method of the embodiment of the present application can be applied to the video playing device of the embodiment of the present application, and the video playing device can be configured on a terminal device.
  • the terminal device may be a terminal device, and a client is installed in the terminal device, and the client is configured with a video component, and the video component may be the video component shown in FIG. 1 .
  • the method comprises the steps of:
  • Step 201 calling the video component in response to a play instruction for a target video.
  • a video feed list or a video details page may be displayed on the display page of the client.
  • the video feed list or the video details page carries the target video, and the user can click the target video on the display page to trigger a play instruction for the target video, and then call the video component to play the target video.
  • Feed is a content aggregator that combines several news sources actively subscribed by users to help users continuously obtain the latest feed content.
  • a feed is a way of presenting content to users and continuously updating it. Users can choose to subscribe to multiple resources.
  • the website provides a feed URL, and the user registers the feed URL in the reader.
  • the aggregation page formed in the reader is the feed flow .
  • Feeds include not only a certain content, but also people and/or groups that produce the content. Subscriptions are usually mixed with non-subscription content, such as popular recommendations and advertisements.
  • a feed is an information unit, a useful information unit that the user wants to see, or an information unit that meets the user's needs.
  • a feed is an information unit such as a certain card, a piece of text, a piece of video, and a piece of audio.
  • a feed stream is a continuously updated stream of information that pushes feed content to users.
  • presentation forms of the feed stream including but not limited to: the presentation form timeline based on the timeline, the presentation form rank based on intelligent sorting, and the like.
  • the timeline can display the content to the user according to the order in which the content of the feed stream is updated; the rank can calculate the weight of the content of the feed stream according to certain factors, so as to determine the order in which the content of the feed stream is displayed, such as intelligently displaying the feed stream content according to user preferences Sort.
  • the feed list can be a list of information that is continuously loaded by sliding down.
  • the feed list can correspond to the user, and each user who logs in to the client has his own feed list.
  • Each feed entry is an independent piece of information.
  • Operations on the feed list include but are not limited to click, slide down to load, slide up and down to preview, etc. Cards, text, pictures, videos, audio, etc. can be displayed in the feed list.
  • a list of video feeds may include the target video feed and other feeds.
  • the video details 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, video introduction, playback records, and the like.
  • the invoking the video component in response to the playback instruction for the target video includes:
  • the video component in response to a playback instruction for the target video, can be added in the layout file, and the video data can be passed in in the code file to realize user access.
  • the calling the video component includes: calling the first video component if there is a first video component corresponding to the same video as the target video currently to be played in the video component multiplexing pool .
  • the video component may also perform video component multiplexing.
  • a video component multiplexing pool is provided.
  • the video component if there is a first video component corresponding to the same video as the current target video to be played in the video component multiplexing pool, the first video component can be directly A video component is moved and multiplexed.
  • the UI and functions of the first video component corresponding to the target video can be directly multiplexed, so as to achieve the effect of seamless switching.
  • the calling the video component includes: if there are multiple called video components in the video component multiplexing pool, multiplexing the multiple video components from the video component pool The fastest second video component that loads the video is called in .
  • the video component multiplexing pool when the video component is called, select the second video with the fastest loading speed from the multiple video components in the video component multiplexing pool component, the second video component is moved and multiplexed to play the current target video to be played through the second video component, and the video component multiplexing can directly multiplex the second video component with the fastest video loading speed UI and functions to achieve the effect of fast loading video and smooth video playback.
  • the method further includes: according to pre-divided loading blocks of different sizes in the loading medium, and determining the loading block corresponding to the target data, and temporarily storing the target data in the corresponding in the loading block of the .
  • this embodiment proposes a video loading mechanism based on data attributes, divides each loading medium into blocks, and determines a suitable loading block to load target data.
  • the target data includes the target video.
  • the loading block corresponding to the target data is determined, and the target data is stored in the loading block corresponding to the target data , comprising: pre-dividing loading blocks of different sizes in each loading medium, wherein the loading blocks of different sizes are incremented according to an increment factor, and the increment factor is determined according to the average expected size of the target data ; Determine the loading capacity of each loading block according to the minimum block capacity and the increment factor in each loading medium; determine the total loading of each loading medium according to the loading capacity of each loading block capacity; according to the total loading capacity of each loading medium, determine the target loading medium corresponding to the target data; determine the loading block corresponding to the target data in the target storage medium according to the size of the target data, and set The target data is temporarily stored in the loading block corresponding to the target data.
  • the loading blocks of different sizes in the pre-divided loading medium determine the loading block corresponding to the data
  • each loading medium is divided into loading blocks of different sizes, which are incremented according to certain rules. According to the average expected size of the loaded data, determine the increment factor A; assume that there are i loaded blocks in a certain loaded medium, and the minimum block capacity is Cap_X(min);
  • the loading capacity of the i-th loading block is determined as:
  • Cap_X(i) A i-1 Cap_X(min);
  • a suitable loading block is determined in the storage medium according to the size of the data, and the data is temporarily stored in the corresponding loading block.
  • it is called according to the principle of optimal time and memory, effectively manages the loading space, and improves the loading speed.
  • the target data includes the target video
  • the method further includes: when playing the target video, loading the target video from a loading block corresponding to the target video.
  • the calling the video component includes: if there are multiple called video components in the video component multiplexing pool, multiplexing the multiple video components from the video component pool Invoke the third video component with the lowest CPU occupation rate and/or the lowest memory occupation rate.
  • the video component multiplexing pool selects the lowest CPU occupancy and/or memory occupancy from the multiple video components in the video component multiplexing pool
  • the lowest third video component the third video component is moved and multiplexed to play the current target video to be played through the third video component, and the multiplexing of the video component can be directly multiplexed with the lowest CPU occupancy rate and/or
  • the UI and functions of the third video component with the lowest memory occupancy rate so as to reduce the impact on the running speed of the terminal device when the video component is working.
  • Step 202 Find the same first video stream as the target video from the video stream multiplexing pool corresponding to the video component, so as to play the target video according to the first video stream, and the video stream in the multiplexing pool The video stream played by the video component is stored.
  • the searching for the same first video stream as the target video from the video stream multiplexing pool corresponding to the video component, so as to play the target video according to the first video stream includes: Find whether there is a first video stream identical to the target video in the video stream multiplexing pool corresponding to the video component; if there is a first video stream identical to the target video in the video stream multiplexing pool, Then obtain the first video stream to play the target video according to the first video stream; or if there is no first video stream identical to the target video in the video stream multiplexing pool, load the the second video stream corresponding to the target video, so as to play the target video according to the second video stream.
  • the video component can implement video multiplexing.
  • the video component will intelligently and automatically multiplex videos to complete seamless switching between videos.
  • a VideoPlayerManager class can be implemented in the video component. This class is the video stream multiplexing pool.
  • the video stream multiplexing pool can be a data class in the video data class 191 in Figure 1, or it can be the corresponding A data class. All played videos will be saved in this video stream multiplexing pool.
  • the target video When the target video is ready to be played, it will first check whether there is the same first video stream as the target video in the video stream multiplexing pool. If it exists, then The first video stream identical to the target video is directly acquired from the video stream multiplexing pool to perform video playback.
  • load the second video stream corresponding to the target video for example, load the target video corresponding to the target video from cloud storage or a designated database.
  • the second video stream for playing the target video according to the second video stream is
  • the user when the user plays video A, the user clicks on video A to enter the video details page. At this time, when starting to play video A on the video details page, it will first check whether there is a video with the same video in the VideoPlayerManager class. For stream a, if a video stream a identical to video A exists in the VideoPlayerManager class, the video stream a is directly taken out from the VideoPlayerManager class to play without recreating.
  • the video component further includes a focus management layer. Before playing the target video, it further includes: sending a target focus notification corresponding to the target video to other video components through the focus management layer and the The identity information corresponding to the target focus notification, which is used to instruct other video components to release the focus when the focus is preempted; when the focus management layer monitors that the focus sent by other video components is released and the released focus corresponds to When using the identity information, the video component is controlled to play the target video.
  • the first video component, the focus monitoring interface, and the internal focus monitoring interface are set inside the current APP, and the second video component is set inside the remaining APPs.
  • the focus notification is sent by calling the requestAudioFocus method in the audio manager class, indicating that the current APP is about to start playing the target video
  • the current APP can monitor the target focus notification corresponding to the target video by calling the focus monitoring interface in the AudioManager class, and send the target focus notification and its content to the internal focus monitoring interface and other second video components inside the APP through the focus monitoring interface
  • the second video component in other APPs receives the target focus notification and its corresponding identity information, and then the second video component determines that the target video needs to be played currently, if the second video component in other APPs is currently If video B is playing, it means that the focus of the target
  • the focus monitoring interface in the current APP monitors the notification that the second video component releases the focus
  • the focus monitoring interface sends the released focus corresponding to the internal focus monitoring interface.
  • the internal focus monitoring interface will monitor that the focus is released and the identity information corresponding to the released focus will be sent to the first video component, so that the first video component can determine that the focus of the target video to be played is not currently preempted, Then the first video component starts to play the target video.
  • the first video component, the focus monitoring interface, the internal focus monitoring interface, and the second video component are all set inside the current APP.
  • the focus notification is sent by calling the requestAudioFocus method in the audio manager class, indicating that the current APP is about to start playing the target video
  • the current APP can monitor the target focus notification corresponding to the target video by calling the focus monitoring interface in the AudioManager class, and send the target focus notification and its content to the internal focus monitoring interface and the second video component inside the current APP through the focus monitoring interface
  • the second video component receives the target focus notification and its corresponding identity information, and then the second video component determines that the target video needs to be played currently, if the second video component is currently playing video D, it indicates that the target The focus of the video is preempted, and the internal focus monitoring interface detects
  • the focus monitoring interface in the current APP detects the notification that the second video component releases the focus
  • the focus monitoring interface will send the identity information corresponding to the released focus to the internal focus monitoring interface, and then the internal focus monitoring interface will monitor the The focus is released and the identity information corresponding to the released focus is sent to the first video component, so that the first video component determines that the focus of the target video to be played is not currently preempted, and then the first video component starts to play the target video.
  • Step 203 when playing the target video, synchronize the playback progress of the target video in the video feed list with the playback progress in the video details page.
  • the synchronizing the playback progress of the target video in the video feed list with the playback progress in the video details page includes; according to the obtained first page jump instruction, from the video When the feed list jumps to the video details page, the playback progress of the target video in the video feed list is synchronized to the video details page; or according to the obtained second page jump instruction, from the When the video details page jumps to the video feed list, the playback progress of the target video in the video details page is synchronized to the video feed list.
  • volume The volume setting on the details page can be set according to the volume of the mobile phone system
  • Detail page playback pause status Supports business customization.
  • the community detail page may not be suitable for the autoplay function, so the autoplay function can be canceled for the community detail page.
  • volume The video feed maintains the volume switch status of the original feed
  • Feed playback pause status It can follow the system playback settings.
  • volume The volume setting on the details page can be set according to the volume of the mobile phone system
  • Detail page playback pause status Supports business customization.
  • the community detail page may not be suitable for the autoplay function, so the autoplay function can be canceled for the community detail page.
  • Feed playback pause status It can follow the system playback settings.
  • the progress is synchronized in all scenarios and recorded during the life cycle of the current APP.
  • Step 204 in response to the touch operation on the small window button on the video component, control the small window control of the video component to display and play the target video, or in response to the touch operation on the full screen button on the video component Touch operation, controlling the full-screen control on the video component to display the target video.
  • the video component further includes a network monitoring interface
  • the method further includes: when the network monitoring interface monitors that the network status changes, displaying a network status change prompt message on the display interface of the client .
  • the network monitoring interface detects that the network status has changed, that is, when the network connection mode is switched from the wifi network to the traffic data network, the prompt information of the network status change will be displayed on the UI display interface of the client, such as a traffic prompt toast.
  • the toast prompt is a message box type in the Android system, a simple message prompt box, and a mechanism for displaying prompt information in Android; User display information.
  • the controlling the widget control of the video component to display and play the target video in response to the touch operation of the widget button on the video component includes: if the widget control If it is located on the video details page, then pause playing the video on the video details page, and control the widget control to play the target video, and when it is detected that the widget control pauses playing the target video or the
  • the video on the video details page is controlled to play automatically when the network state is a wifi environment; or if the small window control is located on the video feed list, then pause the playback of the video Video on the video feed list, and control the widget control to play the target video, and when it is detected that the widget control pauses to play the target video or the widget control is closed, in the network state Automatically play the videos on the video feed list for controlling in the wifi environment.
  • controlling the small window control to play the target video when controlling the small window control to play the target video, it also includes: if a live room entry request for the target live broadcast is obtained, controlling the small window control to close the target video, And control the small window control to play the target live broadcast.
  • FIG. 4 a schematic diagram of an application scenario of playing in a small window, when controlling the small window control of the video component to display and play the target video, the vertical screen playing in the small window can be realized.
  • FIG. 5 a schematic diagram of an application scenario of playing in a small window, when the small window control of the video component is controlled to display and play the target video, horizontal playing in the small window can be realized.
  • the small window control can be displayed as a floating layer on the video details page. You can click the jump icon on the small window control to jump to the video details page from the small window control, or you can click the blank space on the small window control area to invoke or hide the widget.
  • the schematic diagram of the interaction scene played by the widget shown in Figure 6 the interaction details of the widget may include:
  • the playback status of the small window video and the details page video must be mutually exclusive, only one is allowed to play, and the other is paused; the current details page video is paused by default, and only the small window video is played , that is, to pause playing the video on the video details page, and control the widget to play the target video; if the widget is paused or the widget is closed, the video on the current details page will be automatically played in the wifi environment.
  • the returned upper-level page is the video details page A
  • the video displayed in the current video details page A is paused by default, and only the video B displayed in the small window is played.
  • the small window video supports Control play and pause, while the live widget does not support pause. If the small window playback is paused or the small window is closed, the video on the current details page will be played automatically in the wifi environment.
  • the playback status of the small window video and the video feed list must be mutually exclusive, only one is allowed to play, and the other is paused; the current video feed list is paused by default, and only the small window video is played , that is, to pause playing the video on the video details page, and control the widget to play the target video; if the widget is paused or the widget is closed, the video in the current feed list will be automatically played in the wifi environment.
  • the video displayed in the current feed list page is paused by default, and only the video B displayed in the small window is played.
  • Video feed listings do not autoplay videos. If the small window playback is paused or the small window is closed, the video on the current details page will resume automatic playback under the wifi environment.
  • the focus relationship of video feed, small window video, small window live broadcast, voice broadcast and other broadcast methods includes:
  • Small window video and small window live broadcast sharing a small window, there will not be two small windows at the same time;
  • the playback status is mutually exclusive: please refer to the following table for details:
  • FIG. 7 a schematic diagram of an application scenario is shown in FIG. 7 , which shows examples of broadcast modes such as video feed, small window video/live broadcast, and voice broadcast.
  • the video feed is currently in the paused state
  • the small window video/live broadcast is currently in the playing state
  • the voice broadcast is currently in the paused state.
  • the video when entering the video feed list in the voice broadcast playback state, the video needs to be played silently; when the video is played silently, the voice broadcast will not be interrupted; only when the video is switched to sound, the voice broadcast will be interrupted.
  • the video component can also support 4 modes: mode 1: support non-immersive state (such as applied to community feed list); mode 2: not support non-immersive state (such as applied to information feed list); mode 3 (such as applied to Details page default screen); mode 4 (for example, it is applied to the details page full screen).
  • mode 1 support non-immersive state (such as applied to community feed list); mode 2: not support non-immersive state (such as applied to information feed list); mode 3 (such as applied to Details page default screen); mode 4 (for example, it is applied to the details page full screen).
  • mode 1 support non-immersive state (such as applied to community feed list)
  • mode 2 not support non-immersive state (such as applied to information feed list)
  • mode 3 such as applied to Details page default screen
  • mode 4 for example, it is applied to the details page full screen.
  • mode 1 it supports non-immersive state (such as applied to the community feed list), and the performance of video components in each state can refer to the application scene diagram of mode 1 shown in Figure 8 and the component specification of mode 1 shown in Figure 9 Information Sheet.
  • non-immersive state such as applied to the community feed list
  • the performance of video components in each state can refer to the application scene diagram of mode 1 shown in Figure 8 and the component specification of mode 1 shown in Figure 9 Information Sheet.
  • a triangular play button is displayed on the play window of the video component, and the duration of the video and the amount of attention or play of the video are displayed.
  • the playback progress and the temporary button may not be displayed on the playback window of the video component, and only the video duration and the amount of attention or playback of the video may be displayed, and the volume switch may also be displayed; in the immersive state of the playback state , the video screen can be displayed in the full window on the playback window of the video component, and a weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state.
  • the weak version of the progress bar can be a colored line different from the display color of the video screen Indicates that the total length of the weak version of the progress bar is equal to the length of the long side of the full-window video screen, and the display length of the weak version of the video progress bar is determined according to the ratio of the currently playing video duration to the total video duration; in the non-immersive state of the playing state Next, the pause button, video duration, playback progress (progress bar, progress duration, etc.), full screen button, etc. can be displayed on the playback window of the video component.
  • the duration of the video and the amount of attention or playback of the video can be displayed on the playback window of the video component, and the volume switch can also be displayed, as well as the loading logo of "buffering"; in the immersive state of the loading state
  • the video screen can be displayed in full on the playback window of the video component, and in the immersive state, a weak version of the progress bar can be displayed at the bottom of the full-window video screen, and the loading logo of "buffering" can be displayed; in the non-immersive state of loading In the status, the video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc.
  • the play button can be displayed on the playback window of the video component, as well as a loading logo that displays "buffering".
  • the play button In the non-immersive state of the paused state, the play button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. can be displayed on the playback window of the video component.
  • a replay button In the end state, a replay button can be displayed on the play window of the video component.
  • a loading failure prompt and a retry button can be displayed on the playback window of the video component.
  • mode 2 does not support non-immersive state (such as applied to the information feed list), the performance of video components in each state can refer to the application scene diagram of mode 2 shown in Figure 10, and the components of mode 2 shown in Figure 11 Specification information sheet.
  • a triangular play button is displayed on the play window of the video component, and the duration of the video and the amount of attention or play of the video are displayed.
  • the playback progress and the temporary button may not be displayed on the playback window of the video component, and only the video duration and the amount of attention or playback of the video may be displayed, and the volume switch may also be displayed; in the playback state, it is an immersive state , the full window of the video screen can be displayed on the playback window of the video component, and a weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state.
  • the playback window of the video component can display the duration of the video, the amount of attention or playback of the video, the volume switch, and the loading logo of "buffering"; in the loading state, it is immersive Status, the full window of the video screen can be displayed on the playback window of the video component, and the loading logo of "buffering" can be displayed.
  • mode 2 there is no suspend state.
  • a loading failure prompt and a retry button can be displayed on the playback window of the video component.
  • the performance of video components in each state can refer to the application scene diagram of mode 3 shown in Figure 12 and the component specification information table of mode 3 shown in Figure 13 .
  • a triangular play button is displayed on the play window of the video component, and the video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. are displayed.
  • the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. are displayed in the non-immersive state of the playback state.
  • the video screen can be displayed in the full window on the playback window of the video component, and the weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state.
  • the playback button In the non-immersive state of the loading state, the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc.
  • the video screen can be displayed in the full window on the playback window of the video component, and in the immersive state, it can be displayed at the bottom of the full window video screen A weaker version of the progress bar, and a loading sign that says "buffering".
  • the playback button In the non-immersive state of the paused state, the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc.
  • the video screen can be displayed in full window on the playback window of the video component, and the weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state.
  • a replay button can be displayed on the play window of the video component.
  • a loading failure prompt and a retry button can be displayed on the playback window of the video component.
  • the performance of video components in each state can refer to the application scene diagram of mode 4 shown in Figure 14 and the component specification information table of mode 4 shown in Figure 15.
  • a triangular play button is displayed on the play window of the video component, and the video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. are displayed.
  • the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. are displayed in the non-immersive state of the playback state.
  • the video screen can be displayed in the full window on the playback window of the video component, and the weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state.
  • the playback button In the non-immersive state of the loading state, the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc.
  • the video screen can be displayed in the full window on the playback window of the video component, and in the immersive state, it can be displayed at the bottom of the full window video screen A weaker version of the progress bar, and a loading sign that says "buffering".
  • the playback button, video duration, playback progress (progress bar, progress duration, etc.), full-screen button, etc. can be displayed on the playback window of the video component, and it can also be displayed in the upper right corner to indicate "more many” mark.
  • the video screen In the immersive state of the paused 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 version of the progress bar can be displayed at the bottom of the full window video screen.
  • a replay button In the end state, a replay button can be displayed on the play window of the video component.
  • a loading failure prompt and a retry button can be displayed on the playback window of the video component.
  • mode 4 supports gravity sensor sensing to automatically full screen or restore the default screen.
  • the performance of the video component in each state can refer to the application scene diagram of the widget mode shown in FIG. 16 and the component specification information table of the widget mode shown in FIG. 17 .
  • a pause button, full-screen button, close button, etc. can be displayed on the playback window of the video component; in the immersive state of the playback state, the video can be displayed in full on the playback window of the video component screen, and in the immersive state, a weak version of the progress bar can be displayed at the bottom of the full-window video screen.
  • the video component can be displayed on the playback window of the video component, as well as a loading logo displaying "buffering"; in the immersive state of the loading state, the video component's The full window of the video screen can be displayed on the playback window, and the weak version of the progress bar can be displayed at the bottom of the full window video screen in the immersive state, and the loading logo of "buffering" can be displayed.
  • a play button, a full-screen button, a close button, etc. can be displayed on the play window of the video component, and a logo for "more” can also be displayed in the upper right corner.
  • the video screen In the immersive state of the paused 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 version of the progress bar can be displayed at the bottom of the full window video screen.
  • a replay button In the end state, a replay button can be displayed on the play window of the video component.
  • a loading failure prompt and a retry button can be displayed on the playback window of the video component.
  • mode 1, mode 2, mode 3, mode 4 and small window mode you can configure the display and display requirements for each button, progress bar, control, etc. on the video component according to the actual needs of the product. For example, you can refer to each The component specification information tables corresponding to the modes respectively.
  • the full-screen control on the video component is controlled to display the target video.
  • a touch operation compared to a click operation
  • the full-screen control on the video component is controlled to display the target video.
  • the method further includes: when controlling the video component to enter the background, pausing the currently playing target video; when returning the video component to the foreground, according to the current network status, video playback Setting items, and the historical video playback status when entering the background, re-determine the current playback status of the target video.
  • the currently playing target video is controlled to pause.
  • the video component is called back to the foreground again, according to the current network status, video playback settings, and historical video playback status when entering the background, to re-determine the current playback state of the target video.
  • the video playback setting item type can support single selection, for example, the options can be set to "auto play on”, “auto play on WIFI only/no streaming", “auto play off” and so on.
  • the currently effective option can also be displayed on the right side of the setting item.
  • the setting item is "Enable Autoplay”
  • video feeds and video detail pages can be played automatically.
  • the setting item is "Autoplay only under WIFI/free streaming”
  • the video feed and detail page will be played automatically only under the WIFI/free streaming environment. Otherwise, it is displayed as waiting to play, and you need to manually click to play.
  • setting item when the setting item is "Disable autoplay", under normal network conditions, video feeds and detail pages will not be played automatically, and you need to manually click to play.
  • the default state of the setting item may be "WIFI only/autoplay without streaming”.
  • Setting items can also be synchronized with the cloud. For example, an interface can be opened for external business calls to support the selection of whether automatic playback is required according to business definitions.
  • the adaptation in landscape mode can be:
  • Open the video details page on the right play the video on the right page, and stop playing the video feed in the list on the left.
  • the current network status is wifi environment
  • the current video playback setting item is WIFI only/automatic playback without streaming
  • the historical video playback status when entering the background is playing and playing and the playback progress is 1 minute and 30 seconds (the total video duration is 5 minute), then when the video component is brought back to the foreground again, the target video will continue to be played automatically.
  • the method further includes: when the currently playing target video is closed, if the target video is the last video stream in the video stream multiplexing pool, The corresponding video stream is cleaned up.
  • video streams consume more memory, so a proper timing for cleaning is required. For example, when the current video is closed, it is judged whether the current video is the last video in the video stream multiplexing pool, and if so, the video stream corresponding to the current video is cleared.
  • the embodiment of the present application is applied to a client configured with a video component, by invoking the video component in response to a playback instruction for the target video; searching for the first video stream identical to the target video from the video stream multiplexing pool corresponding to the video component, To play the target video according to the first video stream, the video stream multiplexing pool stores the video stream played by the video component; when playing the target video, compare the playback progress of the target video in the video feed list with the video details page In response to the touch operation of the small window button on the video component, control the small window control of the video component to display and play the target video, or in response to the touch operation of the full screen button on the video component, A full screen control on the control video component displays the target video.
  • the embodiment of the present application is based on the video component directly called by the play instruction, which can realize video multiplexing, and encapsulates the small window function and full screen function in the video component, which improves the functional diversity of the video component, and the user only needs to simply click the small Click the window button or full screen button to realize small window playback or full screen playback, reducing operation complexity and improving the convenience for users to use video components.
  • the embodiment of the present application further provides a video playing device.
  • FIG. 18 is a schematic structural diagram of a video playback device provided by an embodiment of the present application.
  • the video playback device 1800 is applied to a client configured with a video component, and the video playback device 1800 may include:
  • the calling module 1801 is used to call the video component in response to the playback instruction for the target video; the playback module 1802 is used to find the same first video as the target video from the video stream multiplexing pool corresponding to the video component.
  • Video stream to play the target video according to the first video stream, the video stream multiplexing pool stores the video stream played by the video component;
  • the synchronization module 1803 is used to play the target video Synchronize the playback progress of the target video in the video feed list with the playback progress in the video details page;
  • the control module 1804 is configured to respond to the touch operation on the small window button on the video component, control The widget control of the video component displays and plays the target video, or controls the full-screen control on the video component to display the target video in response to a touch operation on the full-screen button on the video component.
  • the playing module 1802 is configured to: check whether there is a first video stream identical to the target video in the video stream multiplexing pool corresponding to the video component; if the video stream is multiplexed There is a first video stream identical to the target video in the pool, then obtain the first video stream to play the target video according to the first video stream; or if the video stream does not exist in the multiplexing pool If the first video stream is the same as the target video, then load the second video stream corresponding to the target video, so as to play the target video according to the second video stream.
  • the video component further includes a focus management layer
  • the playing module 1802 is further configured to: before playing the target video, send the target video correspondence to other video components through the focus management layer.
  • the target focus notification and the identity information corresponding to the target focus notification, the target focus notification is used to instruct other video components to release the focus when the focus is preempted; when the focus management layer monitors that the focus sent by other video components is When the identity information corresponding to the released focus is released, the video component is controlled to play the target video.
  • the synchronization module 1803 is configured to: according to the acquired first page jump instruction, when jumping from the video feed list to the video details page, add the target video to the The playback progress in the video feed list is synchronized to the video details page; or according to the obtained second page jump instruction, when jumping from the video details page to the video feed list, the target video is The playback progress on the video details page is synchronized to the video feed list.
  • the video component further includes a network monitoring interface
  • the control module 1804 is configured to: display the network status on the display interface of the client when the network monitoring interface monitors that the network status changes Change prompt information.
  • control module 1804 is configured to control the small window control of the video component to display and play the target video in response to a touch operation on the small window button on the video component, including: If the small window control is located on the video details page, then pause playing the video on the video details page, and control the small window control to play the target video, and when it is detected that the small window control pauses playback When the target video or the widget control is closed, control the video on the video details page to play automatically when the network status is a wifi environment; or if the widget control is located on the video feed list , then pause playing the video on the video feed list, and control the widget control to play the target video, and when it is detected that the widget control pauses playing the target video or the widget control is closed , controlling the videos on the video feed list to play automatically when the network status is wifi.
  • control module 1804 is configured to control the small window control to close the target video if a request for entering the live broadcast room for the target live broadcast is obtained. video, and control the widget to play the target live broadcast.
  • the control module 1804 is further configured to: display the widget widget in a floating layer on the video details page; In response to a touch operation on the jump icon on the widget control, jump from the widget control to the video details page; by responding to a touch operation on a blank area on the widget control, Invokes the widget or hides the widget.
  • control module 1804 is further configured to: when controlling the video component to enter the background, pause the currently playing target video; when bringing the video component back to the foreground, according to the current network status, video playback setting items, and historical video playback status when entering the background, and re-determine the current playback status of the target video.
  • the video playback device 1800 is further configured to: provide a video component multiplexing pool.
  • the calling module 1801 is configured to call the first video component if there is a first video component corresponding to the same video as the currently to-be-played target video in the video component multiplexing pool.
  • the calling module 1801 is configured to: if there are multiple called video components in the video component multiplexing pool, select from multiple video components in the video component multiplexing pool Calls the fastest second video component that loads the video.
  • the calling module 1801 is configured to: if there are multiple called video components in the video component multiplexing pool, select from multiple video components in the video component multiplexing pool The third video component with the lowest CPU occupancy rate and/or the lowest memory occupancy rate is invoked.
  • the video playback device 1800 is further configured to: determine the loading block corresponding to the target data according to the loading blocks of different sizes in the pre-divided loading medium, and temporarily store the target data in In the loading block corresponding to the target data.
  • the video playback device 1800 determines the loading block corresponding to the target data according to the loading blocks of different sizes in the pre-divided loading medium, and stores the target data in the target data When in the corresponding loading block, it is specifically used to: pre-divide loading blocks of different sizes in each loading medium, wherein the loading blocks of different sizes are incremented according to an increment factor, and the increment factor is based on the specified
  • the average expected size of the target data is determined; according to the minimum block capacity in each loading medium and the increment factor, the loading capacity of each loading block is determined; according to the loading capacity of each loading block , determine the total loading capacity of each loading medium; determine the target loading medium corresponding to the target data according to the total loading capacity of each loading medium; determine the target in the target storage medium according to the size of the target data
  • the loading block corresponding to the data and temporarily storing the target data in the loading block corresponding to the target data.
  • the target data includes the target video
  • the playing module 1802 is further configured to: load the target video from the loading block corresponding to the target video when playing the target video .
  • the calling module 1801 is configured to: add the video component in the layout file in response to the playback instruction for the target video, and pass the data of the target video into the Video component to call said video component.
  • control module 1804 is further configured to: when the currently playing target video is closed, if the target video is the last video stream in the video stream multiplexing pool, Clean up the video stream corresponding to the target video.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the device shown in FIG. 5 can execute the above-mentioned embodiment of the video playback method, and the aforementioned and other operations and/or functions of each unit in the device respectively implement the corresponding process of the above-mentioned method embodiment, for the sake of brevity, no longer repeat.
  • FIG. 19 is a schematic structural diagram of a terminal device provided in an embodiment of the present application.
  • the terminal device 1900 includes a processor 1901 with one or more processing cores, a memory 1902 with one or more computer-readable storage media, and computer programs stored in the memory 1902 and operable on the processor. Wherein the processor 1901 is electrically connected with the memory 1902 .
  • the structure of the terminal device shown in the figure does not constitute a limitation on the terminal device, and may include more or less components than those shown in the figure, or combine some components, or arrange different components.
  • the processor 1901 is the control center of the terminal device 1900. It uses various interfaces and lines to connect various parts of the entire terminal device 1900. By running or loading software programs and/or modules stored in the memory 1902, and calling execute various functions of the terminal device 1900 and process data, so as to monitor the terminal device 1900 as a whole.
  • the processor 1901 in the terminal device 1900 will follow the steps below to load the instructions corresponding to the process of one or more application programs into the memory 1902, and the processor 1901 will run the instructions stored in the memory.
  • the application program in 1902 so as to realize various functions: in response to the playback instruction for the target video, call the video component; from the video stream multiplex pool corresponding to the video component, find the first video that is the same as the target video Video stream, to play the target video according to the first video stream, the video stream played by the video component is stored in the video stream multiplexing pool; when playing the target video, the target video
  • the playback progress in the video feed list is synchronized with the playback progress in the video details page; in response to the touch operation on the small window button on the video component, control the small window control of the video component to display and play the the target video, or in response to a touch operation on the full screen button on the video component, control the full screen control on the video component to display the target video.
  • 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 .
  • 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 .
  • the display unit 1903 can be used to display information input by or provided to the user and various graphical user interfaces of the terminal device.
  • the display unit 1903 may include a display panel and a touch panel.
  • the radio frequency circuit 1904 can be used to send and receive radio frequency signals to establish wireless communication with network equipment or other terminal equipment through wireless communication, and to send and receive signals with network equipment or other terminal equipment.
  • the audio circuit 1905 may be used to provide an audio interface between the user and the terminal device through a speaker or a microphone.
  • the input unit 1906 can be used to receive input numbers, character information or user characteristic information (such as fingerprints, irises, face information, etc.), and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control .
  • the power supply 1907 is used to supply power to various components of the terminal device 1900 .
  • the terminal device 1900 may also include a camera, a sensor, a Wi-Fi module, a Bluetooth module, etc., which will not be repeated here.
  • an embodiment of the present application provides a computer-readable storage medium, which stores a plurality of computer programs that can be loaded by a processor to perform any of the video playback methods provided in the embodiments of the present application.
  • the storage medium may include: a read-only memory (Read Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like. Since the computer program stored in the storage medium can execute the steps in any video playback method provided by the embodiment of the present application, it can realize any video playback method provided by the embodiment of the application. For the beneficial effects, see the previous embodiments for details, and will not be repeated here.

Abstract

本申请公开了一种视频播放方法、装置及存储介质,该方法包括:响应于针对目标视频的播放指令,调用视频组件;从视频组件对应的视频流复用池中查找与目标视频相同的第一视频流,根据第一视频流播放目标视频,视频流复用池内存储有被视频组件播放过的视频流;在播放目标视频时,将目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;响应于针对小窗按钮的触控操作,小窗显示目标视频,或者响应于针对全屏按钮的触控操作,全屏显示目标视频。

Description

视频播放方法、装置及存储介质
本申请要求于2021年07月13日提交的,申请名称为“视频播放方法、装置及存储介质”的、中国专利申请号为“202110789130.8”的优先权,该中国专利申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及一种视频播放方法、装置及存储介质。
背景技术
目前,目前在客户端应用中会设置有视频组件,但是当前市面上的视频组件,只提供基本逻辑,还需用户自行实现UI和功能,且很难实现视频复用,用户使用过程比较繁琐,操作较复杂,影响用户体验。
发明内容
本申请实施例提供一种视频播放方法、装置及存储介质,可以实现视频复用,提高视频组件的功能多样性性,以及降低操作复杂度。
第一方面,提供一种视频播放方法,应用于配置有视频组件的客户端,所述方法包括:响应于针对目标视频的播放指令,调用所述视频组件;从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
第二方面,提供一种视频播放装置,应用于配置有视频组件的客户端,所述装置包括:调用模块,用于响应于针对目标视频的播放指令,调用所述视频组件;播放模块,用于从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;同步模块,用于在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;控制模块,用于响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如第一方面所述的视频播放方法中的步骤。
第四方面,提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如第一方面所述的视频播放方法中的步骤。
本申请实施例提供一种视频播放方法、装置及存储介质,应用于配置有视频组件的客户端,通过响应于针对目标视频的播放指令,调用视频组件;从视频组件对应的视频流复用池中查找与目标视频相同的第一视频流,以根据第一视频流播放目标视频,视频流复用池内存储有被视频组件播放过的视频流;在播放所述目标视频时,将目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;响应于针对视频组件上的小窗按钮的触控操作,控制视频组件的小窗控件显示和播放目标视频,或者响应于针对视频组件上的全屏按钮的触控操作,控制视频组件上的全屏控件显示所述目标视频。本申请实施例基于播放指令直接调用的视频组件,可以实现视频复用,且在视频组件内封装了小窗功能和全屏功能,提高了视频组件的功能多样性性,以及用户只需简单点击小窗按钮或者全屏按钮,即可实现小窗播放或全屏播放,降低操作复杂度,提升用户使用视频组件的便利性。
附图说明
图1为本申请实施例提供的视频组件的结构示意图。
图2为本申请实施例提供的视频播放方法的流程示意图。
图3为本申请实施例提供的焦点管理的应用场景示意图。
图4为本申请实施例提供的小窗竖屏播放的应用场景示意图。
图5为本申请实施例提供的小窗横屏播放的应用场景示意图。
图6为本申请实施例提供的小窗播放的交互场景示意图。
图7为本申请实施例提供的播放方式的应用场景示意图。
图8为本申请实施例提供的模式1的应用场景示意图。
图9为本申请实施例提供的模式1的组件规范信息表。
图10为本申请实施例提供的模式2的应用场景示意图。
图11为本申请实施例提供的模式2的组件规范信息表。
图12为本申请实施例提供的模式3的应用场景示意图。
图13为本申请实施例提供的模式3的组件规范信息表。
图14为本申请实施例提供的模式4的应用场景示意图。
图15为本申请实施例提供的模式4的组件规范信息表。
图16为本申请实施例提供的小窗模式的应用场景示意图。
图17为本申请实施例提供的小窗模式的组件规范信息表。
图18为本申请实施例提供的视频播放装置的结构示意图。
图19为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频播放方法、装置及存储介质。具体地,本申请实施例的视频播放方法可以由终端设备执行,其中,该终端设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络服务、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
本申请各实施例提供了一种视频播放方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本申请实施例以视频播放方法由终端执行为例来进行说明。
请参阅图1,图1为本申请实施例提供的视频组件的结构示意图。本申请实施例提供的视频组件100,主要包括视频播放层110和播控视图层120。
其中,视频播放层110用于监听SDK的状态回调,并更新播控视图层的UI状态。例如,视频播放层110可以包括视频播放层的实现类111和视频播放层的抽象接口112。可以通过视频播放层的实现类111实现视频播放,以及通过视频播放层的抽象接口112来操控播控视图层120。
例如,视频播放层110实现了一个视频工具SDK处理器(VideoSDKProcessor)类131,其内部封装了底层的视频SDK。在视频SDK发出事件变动通知时,通过接口回调给视频播放层,比如通过SDK事件监听接口(ITXVodPlayListener)132回调给视频播放层110。例如,VideoSDK用于为互联网视频移动端应用提供服务,包括音视频拍摄、特效编辑、人物美颜等功能,在帮助开发者节省人力、物力成本的同时满足用户多样化需求。帮助开发者简化开发工作,构建业务快速上线。
播控视图层120包括播控视图层的实现类121和播控视图层的抽象接口122。可以通过播控视图层的实现类121实现对播控视图层120的UI控制。例如播控视图层120实现了视频制作工具操作插件(IVideoOperateWidget)接口,这个就是播控视图层的抽象接口122,视频播放层的抽象接口(IVideoOperateListener)112持有IVideoOperateWidget对象,视频播放层110通过视频播放层的抽象接口112持有的IVideoOperateWidget对象来操控播控视图层。IVideo是一款功能强大、操作简单的互动视频制作工具。IVideo以视频资源为基础,可加入文本、图片、超链接,视频、音频、互动游戏组件等众多互动内容。
其中,用户操作播控视图层120的UI控件时,根据用户作用于播控视图层120的UI控件产生的操作指令来更新视频播放层110的状态。例如,视频播放层110实现了视频制作工具插件(IVideoWidget)接口,在视频播放层110中添加播控视图层120时,会把VideoWidget传入。播控视图层120就持有了IVideoWidget的实现,此时IVideoWidget就是视频播放层110的抽象。那么用户在播控视图层120的操作都会通过IVideoWidget接口回调给视频播放层110。
其中,视频组件100内部还会监听网络变化,并对网络变化对应的逻辑进行处理。例如,视频组件100还包括网络监听接口(NetworkEventProcessor)140,该网络监听接口140与视频播放层110相连接。例如,可以通过网络监听接口140监听网络变化,在视频组件100的网络监听接口141可以记录网络类型,比如NONE(0)、WIFI(1)、MOLBILE(2)等。例如,当网络监听接口140监听到网络状态发生改变时,视频组件100会弹出提示信息以提醒用户网络状态发生改变。
其中,视频组件100可以进行焦点管理。例如,焦点即为聚集点,例如,音频焦点为用户能听见的音频的声音。在安卓设备上默认是可以好多声音一起播放的,而加入了焦点机制,可以更加有序的对声音进行管理,从而提高用户体验感。例如,视频组件100内封装了完善的焦点管理层150,可以通过焦点管理层150针对内部视频以及外部的音视频做出反应。无需用户手动实现该部分逻辑。例如,该焦点管理层150可以包括焦点监听接口(OnAudioFocusChangeListener)151和内部焦点监听接口(IVideoMediaEventForceListener)152。该焦点监听接口151和内部焦点监听接口152均与视频播放层110相连接。其中,OnAudioFocusChangeListener与IVideoMediaEventForceListener属于AudioManager类。
例如,可以通过焦点管理层150监听焦点变化,以使视频组件100对焦点变化对应的逻辑进行处理。例如,当焦点管理层150监听到视频焦点被其他音视频抢占时,视频组件100会自动处理暂停逻辑。
例如,可以在收到焦点抢占通知时,根据业务需求确定焦点来源。具体的,可以使用焦点管理层150的焦点监听接口151对第三方进行监听,但是焦点监听接口151监听到焦点事件之后还是使用内部焦点监听接口152对焦点事件进行发送和处理。
其中,在安卓(Android)设备中,当用户在当前APP内部打开视频组件进行播放时,开发者可以通过调用音频管理器(AudioManager)类中的requestAudioFocus方法发送一个焦点通知,表示当前该APP要开始播放音频了,那么其余APP可以通过AudioManager类中的OnAudioFocusChangeListener来监听这个焦点通知,当焦点监听接口151收到该焦点通知时,其余APP内部应进行相应的处理(例如暂停播放音频等)来避免同时播放多个声音的情况。其中,Android系统中的AudioManager类适用于多个APP之间的焦点通信,使用该类只能提供发送和监听的能力,无法知道是谁获取了焦点,以及当前的焦点是什么。因此,可以将焦点分为两类:一类是第三方APP发送的系统焦点,另一类是当前APP内部的焦点(例如直播 视频,资讯视频,语音播报等)。可以统一使用焦点管理层150中的AudioManager类来发送和监听焦点事件,但是会在发送焦点事件时,同时发送一条身份信息,该身份信息用于指示焦点发送者的身份。此时,若当前APP内部的其他媒体监听到了焦点事件,则可以根据该身份信息,来判断出该焦点的发送者是来自第三方APP还是来自当前APP内部,然后采取相应的处理逻辑。其中,AudioManager类位于android.Media包中,该类提供访问控制音量和钤声模式的操作。其中,AudioFocus是Android引入的一个Audio协调机制,当多方需要使用Audio资源时,可以通过AudioFocus机制来协调配合,提高用户体验。
例如,该内部焦点监听接口152还可以用于监听媒体焦点类型,比如,媒体焦点类型可以包括新闻语音(NEWS_VOICE)、直播间(LIVE_ROOM)、直播浮动窗口(LIVE_FLOAT_WINDOW)、IM视频(IM_VIDEO)、SNS视频(SNS_VIDEO)、新闻视频列表(NEWS_VIDEO_LIST)、新闻视频详情页(NEWS_VIDEO_DETAIL_PAGE)、新闻视频全屏(NEWS_VIDEO_FULL_SCREEN)、新闻视频浮动窗口(NEWS_VIDEO_FLOAT_WINDOW)等。
例如,该视频组件100还包括视频点击监听接口(IVideoClickListener)160,用于监听视频的点击操作。该视频点击监听接口160与视频播放层110相连接。例如,该视频组件100还包括视频状态改变监听接口(IVideoStateChangeListener)170,用于监听视频状态。比如视频状态可以包括空闲(IDLE)状态、播放(PLAYING)状态、暂停(PAUSED)状态、加载(LOADING)状态、停止(STOPED)状态、错误(ERROR)状态等。该视频状态改变监听接口170与视频播放层110相连接。例如,该视频组件100还包括视频UI配置类181,用于配置UI界面。例如,该视频组件100还包括视频配置类182,用于配置视频配置项。例如,该视频组件100还包括视频数据类(VideoData)191和视频数据管理类(VideoDataManager)192,分别用于存储和管理视频数据。其中,在视频数据管理类192中,还可以用于管理视频清晰度,例如视频清晰度包括FLU、SD、HD、FHD、2K、4K、8K等。屏幕分辨率为480p或者576p的被称为度SD(Standard Definition,标清),屏幕分辨率为720p的被称为HD(High Definition,高清);屏幕分辨率为1080p的被称为FHD(Full High Definition,全高清);4k被称为UHD(Ultra High Definition,超高清)或者4k UHD;8k被称为FUHD(Full Ultra High Definition,8k超高清)或者8k UHD。例如,用户还可以对视频的播控视图层120进行自定义。例如模式3和模式4的播控视图中,右上角的按钮可以由用户自己传入。例如,该视频组件100对UI和功能进行完整封装,被封装的UI和功能包括小窗、全屏、焦点处理逻辑等。
其中,视频组件100还具有小窗功能。视频组件100自带小窗播放功能,用户只需要简单的调用一行代码即可开启小窗播放。视频小窗自带优雅的UI以及功能逻辑。
其中,视频组件100还具有全屏功能。视频组件100自带全屏播放功能,用户可以无需写一行代码,只要在播控视图层120中设有全屏按钮,那么点击这个全屏按钮,就会自动进入全屏模式,并自动复用当前视频,同步当前视频UI和当前视频状态。视频组件100自带的全屏播放功能,在全屏中显示的视频和上一个页面的视频共用一个视频流,可以实现无缝切换全屏。
其中,视频组件100可以实现视频复用。当相同视频进行跳转时,视频组件100会智能的自动复用视频,以完成视频之间的无缝切换。
例如,可以在视频组件100中实现了一个VideoPlayerManager类,这个类就是视频流复用池。所有播放过的视频都会保存在这个视频流复用池中,当准备播放目标视频时,会先在视频流复用池中查找是否存在与该目标视频相同的视频流,若存在,则直接从视频流复用池中获取与该目标视频相同的视频流来进行视频播放。例如,该视频组件100还可以进行复用处理。复用处理可以包括针对视频流复用池中的视频流进行视频复用。复用处理还可以包括针对UI组件的组件复用,比如设有视频组件复用池,若视频组件复用池中存在与当前待播放的目标视频相同的视频,则可以直接将整个视频组件搬移复用,通过视频组件复用,可以直接复用目标视频对应的视频组件的UI和功能,以达到无缝切换的效果。
请参阅图2至图17,其中,图2为本申请实施例提供的视频播放方法的流程示意图。需要说明的是,本申请实施例的视频播放方法可应用于本申请实施例的视频播放装置,该视频播放装置可被配置于终端设备上。该终端设备可以为终端设备,该终端设备内安装有客户端,该客户端配置有视频组件,该视频组件可以为图1所示的视频组件。所述方法包括以下步骤:
步骤201,响应于针对目标视频的播放指令,调用所述视频组件。
例如,客户端开启后,可以在客户端的显示页面上显示视频feed列表或者视频详情页。该视频feed列表或者视频详情页内携带有目标视频,用户可以在显示页面上点击目标视频,以触发针对目标视频的播放指令,进而调用所述视频组件来播放目标视频。feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。例如,feed是一种呈现内容给用户并持续更新的方式,用户可以选择订阅多个资源,网站提供feed网址,用户将feed网址登记到阅读器里,在阅读器里形成的聚合页就是feed流。订阅源不仅包括某个内容,还包括生产内容的人和/或团体,订阅中通常夹杂非订阅内容,比如热门推荐、广告等。一个feed就是一个信息单元,一个用户想看的有用信息单元,或者一个满足用户需求的信息单元。例如,一个feed为某一个卡片、一段文字、一段视频、一段音频等信息单元。feed流是一种持续更新的信息流,可以将订阅源内容推送给用户。feed流的展现形式有很多种,包括但不限于:基于时间线的展现形式timeline、基于智能排序的展现形式rank等。其中,timeline可以按照feed流内容更新的时间先后顺序,将内容展示给用户;rank可以按照某些因素计算feed流内容的权重,从而决定feed流内容展示的先后顺序,例如根据用户兴趣偏好进行智能排序。
feed列表可以是一列不断向下滑动不断加载的信息列表。feed列表可以与用户对应,每个登录客户端的用户都有一个属于自己的feed列表。每个feed条目都是一个独立的信息,对feed列表的操作包括但不限于点击、向下滑动加载、上下滑动预览等,feed列表中可以展示卡片、文字、图片、视频、音频等。
例如,视频feed列表可以包括该目标视频feed和其他feed。
例如,视频详情页可以包括该目标视频的播放窗口和该目标视频对应的详情信息,比如该详情信息可以包括评论信息、视频简介、播放记录等。
在一些实施例中,所述响应于针对目标视频的播放指令,调用所述视频组件,包括:
响应于针对目标视频的播放指令,在布局文件中添加所述视频组件,并在代码文件中将所述目标视频的数据传入所述视频组件,以调用所述视频组件。
例如,当用户使用视频组件时,可以响应于针对目标视频的播放指令,在布局文件中添加视频组件,并在代码文件中将视频数据传入即可实现用户接入。
在一些实施例中,设有视频组件复用池。
在一些实施例中,所述调用所述视频组件,包括:若视频组件复用池中存在与当前待播放的目标视频相同的视频所对应的第一视频组件,则调用所述第一视频组件。
例如,所述视频组件还可以进行视频组件复用。比如设有视频组件复用池,在调用所述视频组件时,若视频组件复用池中存在与当前待播放的目标视频相同的视频所对应的第一视频组件,则可以直接将所述第一视频组件进行搬移复用,通过视频组件复用,可以直接复用目标视频对应的第一视频组件的UI和功能,以达到无缝切换的效果。
在一些实施例中,所述调用所述视频组件,包括:若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用加载视频的速度最快的第二视频组件。
例如,若视频组件复用池中存在多个之前被调用过的视频组件,在调用视频组件时,从视频组件复用池中的多个视频组件中选取加载视频的速度最快的第二视频组件,将该第二视频组件进行搬移复用,以通过该第二视频组件播放当前待播放的目标视频,通过视频组件复用,可以直接复用加载视频的速度最快的第二视频组件的UI和功能,以达到快速加载视频并流畅播放视频的效果。
在一些实施例中,所述方法还包括:根据预先划分的加载介质中不同大小的加载区块,并确定目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
具体的,本实施例提出一种基于数据属性的加载视频机制,在每个加载介质中划分区块,确定合适的加载区块以将目标数据加载。例如,所述目标数据包括所述目标视频。
在一些实施例中,所述根据预先划分的加载介质中不同大小的加载区块,并确定目标数据对应的加载区块,且将所述目标数据存放于所述目标数据对应的加载区块中,包括:在每个加载介质中预先划分不同大小的加载区块,其中,所述不同大小的加载区块按照递增因子进行递增,所述递增因子是根据所述目标数据的平均预期大小确定的;根据每个加载介质中的最小区块容量以及所述递增因子,确定每个所述加载区块的加载容量;根据每个所述加载区块的加载容量,确定每个加载介质的总加载容量;根据每个加载介质的总加载容量,确定所述目标数据对应的目标加载介质;根据所述目标数据的大小在所述目标存储介质中确定所述目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
具体的,根据预先划分的加载介质中不同大小的加载区块,确定该数据对应的加载区块;
进一步的,在每个加载介质中划分不同大小的加载区块,按照一定的规则递增。根据加载数据的平均预期大小,确定递增因子A;假设某个加载介质中有i个加载区块,其中最小区块容量为Cap_X(min);
根据递增因子A和最小区块通量确定第i个加载区块的加载容量为:
Cap_X(i)=A i-1Cap_X(min);
根据每个区块加载容量确定该加载介质的总加载容量,即为等比数列的求和:
Figure PCTCN2022100199-appb-000001
在确定数据需要存放的加载介质之后,根据数据的大小在该存储介质中确定合适的加载区块,将数据暂存于对应的加载区块中。当需要调用所需加载数据时,根据时间及内存最优原则进行调用,有效的管理加载空间,提升加载速度。
在一些实施例中,所述目标数据包括所述目标视频,所述方法还包括:在播放所述目标视频时,从所述目标视频对应的加载区块中加载所述目标视频。
在一些实施例中,所述调用所述视频组件,包括:若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用CPU占有率最低和/或内存占有率最低的第三视频组件。
例如,若视频组件复用池中存在多个之前被调用过的视频组件,在调用视频组件时,从视频组件复用池中的多个视频组件中选取CPU占有率最低和/或内存占有率最低的第三视频组件,将该第三视频组件进行搬移复用,以通过该第三视频组件播放当前待播放的目标视频,通过视频组件复用,可以直接复用CPU占有率最低和/或内存占有率最低的第三视频组件的UI和功能,以降低视频组件工作时对终端设备运行速度的影响。
步骤202,从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流。
在一些实施例中,所述从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频 流,以根据所述第一视频流播放所述目标视频,包括:在所述视频组件对应的视频流复用池中查找是否存在与所述目标视频相同的第一视频流;若所述视频流复用池中存在与所述目标视频相同的第一视频流,则获取所述第一视频流,以根据所述第一视频流播放所述目标视频;或者若所述视频流复用池中不存在与所述目标视频相同的第一视频流,则加载所述目标视频对应的第二视频流,以根据所述第二视频流播放所述目标视频。
其中,视频组件可以实现视频复用。当相同视频进行跳转时,视频组件会智能的自动复用视频,以完成视频之间的无缝切换。比如可以在视频组件中实现了一个VideoPlayerManager类,这个类就是视频流复用池,该视频流复用池可以为图1中视频数据类191中的一种数据类,也可以为客户端对应的一种数据类。所有播放过的视频都会保存在这个视频流复用池中,当准备播放目标视频时,会先在视频流复用池中查找是否存在与该目标视频相同的第一视频流,若存在,则直接从视频流复用池中获取与该目标视频相同的第一视频流来进行视频播放。若所述视频流复用池中不存在与所述目标视频相同的第一视频流,则加载所述目标视频对应的第二视频流,比如从云存储器或者指定数据库中加载所述目标视频对应的第二视频流,以根据所述第二视频流播放所述目标视频。
例如,用户播放了视频A,此时用户点击视频A,那么就会进入到视频详情页,此时开始播放视频详情页中的视频A时,会先从VideoPlayerManager类中查找是否存在相同视频的视频流a,若发现VideoPlayerManager类中存在一个与视频A相同的视频流a,则直接从VideoPlayerManager类中取出视频流a进行播放,而无需重新创建。
在一些实施例中,所述视频组件还包括焦点管理层,在播放所述目标视频之前,还包括:通过所述焦点管理层向其他视频组件发送所述目标视频对应的目标焦点通知以及所述目标焦点通知对应的身份信息,所述目标焦点通知用于指示其他视频组件在焦点被抢占时释放焦点;当通过所述焦点管理层监听到其他视频组件发送的焦点被释放以及被释放的焦点对应的身份信息时,控制所述视频组件播放所述目标视频。
例如,参阅图3,例如,第一视频组件、焦点监听接口、内部焦点监听接口设置于当前APP内部,第二视频组件设置于其余APP内部。在当前APP内部,当用户在当前APP内部打开第一视频组件准备播放目标视频(比如视频A)时,通过调用音频管理器类中的requestAudioFocus方法发送焦点通知,表示当前APP要开始播放目标视频了,当前APP可以通过调用AudioManager类中的焦点监听接口来监听该目标视频对应的目标焦点通知,并通过焦点监听接口向内部焦点监听接口以及其余APP内部的第二视频组件发送该目标焦点通知及其对应的身份信息,其余APP内部的第二视频组件接收到该目标焦点通知及其对应的身份信息,进而第二视频组件确定该目标视频当前需进行播放,若其余APP内部的第二视频组件当前正在播放视频B,则表明目标视频的焦点被抢占,内部焦点监听接口监听到焦点被抢占,并将第一视频组件要播放目标视频的焦点通知发送至其余APP内部的第二视频组件,以使第二视频组件对当前播放的视频B对应的焦点进行释放,若当前APP内的焦点监听接口监听到第二视频组件释放焦点的通知,则焦点监听接口向内部焦点监听接口发送被释放的焦点对应的身份信息,然后内部焦点监听接口将监听到焦点被释放以及被释放的焦点对应的身份信息发送给第一视频组件,以使得第一视频组件确定待播放的目标视频的焦点当前没有被抢占,进而第一视频组件开始播放目标视频。
例如,可以继续参阅图3,例如,第一视频组件、焦点监听接口、内部焦点监听接口、第二视频组件均设置于当前APP内部。在当前APP内部,当用户在当前APP内部打开第一视频组件准备播放目标视频(比如视频C)时,通过调用音频管理器类中的requestAudioFocus方法发送焦点通知,表示当前APP要开始播放目标视频了,当前APP可以通过调用AudioManager类中的焦点监听接口来监听该目标视频对应的目标焦点通知,并通过焦点监听接口向内部焦点监听接口以及当前APP内部的第二视频组件发送该目标焦点通知及其对应的身份信息,第二视频组件接收到该目标焦点通知及其对应的身份信息,进而第二视频组件确定该目标视频当前需进行播放,若第二视频组件当前正在播放视频D,则表明目标视频的焦点被抢占,内部焦点监听接口监听到焦点被抢占,并将第一视频组件要播放目标视频的焦点通知发送至第二视频组件,以使第二视频组件对当前播放的视频D对应的焦点进行释放,若当前APP内的焦点监听接口监听到第二视频组件释放焦点的通知,则焦点监听接口向内部焦点监听接口发送被释放的焦点对应的身份信息,然后内部焦点监听接口将监听到焦点被释放以及被释放的焦点对应的身份信息发送给第一视频组件,以使得第一视频组件确定待播放的目标视频的焦点当前没有被抢占,进而第一视频组件开始播放目标视频。
步骤203,在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步。
在一些实施例中,所述将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步,包括;根据获取到的第一页面跳转指令,从所述视频feed列表跳转至所述视频详情页时,将所述目标视频在所述视频feed列表中的播放进度同步到所述视频详情页中;或者根据获取到的第二页面跳转指令,从所述视频详情页跳转至所述视频feed列表时,将所述目标视频在所述视频详情页中的播放进度同步到所述视频feed列表中。
其中,需要将视频feed列表与视频详情页的播放进度进行衔接。
例如,在WIFI环境下,根据获取到的第一页面跳转指令,从视频feed列表进入详情页时:
进度:视频feed的播放进度需要同步到视频详情页中,两边进度需做衔接;
音量:详情页的音量设置,可以跟随手机系统音量进行设置;
详情页播放暂停状态:支持业务自定义,比如社区详情页可能不适合自动播放功能,因此对于社区详情页可以取消自动播放功能。
例如,在WIFI环境下,根据获取到的第二页面跳转指令,从视频详情页返回视频feed列表时:
进度:如果该视频feed还显示在当前屏幕上时,视频详情页的播放进度需要同步到视频feed中,两边进度需做衔接;
音量:视频feed保持原先feed的音量开关状态;
feed播放暂停状态:可以跟随系统播放设置。
例如,在流量环境下,根据获取到的第一页面跳转指令,从视频feed列表进入视频详情页时:
进度:视频feed的播放进度需要同步到视频详情页中,两边进度需做衔接;
音量:详情页的音量设置,可以跟随手机系统音量进行设置;
详情页播放暂停状态:支持业务自定义,比如社区详情页可能不适合自动播放功能,因此对于社区详情页可以取消自动播放功能。
例如,在流量环境下,根据获取到的第二页面跳转指令,从视频详情页返回视频feed列表时:
进度:详情页视频开始播放后,从详情页返回视频feed列表时,视频详情页的播放进度需要同步到视频feed中,两边进度需做衔接;
音量:视频feed依旧保持静音;
feed播放暂停状态:可以跟随系统播放设置。
例如,对于同一个视频源,在所有场景下进行进度的同步,并在当前APP的生命周期内进行记录。
步骤204,响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
在一些实施例中,所述视频组件还包括网络监听接口,所述方法还包括:当所述网络监听接口监听到网络状态发生改变时,在所述客户端的显示界面上显示网络状态变化提示信息。
其中,网络变化时,若该视频组件已存在之前的历史播放状态(即非初始化状态),无论目前播放设置是什么,则保持之前的历史播放状态。若网络监听接口监听到网络状态发生改变,即网络连接方式从wifi网络切到流量数据网络时,会在客户端的UI显示界面上显示网络状态变化提示信息,比如显示流量提示toast。例如,toast提示是Android系统中一种消息框类型,一种简易的消息提示框,是Android中用来显示提示信息的一种机制;Toast类的思想就是尽可能不引人注意,同时还向用户显示信息。
在一些实施例中,所述响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,包括:若所述小窗控件位于所述视频详情页上,则暂停播放所述视频详情页上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频详情页上的视频进行自动播放;或者若所述小窗控件位于所述视频feed列表上,则暂停播放所述视频feed列表上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频feed列表上的视频进行自动播放。
在一些实施例中,在所述控制所述小窗控件播放所述目标视频时,还包括:若获取到针对目标直播的直播间进入请求,则控制所述小窗控件关闭所述目标视频,以及控制所述小窗控件播放所述目标直播。
例如,如图4所示的小窗播放的应用场景示意图,在控制所述视频组件的小窗控件显示和播放所述目标视频时,可以实现小窗竖屏播放。
例如,如图5所示的小窗播放的应用场景示意图,在控制所述视频组件的小窗控件显示和播放所述目标视频时,可以实现小窗横屏播放。
例如,可以在视频详情页上以浮层的方式显示小窗控件,可以通过点击小窗控件上的跳转图标以从小窗控件跳转至视频详情页,还可以通过点击小窗控件上的空白区域来唤起或隐藏小窗控件。
例如,图6所示的小窗播放的交互场景示意图,小窗的交互细节可以包括:
(1)点击小窗按钮(icon):
在视频详情页中点击小窗icon:回退到上一级页面;
在全屏中点击小窗icon:关闭当前视频详情页,回退到上一级页面。
(2)开启小窗后的场景:
a.若返回的上一级页面是视频详情页:小窗视频与详情页视频的播放状态需互斥,只允许播一个,另一个暂停;当前详情页视频默认暂停播放,只播放小窗视频,即暂停播放所述视频详情页上的视频,且控制所述小窗控件播放所述目标视频;若暂停小窗播放或者关闭小窗后,当前详情页的视频在wifi环境下自动播放。
例如,如图6所示,若返回的上一级页面是视频详情页A,当前视频详情页A内显示的视频默认暂停播放,只播放小窗内显示的视频B,其中,小窗视频支持控制播放与暂停,而直播小窗不支持暂停。若暂停小窗播放或者关闭小窗后,当前详情页的视频在wifi环境下自动播放。
b.若返回的上一级页面是feed列表页:小窗视频与视频feed列表的播放状态需互斥,只允许播一个,另一个暂停;当前视频feed列表默认暂停播放,只播放小窗视频,即暂停播放所述视频详情页上的视频,且控制所述小窗控件播放所述目标视频;若暂停小窗播放或者关闭小窗后,当前feed列表的视频在wifi环境下自动播放。
例如,如图6所示,若返回的上一级页面是feed列表页,当前feed列表页内显示的视频默认暂停播放,只播放小窗内显示的视频B,当小窗视频正在播放时,视频feed列表不自动播放视频。若暂停小窗播放或者关闭小窗后,当前详情页的视频在wifi环境下恢复自动播放。
c.其他情况:若当前存在一个小窗视频,在进入直播间时关闭视频小窗视频;若从全屏切回视频详情页,原有的小窗语音、小窗视频或者小窗直播,需要继续保留;若当前存在一个小窗视频(视频内容为A),在小窗外的其他场景下又打开一个视频详情页A,此时在视频详情页A中需要关掉小窗视频A;点击视频详情页A的小窗icon,关掉当前详情页,重新打开一个小窗A'。
其中,视频feed、小窗视频、小窗直播、语音播报等播报方式的焦点关系,包括:
小窗视频与小窗直播:共用一个小窗,不会同时存在两个小窗;
小窗与语音播报:默认播放最新打开的内容。
播放状态互斥:具体可参如以下表格:
视频feed 小窗视频 小窗直播 语音播报
手动播放 暂停 关闭 暂停
暂停 播放 \ 暂停
暂停 \ 播放 暂停
暂停 暂停 关闭 手动播放
例如,如图7所示的应用场景示意图,图中示出了视频feed、小窗视频/直播、语音播报等播报方式的展示示例。视频feed当前为暂停状态,小窗视频/直播当前为播放状态,语音播报当前为暂停状态。
其中,在语音播报播放状态中进入视频feed列表时,视频需要静音播放;视频静音播放时,不会打断语音播报;只有视频切换为有声时,才会打断语音播报。
例如,视频组件还可以支持4种模式:模式1:支持非沉浸状态(比如应用于社区feed列表);模式2:不支持非沉浸状态(比如应用于资讯feed列表);模式3(比如应用于详情页默认屏);模式4(比如应用于详情页全屏)。
例如,针对模式1,支持非沉浸状态(比如应用于社区feed列表),视频组件各状态下表现可参图8示出的模式1的应用场景图,以及图9示出的模式1的组件规范信息表。例如,在未播放状态下,在视频组件的播放窗上显示三角形的播放按钮,且显示视频时长和视频的关注量或播放量。在播放状态的初始状态下,在视频组件的播放窗上可以不显示播放进度和暂时按钮,只显示视频时长和视频的关注量或播放量,还可以显示音量开关;在播放状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条,该弱版进度条可以以区别于视频画面的显示颜色的有色线条表示,弱版进度条的总长等于满窗视频画面的长边的长度,根据当前播放的视频时长与视频总时长的比值,确定该弱版视频进度条的展示长度;在播放状态的非沉浸状态下,在视频组件的播放窗上可以显示暂停按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等。在加载状态的初始状态下,在视频组件的播放窗上可以显示视频时长和视频的关注量或播放量,还可以显示音量开关,以及显示“正在缓冲”的加载标识;在加载状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条,以及显示“正在缓冲”的加载标识;在加载状态的非沉浸状态下,在视频组件的播放窗上可以显示视频时长、播放进度(进度条、进度时长等)、全屏按钮等,以及显示“正在缓冲”的加载标识。在暂停状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等。在结束状态下,在视频组件的播放窗上可以显示重播按钮。在失败状态下,在视频组件的播放窗上可以显示加载失败提示和重试按钮。
例如,针对模式2,不支持非沉浸状态(比如应用于资讯feed列表),视频组件各状态下表现可参图10示出的模式2的应用场景图,以及图11示出的模式2的组件规范信息表。例如,在未播放状态下,在视频组件的播放窗上显示三角形的播放按钮,且显示视频时长和视频的关注量或播放量。在播放状态的初始状态下,在视频组件的播放窗上可以不显示播放进度和暂时按钮,只显示视频时长和视频的关注量或播放量,还可以显示音量开关;在播放状态下为沉浸状态,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在加载状态的初始状态下,在视频组件的播放窗上可以显示视频时长和视频的关注量或播放量,还可以显示音量开关,以及显示“正在缓冲”的加载标识;在加载状态下为沉浸状态,在视频组件的播放窗上可以满窗显示视频画面,以及显示“正在缓冲”的加载标识。模式2不存在暂停状态。在失败状态下,在视频组件的播放窗上可以显示加载失败提示和重试按钮。
例如,针对模式3(比如应用于详情页默认屏),视频组件各状态下表现可参图12示出的模式3的应用场景图,以及图13示出的模式3的组件规范信息表。例如,在未播放状态下,在视频组件的播放窗上显示三角形的播放按钮,且显示视频时长、播放进度(进度条、进度时长等)、全屏按钮等。在播放状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可以在右上角显示用于表示“更多”的标识;在播放状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在加载状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可以在右上角显示用于表示“更多”的标识,以及显示“正在缓冲”的加载标识;在加载状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条,以及显示“正在缓冲”的加载标识。在暂停状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可 以在右上角显示用于表示“更多”的标识,在暂停状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在结束状态下,在视频组件的播放窗上可以显示重播按钮。在失败状态下,在视频组件的播放窗上可以显示加载失败提示和重试按钮。
例如,针对模式4(比如应用于详情页全屏),视频组件各状态下表现可参图14示出的模式4的应用场景图,以及图15示出的模式4的组件规范信息表。例如,在未播放状态下,在视频组件的播放窗上显示三角形的播放按钮,且显示视频时长、播放进度(进度条、进度时长等)、全屏按钮等。在播放状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可以在右上角显示用于表示“更多”的标识;在播放状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在加载状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可以在右上角显示用于表示“更多”的标识,以及显示“正在缓冲”的加载标识;在加载状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条,以及显示“正在缓冲”的加载标识。在暂停状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、视频时长、播放进度(进度条、进度时长等)、全屏按钮等,也可以在右上角显示用于表示“更多”的标识。在暂停状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在结束状态下,在视频组件的播放窗上可以显示重播按钮。在失败状态下,在视频组件的播放窗上可以显示加载失败提示和重试按钮。其中,模式4的支持重力传感器感应自动全屏或者回复默认屏。
例如,针对视频小窗功能,视频组件各状态下表现可参图16示出的小窗模式的应用场景图,以及图17示出的小窗模式的组件规范信息表。例如,在播放状态的非沉浸状态下,在视频组件的播放窗上可以显示暂停按钮、全屏按钮、关闭按钮等;在播放状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在加载状态的非沉浸状态下,在视频组件的播放窗上可以显示暂停按钮、全屏按钮、关闭按钮等,以及显示“正在缓冲”的加载标识;在加载状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条,以及显示“正在缓冲”的加载标识。在暂停状态的非沉浸状态下,在视频组件的播放窗上可以显示播放按钮、全屏按钮、关闭按钮等,也可以在右上角显示用于表示“更多”的标识。在暂停状态的沉浸状态下,在视频组件的播放窗上可以满窗显示视频画面,且沉浸状态下可以在满窗视频画面的底部显示弱版进度条。在结束状态下,在视频组件的播放窗上可以显示重播按钮。在失败状态下,在视频组件的播放窗上可以显示加载失败提示和重试按钮。
其中,关于模式1、模式2、模式3、模式4和小窗模式,可以根据产品实际需求对视频组件上的各个按钮、进度条、控件等配置显隐与展示需求,例如具体内容可以参各个模式分别对应的组件规范信息表。
例如,响应于针对所述视频组件上的全屏按钮的触控操作(比对点击操作),控制所述视频组件上的全屏控件显示所述目标视频。在视频组件上的全屏控件上显示和播放目标视频时,暂停播放视频详情页或者视频feed列表上的视频。若用户点击小窗控件上显示的全屏按钮时,会从小窗视频切换到全屏视频。
在一些实施例中,所述方法还包括:当控制所述视频组件进入后台时,暂停当前播放的所述目标视频;当将所述视频组件调回至前台时,根据当前网络状态、视频播放设置项、以及进入后台时的历史视频播放状态,重新确定所述目标视频的当前播放状态。
其中,当视频播放中视频组件进入后台时控制当前播放的目标视频暂停,当视频组件再次被调回至前台时,根据当前网络状态、视频播放设置项、以及进入后台时的历史视频播放状态,来重新确定目标视频的当前播放状态。
其中,视频播放设置项类型可以支持单选,比如选项可以设置有“开启自动播放”、“仅WIFI/免流下自动播放”、“关闭自动播放”等。设置项右侧还可以反显当前生效的选项。例如,设置项为“开启自动播放”时,正常网络环境下,视频feed、视频详情页都可以自动播放。例如,设置项为“仅WIFI/免流下自动播放”时,仅WIFI/免流环境下,视频feed、详情页才自动播放。否则显示为待播放状态,需手动点击播放。例如,设置项为“关闭自动播放”时,正常网络环境下,视频feed、详情页都不做自动播放,需手动点击播放。例如,设置项默认状态可以为“仅WIFI/免流下自动播放”。设置项还可以进行云同步。例如,可以开放接口以供外部业务调用,以支持根据业务定义选择是否需要自动播放。
例如,以平板电脑(Pad)的适配为例,横屏模式下的适配可以为:
右侧打开视频详情页:在右侧页播放视频,左侧列表的视频feed停止播放。
右侧关闭视频详情页:左侧列表的视频feed恢复自动播放,需要同步右侧详情页的视频进度。
例如,当前网络状态为wifi环境,当前的视频播放设置项为仅WIFI/免流下自动播放,进入后台时的历史视频播放状态为播放播放中且播放进度为1分30秒(视频总时长为5分钟),则当视频组件再次被调回至前台时,继续自动播放该目标视频。
在一些实施例中,所述方法还包括:在当前播放的所述目标视频被关闭时,若所述目标视频为所述视频流复用池中的最后一个视频流,则将所述目标视频对应的视频流进行清理。
例如,视频流比较占用内存,因此,需要一个合适的清理时机。例如,会在当前视频被关闭时判断当前视频是否为视频流复用池中的最后一个视频,若是,则将该当前视频对应的视频流清理掉。
上述所有的技术方案,可采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例应用于配置有视频组件的客户端,通过响应于针对目标视频的播放指令,调用视频组 件;从视频组件对应的视频流复用池中查找与目标视频相同的第一视频流,以根据第一视频流播放目标视频,视频流复用池内存储有被视频组件播放过的视频流;在播放所述目标视频时,将目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;响应于针对视频组件上的小窗按钮的触控操作,控制视频组件的小窗控件显示和播放目标视频,或者响应于针对视频组件上的全屏按钮的触控操作,控制视频组件上的全屏控件显示所述目标视频。本申请实施例基于播放指令直接调用的视频组件,可以实现视频复用,且在视频组件内封装了小窗功能和全屏功能,提高了视频组件的功能多样性性,以及用户只需简单点击小窗按钮或者全屏按钮,即可实现小窗播放或全屏播放,降低操作复杂度,提升用户使用视频组件的便利性。
为便于更好的实施本申请实施例的视频播放方法,本申请实施例还提供一种视频播放装置。请参阅图18,图18为本申请实施例提供的视频播放装置的结构示意图。其中,该视频播放装置1800应用于配置有视频组件的客户端,,该视频播放装置1800可以包括:
调用模块1801,用于响应于针对目标视频的播放指令,调用所述视频组件;播放模块1802,用于从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;同步模块1803,用于在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;控制模块1804,用于响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
在一些实施例中,所述播放模块1802,用于:在所述视频组件对应的视频流复用池中查找是否存在与所述目标视频相同的第一视频流;若所述视频流复用池中存在与所述目标视频相同的第一视频流,则获取所述第一视频流,以根据所述第一视频流播放所述目标视频;或者若所述视频流复用池中不存在与所述目标视频相同的第一视频流,则加载所述目标视频对应的第二视频流,以根据所述第二视频流播放所述目标视频。
在一些实施例中,所述视频组件还包括焦点管理层,所述播放模块1802,还用于:在播放所述目标视频之前,通过所述焦点管理层向其他视频组件发送所述目标视频对应的目标焦点通知以及所述目标焦点通知对应的身份信息,所述目标焦点通知用于指示其他视频组件在焦点被抢占时释放焦点;当通过所述焦点管理层监听到其他视频组件发送的焦点被释放以及被释放的焦点对应的身份信息时,控制所述视频组件播放所述目标视频。
在一些实施例中,所述同步模块1803,用于:根据获取到的第一页面跳转指令,从所述视频feed列表跳转至所述视频详情页时,将所述目标视频在所述视频feed列表中的播放进度同步到所述视频详情页中;或者根据获取到的第二页面跳转指令,从所述视频详情页跳转至所述视频feed列表时,将所述目标视频在所述视频详情页中的播放进度同步到所述视频feed列表中。
在一些实施例中,所述视频组件还包括网络监听接口,所述控制模块1804,用于:当所述网络监听接口监听到网络状态发生改变时,在所述客户端的显示界面上显示网络状态变化提示信息。
在一些实施例中,所述控制模块1804,用于响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,包括:若所述小窗控件位于所述视频详情页上,则暂停播放所述视频详情页上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频详情页上的视频进行自动播放;或者若所述小窗控件位于所述视频feed列表上,则暂停播放所述视频feed列表上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频feed列表上的视频进行自动播放。
在一些实施例中,所述控制模块1804,用于控制所述小窗控件播放所述目标视频时,若获取到针对目标直播的直播间进入请求,则控制所述小窗控件关闭所述目标视频,以及控制所述小窗控件播放所述目标直播。
在一些实施例中,若所述小窗控件位于所述视频详情页上,所述控制模块1804,还用于:在所述视频详情页上以浮层的方式显示所述小窗控件;通过响应于针对所述小窗控件上的跳转图标的触控操作,从所述小窗控件跳转至所述视频详情页;通过响应于针对所述小窗控件上的空白区域触控操作,唤起所述小窗控件或隐藏所述小窗控件。
在一些实施例中,所述控制模块1804,还用于:当控制所述视频组件进入后台时,暂停当前播放的所述目标视频;当将所述视频组件调回至前台时,根据当前网络状态、视频播放设置项、以及进入后台时的历史视频播放状态,重新确定所述目标视频的当前播放状态。
在一些实施例中,所述视频播放装置1800,还用于:设有视频组件复用池。
在一些实施例中,所述调用模块1801,用于:若视频组件复用池中存在与当前待播放的目标视频相同的视频所对应的第一视频组件,则调用所述第一视频组件。
在一些实施例中,所述调用模块1801,用于:若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用加载视频的速度最快的第二视频组件。
在一些实施例中,所述调用模块1801,用于:若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用CPU占有率最低和/或内存占有率最低的第三视频组件。
在一些实施例中,所述视频播放装置1800,还用于:根据预先划分的加载介质中不同大小的加载区 块,并确定目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
在一些实施例中,所述视频播放装置1800,在根据预先划分的加载介质中不同大小的加载区块,并确定目标数据对应的加载区块,且将所述目标数据存放于所述目标数据对应的加载区块中时,具体用于:在每个加载介质中预先划分不同大小的加载区块,其中,所述不同大小的加载区块按照递增因子进行递增,所述递增因子是根据所述目标数据的平均预期大小确定的;根据每个加载介质中的最小区块容量以及所述递增因子,确定每个所述加载区块的加载容量;根据每个所述加载区块的加载容量,确定每个加载介质的总加载容量;根据每个加载介质的总加载容量,确定所述目标数据对应的目标加载介质;根据所述目标数据的大小在所述目标存储介质中确定所述目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
在一些实施例中,所述目标数据包括所述目标视频,所述播放模块1802,还用于:在播放所述目标视频时,从所述目标视频对应的加载区块中加载所述目标视频。
在一些实施例中,所述调用模块1801,用于:响应于针对目标视频的播放指令,在布局文件中添加所述视频组件,并在代码文件中将所述目标视频的数据传入所述视频组件,以调用所述视频组件。
在一些实施例中,所述控制模块1804,还用于在当前播放的所述目标视频被关闭时,若所述目标视频为所述视频流复用池中的最后一个视频流,则将所述目标视频对应的视频流进行清理。
上述所有的技术方案,可采用任意结合形成本申请的可选实施例,在此不再一一赘述。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图5所示的装置可以执行上述视频播放方法实施例,并且装置中的各个单元的前述和其它操作和/或功能分别实现上述方法实施例的相应流程,为了简洁,在此不再赘述。
相应的,本申请实施例还提供一种终端设备,该终端设备可以为终端或者服务器。如图19所示,图19为本申请实施例提供的终端设备的结构示意图。该终端设备1900包括有一个或者一个以上处理核心的处理器1901、有一个或一个以上计算机可读存储介质的存储器1902及存储在存储器1902上并可在处理器上运行的计算机程序。其中处理器1901与存储器1902电性连接。本领域技术人员可以理解,图中示出的终端设备结构并不构成对终端设备的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器1901是终端设备1900的控制中心,利用各种接口和线路连接整个终端设备1900的各个部分,通过运行或加载存储在存储器1902内的软件程序和/或模块,以及调用存储在存储器1902内的数据,执行终端设备1900的各种功能和处理数据,从而对终端设备1900进行整体监控。
在本申请实施例中,终端设备1900中的处理器1901会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器1902中,并由处理器1901来运行存储在存储器1902中的应用程序,从而实现各种功能:响应于针对目标视频的播放指令,调用所述视频组件;从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
在一些实施例中,如图19所示,终端设备1900还包括:显示单元1903、射频电路1904、音频电路1905、输入单元1906以及电源1907。其中,处理器1901分别与显示单元1903、射频电路1904、音频电路1905、输入单元1906以及电源1907电性连接。本领域技术人员可以理解,图19中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。显示单元1903可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1903可以包括显示面板和触控面板。射频电路1904可用于收发射频信号,以通过无线通信与网络设备或其他终端设备建立无线通讯,与网络设备或其他终端设备之间收发信号。音频电路1905可以用于通过扬声器、传声器提供用户与终端设备之间的音频接口。输入单元1906可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。电源1907用于给终端设备1900的各个部件供电。尽管图19中未示出,终端设备1900还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种视频播放方法中的步骤。其中,该存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种视频播放方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频播放方法、装置及存储介质进行了详细介绍,本文中应用了 具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (20)

  1. 一种视频播放方法,其中,应用于配置有视频组件的客户端,所述方法包括:
    响应于针对目标视频的播放指令,调用所述视频组件;
    从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;
    在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;
    响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
  2. 如权利要求1所述的视频播放方法,其中,所述从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,包括:
    在所述视频组件对应的视频流复用池中查找是否存在与所述目标视频相同的第一视频流;
    若所述视频流复用池中存在与所述目标视频相同的第一视频流,则获取所述第一视频流,以根据所述第一视频流播放所述目标视频;或者
    若所述视频流复用池中不存在与所述目标视频相同的第一视频流,则加载所述目标视频对应的第二视频流,以根据所述第二视频流播放所述目标视频。
  3. 如权利要求1或2所述的视频播放方法,其中,所述视频组件还包括焦点管理层,在播放所述目标视频之前,还包括:
    通过所述焦点管理层向其他视频组件发送所述目标视频对应的目标焦点通知以及所述目标焦点通知对应的身份信息,所述目标焦点通知用于指示其他视频组件在焦点被抢占时释放焦点;
    当通过所述焦点管理层监听到其他视频组件发送的焦点被释放以及被释放的焦点对应的身份信息时,控制所述视频组件播放所述目标视频。
  4. 如权利要求1或2所述的视频播放方法,其中,所述将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步,包括;
    根据获取到的第一页面跳转指令,从所述视频feed列表跳转至所述视频详情页时,将所述目标视频在所述视频feed列表中的播放进度同步到所述视频详情页中;或者
    根据获取到的第二页面跳转指令,从所述视频详情页跳转至所述视频feed列表时,将所述目标视频在所述视频详情页中的播放进度同步到所述视频feed列表中。
  5. 如权利要求1所述的视频播放方法,其中,所述视频组件还包括网络监听接口,所述方法还包括:
    当所述网络监听接口监听到网络状态发生改变时,在所述客户端的显示界面上显示网络状态变化提示信息。
  6. 如权利要求5所述的视频播放方法,其中,所述响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,包括:
    若所述小窗控件位于所述视频详情页上,则暂停播放所述视频详情页上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频详情页上的视频进行自动播放;或者
    若所述小窗控件位于所述视频feed列表上,则暂停播放所述视频feed列表上的视频,且控制所述小窗控件播放所述目标视频,以及当检测到所述小窗控件暂停播放所述目标视频或者所述小窗控件被关闭时,在所述网络状态为wifi环境下控制所述视频feed列表上的视频进行自动播放。
  7. 如权利要求6所述的视频播放方法,其中,在所述控制所述小窗控件播放所述目标视频时,还包括:
    若获取到针对目标直播的直播间进入请求,则控制所述小窗控件关闭所述目标视频,以及控制所述小窗控件播放所述目标直播。
  8. 如权利要求6所述的视频播放方法,其中,若所述小窗控件位于所述视频详情页上,所述方法还包括:
    在所述视频详情页上以浮层的方式显示所述小窗控件;
    通过响应于针对所述小窗控件上的跳转图标的触控操作,从所述小窗控件跳转至所述视频详情页;
    通过响应于针对所述小窗控件上的空白区域触控操作,唤起所述小窗控件或隐藏所述小窗控件。
  9. 如权利要求5所述的视频播放方法,其中,所述方法还包括:
    当控制所述视频组件进入后台时,暂停当前播放的所述目标视频;
    当将所述视频组件调回至前台时,根据当前网络状态、视频播放设置项、以及进入后台时的历史视频播放状态,重新确定所述目标视频的当前播放状态。
  10. 如权利要求1所述的视频播放方法,其中,所述方法还包括:
    设有视频组件复用池。
  11. 如权利要求10所述的视频播放方法,其中,所述调用所述视频组件,包括:
    若视频组件复用池中存在与当前待播放的目标视频相同的视频所对应的第一视频组件,则调用所述第一视频组件。
  12. 如权利要求10所述的视频播放方法,其中,所述调用所述视频组件,包括:
    若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用加载视频的速度最快的第二视频组件。
  13. 如权利要求10所述的视频播放方法,其中,所述调用所述视频组件,包括:
    若所述视频组件复用池中存在多个被调用过的视频组件,则从所述视频组件复用池中的多个视频组件中调用CPU占有率最低和/或内存占有率最低的第三视频组件。
  14. 如权利要求1所述的视频播放方法,其中,所述方法还包括:
    根据预先划分的加载介质中不同大小的加载区块,并确定目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
  15. 如权利要求14所述的视频播放方法,其中,所述根据预先划分的加载介质中不同大小的加载区块,并确定目标数据对应的加载区块,且将所述目标数据存放于所述目标数据对应的加载区块中,包括:
    在每个加载介质中预先划分不同大小的加载区块,其中,所述不同大小的加载区块按照递增因子进行递增,所述递增因子是根据所述目标数据的平均预期大小确定的;
    根据每个加载介质中的最小区块容量以及所述递增因子,确定每个所述加载区块的加载容量;
    根据每个所述加载区块的加载容量,确定每个加载介质的总加载容量;
    根据每个加载介质的总加载容量,确定所述目标数据对应的目标加载介质;
    根据所述目标数据的大小在所述目标存储介质中确定所述目标数据对应的加载区块,且将所述目标数据暂存于所述目标数据对应的加载区块中。
  16. 如权利要求14所述的视频播放方法,其中,所述目标数据包括所述目标视频,所述方法还包括:
    在播放所述目标视频时,从所述目标视频对应的加载区块中加载所述目标视频。
  17. 如权利要求1所述的视频播放方法,其中,所述响应于针对目标视频的播放指令,调用所述视频组件,包括:
    响应于针对目标视频的播放指令,在布局文件中添加所述视频组件,并在代码文件中将所述目标视频的数据传入所述视频组件,以调用所述视频组件。
  18. 如权利要求1所述的视频播放方法,其中,所述方法还包括:
    在当前播放的所述目标视频被关闭时,若所述目标视频为所述视频流复用池中的最后一个视频流,则将所述目标视频对应的视频流进行清理。
  19. 一种视频播放装置,其中,应用于配置有视频组件的客户端,所述装置包括:
    调用模块,用于响应于针对目标视频的播放指令,调用所述视频组件;
    播放模块,用于从所述视频组件对应的视频流复用池中查找与所述目标视频相同的第一视频流,以根据所述第一视频流播放所述目标视频,所述视频流复用池内存储有被所述视频组件播放过的视频流;
    同步模块,用于在播放所述目标视频时,将所述目标视频在视频feed列表中的播放进度与在视频详情页中的播放进度进行同步;
    控制模块,用于响应于针对所述视频组件上的小窗按钮的触控操作,控制所述视频组件的小窗控件显示和播放所述目标视频,或者响应于针对所述视频组件上的全屏按钮的触控操作,控制所述视频组件上的全屏控件显示所述目标视频。
  20. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-18任一项所述的视频播放方法中的步骤。
PCT/CN2022/100199 2021-07-13 2022-06-21 视频播放方法、装置及存储介质 WO2023284498A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2022309659A AU2022309659A1 (en) 2021-07-13 2022-06-21 Video playing method and apparatus, and storage medium
CA3224322A CA3224322A1 (en) 2021-07-13 2022-06-21 Video playing method and apparatus, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110789130.8 2021-07-13
CN202110789130.8A CN113573121B (zh) 2021-07-13 2021-07-13 视频播放方法、装置及存储介质

Publications (1)

Publication Number Publication Date
WO2023284498A1 true WO2023284498A1 (zh) 2023-01-19

Family

ID=78164606

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/100199 WO2023284498A1 (zh) 2021-07-13 2022-06-21 视频播放方法、装置及存储介质

Country Status (4)

Country Link
CN (1) CN113573121B (zh)
AU (1) AU2022309659A1 (zh)
CA (1) CA3224322A1 (zh)
WO (1) WO2023284498A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113573121B (zh) * 2021-07-13 2023-04-21 富途网络科技(深圳)有限公司 视频播放方法、装置及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068340A (ja) * 2008-09-11 2010-03-25 Hitachi Information & Control Solutions Ltd 映像配信装置及び映像配信システム
US20160098163A1 (en) * 2014-10-02 2016-04-07 Samsung Electronics Co., Ltd. Method and apparatus for displaying previews
CN106303664A (zh) * 2016-10-13 2017-01-04 合信息技术(北京)有限公司 视频播放方法及装置
CN108093290A (zh) * 2017-12-13 2018-05-29 广州虎牙信息科技有限公司 直播画面内容切换展示方法、存储设备及计算机设备
CN109698979A (zh) * 2018-12-13 2019-04-30 北京爱奇艺科技有限公司 一种视频播放的方法、装置及电子设备
CN110062284A (zh) * 2019-04-03 2019-07-26 北京字节跳动网络技术有限公司 视频播放方法、装置和电子设备
CN110708602A (zh) * 2019-10-15 2020-01-17 北京字节跳动网络技术有限公司 视频启动方法、装置、电子设备及存储介质
CN111629251A (zh) * 2020-06-10 2020-09-04 北京字节跳动网络技术有限公司 视频播放方法、装置、存储介质和电子设备
CN111954072A (zh) * 2019-05-16 2020-11-17 百度在线网络技术(北京)有限公司 一种多媒体播放方法、装置、多媒体播放器和介质
CN113507632A (zh) * 2021-08-12 2021-10-15 北京字跳网络技术有限公司 视频的处理方法、装置、终端和存储介质
CN113573121A (zh) * 2021-07-13 2021-10-29 富途网络科技(深圳)有限公司 视频播放方法、装置及存储介质
CN114501134A (zh) * 2021-12-28 2022-05-13 广东南方新媒体科技有限公司 一种iOS跨页面视频播放方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9445135B2 (en) * 2010-09-17 2016-09-13 Futurewei Technologies, Inc. Method and apparatus for scrub preview services
CN105847996A (zh) * 2016-05-25 2016-08-10 腾讯科技(深圳)有限公司 一种视频播放方法及装置
CN110753251A (zh) * 2018-07-23 2020-02-04 优视科技有限公司 视频切换方法、装置及电子设备
CN110958481A (zh) * 2019-12-13 2020-04-03 北京字节跳动网络技术有限公司 视频页面显示方法、装置、电子设备和计算机可读介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068340A (ja) * 2008-09-11 2010-03-25 Hitachi Information & Control Solutions Ltd 映像配信装置及び映像配信システム
US20160098163A1 (en) * 2014-10-02 2016-04-07 Samsung Electronics Co., Ltd. Method and apparatus for displaying previews
CN106303664A (zh) * 2016-10-13 2017-01-04 合信息技术(北京)有限公司 视频播放方法及装置
CN108093290A (zh) * 2017-12-13 2018-05-29 广州虎牙信息科技有限公司 直播画面内容切换展示方法、存储设备及计算机设备
CN109698979A (zh) * 2018-12-13 2019-04-30 北京爱奇艺科技有限公司 一种视频播放的方法、装置及电子设备
CN110062284A (zh) * 2019-04-03 2019-07-26 北京字节跳动网络技术有限公司 视频播放方法、装置和电子设备
CN111954072A (zh) * 2019-05-16 2020-11-17 百度在线网络技术(北京)有限公司 一种多媒体播放方法、装置、多媒体播放器和介质
CN110708602A (zh) * 2019-10-15 2020-01-17 北京字节跳动网络技术有限公司 视频启动方法、装置、电子设备及存储介质
CN111629251A (zh) * 2020-06-10 2020-09-04 北京字节跳动网络技术有限公司 视频播放方法、装置、存储介质和电子设备
CN113573121A (zh) * 2021-07-13 2021-10-29 富途网络科技(深圳)有限公司 视频播放方法、装置及存储介质
CN113507632A (zh) * 2021-08-12 2021-10-15 北京字跳网络技术有限公司 视频的处理方法、装置、终端和存储介质
CN114501134A (zh) * 2021-12-28 2022-05-13 广东南方新媒体科技有限公司 一种iOS跨页面视频播放方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113573121A (zh) 2021-10-29
AU2022309659A1 (en) 2024-01-18
CN113573121B (zh) 2023-04-21
CA3224322A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
KR102350329B1 (ko) 전화 통화 동안의 실시간 공유 기법
US10061467B2 (en) Presenting a message in a communication session
EP4130963A1 (en) Object dragging method and device
KR102394296B1 (ko) 다수의 디바이스 상에 컴퓨팅 환경의 제시
US10271105B2 (en) Method for playing video, client, and computer storage medium
CN104995596A (zh) 在选项卡层级管理音频以用于用户通知及控制
WO2022100309A1 (zh) 桌面元数据的显示方法、访问方法及相关装置
WO2023104102A1 (zh) 一种直播评论展示方法、装置、设备、程序产品及介质
WO2023147758A1 (zh) 云游戏资源数据处理方法、装置、计算机设备和存储介质
CN113268212A (zh) 投屏方法、装置、存储介质及电子设备
WO2023143299A1 (zh) 消息展示方法、装置、设备及存储介质
WO2024040875A1 (zh) 多视频播放的处理方法、装置、计算机设备及存储介质
CN104615432B (zh) 闪屏信息处理方法及客户端
WO2023284498A1 (zh) 视频播放方法、装置及存储介质
WO2023138180A1 (zh) 媒体资源显示方法、装置、设备及存储介质
WO2023024630A1 (zh) 显示设备、终端设备及内容显示方法
CN112616084B (zh) 歌词显示方法、装置、终端及存储介质
CN113965785A (zh) 一种资源同步播放方法及显示设备
CN114401433A (zh) 一种资源同步播放方法及显示设备
CN113282362A (zh) 应用程序管理方法、装置、存储介质以及终端
CN111381801B (zh) 一种基于双屏终端的音频播放方法及通信终端
JP6586717B1 (ja) コンテンツ提供システム及びプログラム
WO2023138222A1 (zh) 显示设备和直播方法
CN117395569A (zh) 一种音频播放系统、方法及终端设备
CN115379250A (zh) 视频处理方法、装置、计算机设备及存储介质

Legal Events

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

Ref document number: 22841138

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 3224322

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2022309659

Country of ref document: AU

Ref document number: AU2022309659

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2022309659

Country of ref document: AU

Date of ref document: 20220621

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE