WO2018001201A1 - 视频推送方法、装置、程序及介质 - Google Patents

视频推送方法、装置、程序及介质 Download PDF

Info

Publication number
WO2018001201A1
WO2018001201A1 PCT/CN2017/090012 CN2017090012W WO2018001201A1 WO 2018001201 A1 WO2018001201 A1 WO 2018001201A1 CN 2017090012 W CN2017090012 W CN 2017090012W WO 2018001201 A1 WO2018001201 A1 WO 2018001201A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
main application
user
attribute information
floating window
Prior art date
Application number
PCT/CN2017/090012
Other languages
English (en)
French (fr)
Inventor
方顺豹
杜泽旭
郭宇卓
Original Assignee
北京奇虎科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京奇虎科技有限公司 filed Critical 北京奇虎科技有限公司
Publication of WO2018001201A1 publication Critical patent/WO2018001201A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/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/432Content retrieval operation from a local storage medium, e.g. hard-disk

Definitions

  • the present invention relates to the field of intelligent terminal technologies, and in particular, to a video push method implemented by using a parasitic toolkit, a video push device implemented by using a parasitic toolkit, a computer program, and a computer readable medium.
  • the present invention has been made in order to provide a video push method implemented by a parasitic toolkit that overcomes the above problems or at least partially solves the above problems, and a corresponding video push device, computer program and computer implemented by using a parasitic toolkit. Read the media.
  • a video push method implemented by using a parasitic toolkit wherein a parasitic toolkit is pre-bound with a main application to provide a function of playing a video in a user interface of a main application, and the method includes:
  • the video stream corresponding to the video resource is pushed to the user to play the video stream while presenting the user interface of the main application.
  • a video push device implemented using a parasitic toolkit wherein a parasitic toolkit is pre-bound with a main application to provide a function of playing a video in a user interface of a main application, the device comprising:
  • the obtaining module is adapted to obtain attribute information of the main application according to the behavior of the video playing triggered by the user;
  • the query module is configured to query the pre-established video database according to the attribute information of the main application, and obtain a video resource that matches the attribute information of the main application;
  • a pushing module configured to push a video stream corresponding to the video resource to the user
  • the first presentation module is adapted to play the video stream while presenting the user interface of the main application.
  • a computer program comprising computer readable code, when the readable code is run on a computing device, causes the computing device to perform any of the embodiments of the present invention
  • a video push method implemented using a parasitic toolkit when the readable code is run on a computing device, causes the computing device to perform any of the embodiments of the present invention
  • the embodiment of the invention further provides a computer readable medium, wherein the program according to the embodiment of the invention is stored.
  • the video resource is obtained according to the attribute information of the main application, and the video stream corresponding to the video resource is pushed to the user, and the pushed video is associated with the main application, thereby realizing Pushing the video according to the user's interest, avoiding the defect that the pushed video is not related to the user's interest and causing the loss of the user, and realizing the user interface of the main application while playing the video, solving the problem that the user can only use other applications or video applications alone, and It is impossible to display the defects of the interface of the video application at the same time when operating other applications, and overcomes the problem that the prior art needs to switch to the corresponding application when it needs to operate other applications or video applications, resulting in inconvenient operation and greatly improving user operations. Simplicity saves user time.
  • FIG. 1 shows a flow chart of a video push method implemented using a parasitic toolkit in accordance with one embodiment of the present invention
  • FIG. 2 shows a flow chart of a video push method implemented using a parasitic toolkit in accordance with another embodiment of the present invention
  • FIG. 3 is a block diagram showing the structure of a video push device implemented by using a parasitic toolkit according to an embodiment of the present invention
  • FIG. 4 shows a block diagram of a computing device for performing a video push method implemented using a parasitic toolkit in accordance with the present invention
  • Figure 5 illustrates a memory unit for holding or carrying program code that implements a video push method implemented using a parasitic toolkit in accordance with the present invention.
  • the inventors of the present invention have found in the process of using some applications (for example, game applications) that when using these applications, the video cannot be played while displaying the user interface of the application, that is, the user cannot use the applications. At the same time, the video can be viewed. The user needs to open the video application separately. However, the video application and other applications cannot be displayed on the screen of the mobile terminal at the same time. In the PC terminal, the display size of the interface of the video application and other applications needs to be set simultaneously.
  • some applications for example, game applications
  • the main application is a stand-alone application, and the application can independently implement the corresponding functions without relying on any other application, for example, a game application, and the user interface provided by the game application after the user launches the game application. Play on the game.
  • the parasitic toolkit needs to rely on the main application to implement the corresponding function, and the main application needs to call the API interface of the parasitic toolkit to implement the corresponding function of the parasitic toolkit, for example, to play the video in the game application as an example, in the user.
  • the game application is the main application
  • the playback video is a function realized by the parasitic toolkit.
  • the video that is currently being broadcasted is generally pushed to the user. However, it is not necessarily what the user wants to see at present, so that it is forced to be pushed to the user, which is likely to cause loss of the user.
  • FIG. 1 shows a flow chart of a video push method implemented using a parasitic toolkit in accordance with one embodiment of the present invention. As shown in Figure 1, the method includes the following steps:
  • Step S100 Acquire attribute information of the main application according to the behavior of the video playback triggered by the user.
  • the attribute information of the main application may include various information such as the identifier of the main application, the version information of the main application, and the developer of the main application, and the descriptions are not listed here.
  • the attribute information of the main application is configured in the Manifest.xml file
  • the PackageInfo class encapsulates all the information obtained from the configuration file, and describes the overall information of the main application toolkit, so You can use the corresponding property of the PackageInfo object to get the property information of the main application.
  • the versionName property of the PackageInfo object gets the version number of the application.
  • the PackageInfo object can be obtained through the PackageManager object.
  • the PackageManager is a class that retrieves various attribute information of the relevant application toolkit currently installed on the terminal.
  • the getPackageInfo method in the PackageManager object can get the PackageInfo object.
  • Step S101 Query a pre-established video database according to the attribute information of the main application, and acquire a video resource that matches the attribute information of the main application.
  • the video database is a database on the server side, and a large number of video resources are pre-stored in the video database.
  • the terminal sends the obtained classification information of the main application to the server, and the server can obtain the information according to the acquisition. Go to the pre-established video database to obtain the video resource matching the attribute information of the main application, and obtain the video resource of the main application.
  • video resources refer to video.
  • Step S102 Push a video stream corresponding to the video resource to the user to play the video stream while presenting the user interface of the main application.
  • the video stream corresponding to the video resource matched with the attribute information of the main application obtained in step S101 is pushed to the user, and the video stream is played while the user interface of the main application is presented, thereby realizing the use of the main application and watching the video. Effect.
  • the video resource is obtained according to the attribute information of the main application, and the video stream corresponding to the video resource is pushed to the user, and the pushed video is associated with the main application. It realizes the push of the video according to the user's interest, avoids the defect that the pushed video is not related to the user's interest, and causes the user to lose. It realizes the user interface of the main application while playing the video, and solves the problem that the user can only use other applications or videos separately.
  • the application does not display the defect of the interface of the video application at the same time when operating other applications, and overcomes the problem that the prior art needs to switch to the corresponding application when it needs to operate other applications or video applications, resulting in inconvenient operation and greatly improving the problem.
  • the simplicity of user operation saves user time.
  • FIG. 2 shows a flow chart of a video push method implemented using a parasitic toolkit in accordance with another embodiment of the present invention. As shown in FIG. 2, the method includes the following steps:
  • step S200 when the main application is started, the video play portal is presented in the user interface of the main application.
  • the main application is started.
  • a video play portal is presented in the user interface of the main application, wherein the video play portal can be presented in the form of a buoyancy ball.
  • Step S201 Create a floating window according to the behavior of the user triggering the video playing portal, wherein the size of the floating window is smaller than the size of the user interface of the main application.
  • the play video can be started by triggering the video play entry.
  • the Floatwindow is created according to the behavior of the user.
  • the creation of Floatwindow involves the WindowManager interface.
  • the implementation classes are WindowManagerImpl, CompatModeWrapper, and LocalWindowManager.
  • the code of the parasitic toolkit starts a Service and then creates a floating window in the Service.
  • the window position parameter and the window size parameter of the floating window determine that the floating window is displayed in a preset size on the preset position of the terminal screen. In order not to affect the user's use of other applications, the floating window The preset size should be smaller than the size of the terminal screen.
  • the floating window is a floating window on the terminal screen.
  • the floating window is not affiliated with the Activity interface, and is not affected by the coverage of the Activity interface, but is the same as the life cycle of the Activity.
  • Step S202 embedding a video player in the floating window.
  • a video player is embedded in the floating window, which can be used to display the video stream.
  • the video player is implemented through a window view.
  • the window view may be embedded in the floating window to create a drawing surface of the window view, and the window view is used to draw a video interface.
  • the window view here can be any view capable of displaying the user interface provided by the video service, which is not limited by the present invention.
  • This embodiment uses the first window view as the surface view view as an example for description.
  • the surfaceview has a separate drawing surface that does not share the same drawing surface with its host window.
  • the surfaceview user interface can be drawn in a separate thread without taking up the main thread resources.
  • surfaceview can achieve complex and efficient UI rendering, on the other hand, it does not cause user input to be unable to respond in time. Therefore, using surfaceview as a window view embedded in a floating window enables complex and efficient drawing.
  • Step S203 Acquire attribute information of the main application according to the behavior of the video playback triggered by the user.
  • the attribute information of the main application may include various information such as the identifier of the main application, the version information of the main application, and the developer of the main application, and the descriptions are not listed here.
  • the attribute information of the main application is configured in the Manifest.xml file
  • the PackageInfo class encapsulates all the information obtained from the configuration file, and describes the overall information of the main application toolkit, so You can use the corresponding property of the PackageInfo object to get the property information of the main application.
  • the versionName property of the PackageInfo object gets the version number of the application.
  • the PackageInfo object can be obtained through the PackageManager object.
  • the PackageManager is a class that retrieves various attribute information of the relevant application toolkit currently installed on the terminal.
  • the getPackageInfo method in the PackageManager object can get the PackageInfo object.
  • Step S204 Determine classification information of the main application according to attribute information of the main application.
  • the main application can be identified as the user's current direction of interest. In order to avoid the video that is pushed to the user and cannot meet the user's needs, the defect of the user loss can be based on the user's current use. Used to determine which video to push to the user. Specifically, after the attribute information of the main application is acquired, according to the acquired attribute information of the main application, for example, the identifier of the main application may determine the classification information of the main application, for example, the main application belongs to the game class.
  • Step S205 Query a pre-established video database according to the classification information of the main application, and acquire a video resource that matches the main application classification information.
  • the video database is a database on the server side, and a plurality of video resources are pre-stored in the video database.
  • the terminal After determining the classification information of the main application according to step S204, the terminal sends the obtained classification information of the main application to the server, and the server may The obtained classification information of the main application is used to query a pre-established video database to obtain a video resource that matches the classification information of the main application, wherein the video resource refers to a video.
  • Step S206 The video stream corresponding to the video resource is transmitted to the video player, and the video stream is pushed to the user through the floating window to play the video stream in the floating window while presenting the user interface of the main application.
  • the server After obtaining the video resource that matches the classification information of the main application, the server returns the video resource to the terminal, and the parasitic toolkit controls the window view to draw a video interface corresponding to the video stream on the drawing surface, in the drawn video interface.
  • the video stream is displayed internally, and the video stream is played in the floating window while presenting the user interface of the main application.
  • Step S207 receiving a stop playing video request input by the user.
  • the user does not want to watch the video again, he can choose to stop playing the video, and close the floating window by triggering the close button provided on the floating window. After monitoring the user triggering the close button, the operation of triggering the close button can be stopped as the user input. Play a video request.
  • Step S208 according to the stop playing video request, performing an operation of closing the floating window to stop playing the video.
  • the floating window After receiving the stop playing video request input by the user, according to the stop playing video request, the floating window is closed, and the video is stopped. At this time, only the user interface of the main application can be displayed on the terminal screen. It allows users to flexibly choose whether to play video according to their needs.
  • the video resource is obtained according to the attribute information of the main application, and the video stream corresponding to the video resource is pushed to the user, and the pushed video is associated with the main application.
  • the video is pushed according to the user's interest, and the defect that the pushed video is not related to the user's interest and the user is lost is avoided.
  • a video player is embedded in the floating window, and the video stream is transmitted to the video player, so that the user interface of the main application is played while playing the video, and the user can only use other applications or videos separately.
  • the application does not display the defect of the interface of the video application at the same time when operating other applications, and overcomes the problem that the prior art needs to switch to the corresponding application when it needs to operate other applications or video applications, resulting in inconvenient operation and greatly improving the problem.
  • the simplicity of user operation saves user time.
  • the device includes: an obtaining module 300, a querying module 310, a pushing module 320, and a first rendering module 330.
  • the obtaining module 300 is adapted to obtain attribute information of the main application according to the behavior of the video playback triggered by the user.
  • the attribute information of the main application may include various information such as the identifier of the main application, the version information of the main application, and the developer of the main application, and the descriptions are not listed here.
  • the attribute information of the main application is configured in the Manifest.xml file
  • the PackageInfo class encapsulates all the information obtained from the configuration file, and describes the overall information of the main application toolkit, so You can use the corresponding property of the PackageInfo object to get the property information of the main application.
  • the versionName property of the PackageInfo object gets the version number of the application.
  • the PackageInfo object can be obtained through the PackageManager object.
  • the PackageManager is a class that retrieves various attribute information of the relevant application toolkit currently installed on the terminal.
  • the getPackageInfo method in the PackageManager object can get the PackageInfo object.
  • the query module 310 is configured to query the pre-established video database according to the attribute information of the main application, and obtain a video resource that matches the attribute information of the main application.
  • the video database is a database on the server side. A large number of video resources are pre-stored in the video database.
  • the terminal sends the obtained classification information of the main application to the server, and the server can obtain the main
  • the attribute information of the application is used to query a pre-established video database to obtain a video resource that matches the attribute information of the main application, wherein the video resource Refers to the video.
  • the pushing module 320 is adapted to push a video stream corresponding to the video resource to the user.
  • the first presentation module 330 is adapted to play the video stream while presenting the user interface of the main application.
  • the device further includes: a second presentation module 340, configured to present a video play portal in the user interface of the main application when the main application is started.
  • a second presentation module 340 configured to present a video play portal in the user interface of the main application when the main application is started.
  • the main application is started.
  • a video play portal is presented in the user interface of the main application, wherein the video play portal can be presented in the form of a buoyancy ball.
  • the creating module 350 is adapted to create a floating window according to the behavior of the user triggering the video playing portal; wherein the size of the floating window is smaller than the size of the user interface of the main application.
  • the play video can be started by triggering the video play entry.
  • the Floatwindow is created according to the behavior of the user.
  • the creation of Floatwindow involves the WindowManager interface.
  • the implementation classes are WindowManagerImpl, CompatModeWrapper, and LocalWindowManager.
  • the code of the parasitic toolkit starts a Service and then creates a floating window in the Service.
  • the window position parameter and the window size parameter of the floating window determine that the floating window is displayed in a preset size on the preset position of the terminal screen. In order not to affect the user's use of other applications, the preset size of the floating window should be smaller than the size of the terminal screen.
  • the floating window is a floating window on the terminal screen.
  • the floating window is not affiliated with the Activity interface, and is not affected by the coverage of the Activity interface, but is the same as the life cycle of the Activity.
  • the embedding module 360 is adapted to embed a video player in the floating window.
  • the video player is implemented by a window view.
  • the window view is a surfaceview view.
  • the pushing module 320 is adapted to: transmit the video stream corresponding to the video resource to the video player, and push the video stream to the user through the floating window.
  • the first presentation module 330 is adapted to play the video stream within the floating window while presenting the user interface of the main application.
  • the embedding module 360 is adapted to: embed a window view in the floating window, and create a drawing table of the window view surface.
  • the window view may be embedded in the floating window to create a drawing surface of the window view, and the window view is used to draw a video interface.
  • the window view here can be any view capable of displaying the user interface provided by the video service, which is not limited by the present invention.
  • This embodiment uses the first window view as the surface view view as an example for description.
  • the surfaceview has a separate drawing surface that does not share the same drawing surface with its host window.
  • the surfaceview user interface can be drawn in a separate thread without taking up the main thread resources.
  • surfaceview can achieve complex and efficient UI rendering, on the other hand, it does not cause user input to be unable to respond in time. Therefore, using surfaceview as a window view embedded in a floating window enables complex and efficient drawing.
  • the first presentation module 340 is further configured to: control the window view to draw a video interface corresponding to the video stream on the drawing surface.
  • the query module 310 includes: a determining unit 311, configured to determine, according to attribute information of the main application, classification information of the main application.
  • the main application can be identified as the user's current direction of interest.
  • the video pushed to the user can be determined according to the main application currently used by the user.
  • the identifier of the main application may determine the classification information of the main application, for example, the main application belongs to the game class.
  • the querying unit 312 is configured to query the pre-established video database according to the classification information of the main application, and acquire the video resource that matches the main application classification information.
  • the video database pre-stores a large number of video resources. After determining the classification information of the main application, the video database may be queried according to the obtained classification information of the main application to obtain a video resource that matches the classification information of the main application. , where the video resource refers to the video.
  • the device further includes: a receiving module 370, configured to receive a stop playing video request input by the user.
  • a receiving module 370 configured to receive a stop playing video request input by the user.
  • the stopping module 380 is adapted to perform the operation of closing the floating window according to the stop playing video request, and stop playing the video.
  • the device obtains the attribute information of the main application, obtains the video resource according to the attribute information of the main application, and pushes the video stream corresponding to the video resource to the user, where the pushed video is associated with the main application.
  • the video is pushed according to the user's interest, and the defect that the pushed video is not related to the user's interest and the user is lost is avoided.
  • a video player is embedded in the floating window, and the video stream is transmitted to the video player, so that the user interface of the main application is played while playing the video, and the user can only use other applications or videos separately.
  • the application does not display the defect of the interface of the video application at the same time when operating other applications, and overcomes the problem that the prior art needs to switch to the corresponding application when it needs to operate other applications or video applications, resulting in inconvenient operation and greatly improving the problem.
  • the simplicity of user operation saves user time.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • at least some of the elements are mutually exclusive, and all of the features disclosed in the specification, including the accompanying claims, the abstract, and the drawings, and all processes or units of any method or apparatus so disclosed may be combined in any combination.
  • Each feature disclosed in this specification may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or some of the components of a video push device implemented with a parasitic toolkit in accordance with an embodiment of the present invention or All features.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 4 illustrates a computing device that can implement a video push method implemented using a parasitic toolkit in accordance with the present invention.
  • the computing device conventionally includes a processor 410 and a program product or readable medium in the form of a memory 420.
  • Memory 420 can be an electronic memory such as a flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, or ROM.
  • Memory 420 has a memory space 430 for program code 431 for performing any of the method steps described above.
  • storage space 430 for program code may include various program code 431 for implementing various steps in the above methods, respectively.
  • These program codes can be read from or written to one or more program products.
  • These program products include program code carriers such as memory cards.
  • Such a program product is typically a portable or fixed storage unit as described with reference to FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 420 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes readable code 431', i.e., code readable by a processor, such as 410, that when executed by the computing device causes the computing device to perform the methods described above Each step in the process.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种视频推送方法、装置、程序及介质。其中寄生工具包与主应用预先绑定,以提供在主应用的用户界面中播放视频的功能,该方法包括:根据用户触发的视频播放的行为,获取主应用的属性信息;根据主应用的属性信息查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源;向用户推送与视频资源对应的视频流,以在呈现主应用的用户界面的同时播放视频流,推送的视频与主应用相关联,实现了根据用户兴趣推送视频,避免了所推送视频与用户兴趣不相关而导致用户流失的缺陷,实现了呈现主应用的用户界面的同时播放视频,解决了用户只能单独使用其他应用或视频应用,而不能在操作其他应用时同时显示视频应用的界面的缺陷。

Description

视频推送方法、装置、程序及介质 技术领域
本发明涉及智能终端技术领域,具体涉及一种利用寄生工具包实现的视频推送方法、一种利用寄生工具包实现的视频推送装置、一种计算机程序及一种计算机可读介质。
背景技术
随着智能终端的屏幕越来越大、CPU(Central Processing Unit,中央处理器)、内存、GPU(Graphics Processing Unit,图形处理器)等硬件功能越来越强大,用户对应用的需求也越来越高,例如用户希望在操作其他应用的同时能够观看视频。目前,如果终端在运行一个应用的同时想要运行视频应用,终端是需要将当前运行应用的相关操作暂停,或者关闭当前运行应用的应用界面,然后才能切换到另一个应用的应用界面。例如,当用户玩游戏的时候,需要观看视频,用户需要暂停或退出正在玩的游戏才能观看视频;或者,通过设置视频应用和其他应用的界面的显示大小,才能同时显示视频应用和其他应用,用户需要在各个应用的应用界面之间来回切换,给用户的操作带来不便,且并不能实现在显示其他应用的用户界面的同时播放视频。此外,现有技术中,仅是向一些当前热播的视频推送给用户,然而,并不一定是用户当前想看的,这样强制推送给用户,很容易造成用户的流失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的利用寄生工具包实现的视频推送方法和相应的利用寄生工具包实现的视频推送装置、计算机程序及计算机可读介质。
根据本发明的一个方面,提供了一种利用寄生工具包实现的视频推送方法,其中寄生工具包与主应用预先绑定,以提供在主应用的用户界面中播放视频的功能,方法包括:
根据用户触发的视频播放的行为,获取主应用的属性信息;
根据主应用的属性信息查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源;
向用户推送与视频资源对应的视频流,以在呈现主应用的用户界面的同时播放视频流。
根据本发明的另一方面,提供了一种利用寄生工具包实现的视频推送装置,其中寄生工具包与主应用预先绑定,以提供在主应用的用户界面中播放视频的功能,装置包括:
获取模块,适于根据用户触发的视频播放的行为,获取主应用的属性信息;
查询模块,适于根据主应用的属性信息查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源;
推送模块,适于向用户推送与视频资源对应的视频流;
第一呈现模块,适于在呈现主应用的用户界面的同时播放视频流。
根据本发明的又一方面,提供了一种计算机程序,包括计算机可读代码,当所述可读代码在计算设备上运行时,导致所述计算设备执行根据本发明实施例中的任一个所述的利用寄生工具包实现的视频推送方法。
本发明实施例还提供了一种计算机可读介质,其中存储了如本发明实施例所述的程序。
根据本发明提供的方案,通过获取主应用的属性信息,根据主应用的属性信息获取到视频资源,将与视频资源对应的视频流推送给用户,所推送的视频与主应用相关联,实现了根据用户兴趣推送视频,避免了所推送视频与用户兴趣不相关而导致用户流失的缺陷,实现了呈现主应用的用户界面的同时播放视频,解决了用户只能单独使用其他应用或视频应用,而不能在操作其他应用时同时显示视频应用的界面的缺陷,克服了现有技术中当需要操作其他应用或视频应用时,都需要切换到相应的应用,导致操作不便的问题,大大提高了用户操作的简便性,节省用户时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它 目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的利用寄生工具包实现的视频推送方法的流程图;
图2示出了根据本发明另一个实施例的利用寄生工具包实现的视频推送方法的流程图;
图3示出了根据本发明一个实施例的利用寄生工具包实现的视频推送装置的结构框图;
图4示出了用于执行根据本发明的利用寄生工具包实现的视频推送方法的计算设备的框图;
图5示出了用于保持或者携带实现根据本发明的利用寄生工具包实现的视频推送方法的程序代码的存储单元。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的发明人在使用一些应用(例如,游戏应用)的过程中发现,在使用这些应用的时候,并不能在显示应用的用户界面的同时还播放视频,即,用户不能在使用这些应用的同时还能观看视频,用户需要另外开启视频应用,然而,视频应用和其他应用并不能同时在移动终端屏幕上显示,在PC终端也需要通过设置视频应用和其他应用的界面的显示大小,才能同时显示视频应用和其他应用,若用户想要对视频应用或其他应用进行操作时,需要将光标定位到相应的应用,这样很容易造成使用不便,为了解决上述问题,发明人 经过创造性的劳动,提出了利用寄生工具包,将寄生工具包与主应用预先绑定,以提供在主应用的用户界面中播放视频的功能的解决方案。
其中,主应用是一独立的应用,该应用可以独立实现相应的功能,不需要依赖于任何其他的应用,例如,游戏应用,用户在启动游戏应用后,便可以在游戏应用所提供的用户界面上玩游戏。
而该寄生工具包需要依赖于主应用才可以实现相应的功能,需要主应用调用该寄生工具包的API接口才能实现寄生工具包相应的功能,例如,以在游戏应用播放视频为例,在用户玩游戏的时候可以同时播放视频,这里游戏应用为主应用,播放视频是寄生工具包所实现的功能。
在向用户推送视频时,一般都是将当前正在热播的视频推送给用户,然而,并不一定是用户当前想看的,这样强制推送给用户,很容易造成用户的流失。
图1示出了根据本发明一个实施例的利用寄生工具包实现的视频推送方法的流程图。如图1所示,该方法包括以下步骤:
步骤S100,根据用户触发的视频播放的行为,获取主应用的属性信息。
主应用的属性信息可以包括主应用的标识、主应用的版本信息、主应用的开发商等各种信息,这里不一一列举说明。
在本发明实施例中,主应用的属性信息是在Manifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了主应用工具包的整体信息,因此,可以使用PackageInfo对象的相应属性获取主应用的属性信息,例如,PackageInfo对象的versionName属性获取应用的版本号。可以通过PackageManager对象来获取PackageInfo对象。PackageManager是一个检索当前已安装在终端上的相关应用程序工具包的各种属性信息的类。PackageManager对象中的getPackageInfo方法可以获取PackageInfo对象。
步骤S101,根据主应用的属性信息查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源。
视频数据库是服务器侧的数据库,在视频数据库中预先存储了大量视频资源,在根据步骤S100获取到主应用的属性信息后,终端将获取到的主应用的分类信息发送至服务器,服务器可以根据获取到的主应用的属性信息去查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源,其 中,视频资源指的是视频。
步骤S102,向用户推送与视频资源对应的视频流,以在呈现主应用的用户界面的同时播放视频流。
将步骤S101中获取到的与主应用的属性信息相匹配的视频资源对应的视频流推送给用户,在呈现主应用的用户界面的同时播放视频流,从而实现了既使用主应用又能够观看视频的效果。
根据本发明上述实施例提供的方法,通过获取主应用的属性信息,根据主应用的属性信息获取到视频资源,将与视频资源对应的视频流推送给用户,所推送的视频与主应用相关联,实现了根据用户兴趣推送视频,避免了所推送视频与用户兴趣不相关而导致用户流失的缺陷,实现了呈现主应用的用户界面的同时播放视频,解决了用户只能单独使用其他应用或视频应用,而不能在操作其他应用时同时显示视频应用的界面的缺陷,克服了现有技术中当需要操作其他应用或视频应用时,都需要切换到相应的应用,导致操作不便的问题,大大提高了用户操作的简便性,节省用户时间。
图2示出了根据本发明另一个实施例的利用寄生工具包实现的视频推送方法的流程图。如图2所示,该方法包括以下步骤:
步骤S200,主应用启动时,在主应用的用户界面中呈现视频播放入口。
具体地,用户在触发主应用的图标后,启动主应用。启动主应用时,在主应用的用户界面中呈现视频播放入口,其中,视频播放入口可以以浮力球的形式展现。
步骤S201,根据用户触发视频播放入口的行为,创建悬浮窗,其中悬浮窗的尺寸小于主应用的用户界面的尺寸。
具体地,当用户想要在主应用中观看视频时,可以通过触发视频播放入口的方式启动播放视频,在检测到用户触发视频播放入口后,根据用户的该行为,创建Floatwindow。Floatwindow的创建涉及到WindowManager接口,实现类有WindowManagerImpl,CompatModeWrapper,LocalWindowManager。具体地,寄生工具包的代码启动一个Service,然后在Service中创建悬浮窗。在创建悬浮窗时,需要设置悬浮窗的窗口位置参数和窗口尺寸参数(包含width和height)。悬浮窗的窗口位置参数和窗口尺寸参数决定了悬浮窗以预设尺寸显示在终端屏幕的预设位置。为了不影响用户使用其他应用,悬浮窗 的预设尺寸应小于终端屏幕的尺寸。
悬浮窗是存在终端屏幕之上的浮动窗口,悬浮窗不隶属于Activity界面,也不受Activity界面的覆盖影响,但与Activity的生命周期相同。
步骤S202,在悬浮窗内嵌入视频播放器。
在创建悬浮窗之后,在悬浮窗内嵌入视频播放器,该视频播放器可以用于显示视频流。其中,视频播放器通过窗口视图来实现。
具体地,为了能够使该悬浮窗显示用户所启动的视频服务的用户界面,在创建悬浮窗之后,可以在悬浮窗内嵌入窗口视图,创建窗口视图的绘图表面,该窗口视图用于绘制视频界面。这里窗口视图可以为任何能够显示视频服务所提供的用户界面的视图,本发明对此不作限制。本实施例以第一窗口视图为surfaceview视图为例进行说明。
在Android***中,surfaceview具有独立的绘图表面,它不与其宿主窗口共享同一个绘图表面。由于具有独立的绘图表面,因此surfaceview的用户界面可在一个独立的线程中进行绘制,而且又不会占用主线程资源。surfaceview一方面可以实现复杂而高效的UI绘制,另一方面又不会导致用户输入得不到及时响应。因此,使用surfaceview作为窗口视图嵌入到悬浮窗中,可以实现复杂和高效的绘制。
步骤S203,根据用户触发的视频播放的行为,获取主应用的属性信息。
主应用的属性信息可以包括主应用的标识、主应用的版本信息、主应用的开发商等各种信息,这里不一一列举说明。
在本发明实施例中,主应用的属性信息是在Manifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了主应用工具包的整体信息,因此,可以使用PackageInfo对象的相应属性获取主应用的属性信息,例如,PackageInfo对象的versionName属性获取应用的版本号。可以通过PackageManager对象来获取PackageInfo对象。PackageManager是一个检索当前已安装在终端上的相关应用程序工具包的各种属性信息的类。PackageManager对象中的getPackageInfo方法可以获取PackageInfo对象。
步骤S204,根据主应用的属性信息确定主应用的分类信息。
主应用可以标识为用户当前的兴趣方向,为了避免推送给用户的视频并不能满足用户的需求,导致用户流失的缺陷,可以根据用户当前使用的主应 用来确定向用户推送的视频。具体地,在获取到主应用的属性信息后,根据所获取到的主应用的属性信息,例如,主应用的标识可以确定主应用的分类信息,例如主应用属于游戏类。
步骤S205,根据主应用的分类信息查询预先建立的视频数据库,获取与主应用分类信息相匹配的视频资源。
其中,视频数据库是服务器侧的数据库,在视频数据库中预先存储了大量视频资源,在根据步骤S204确定主应用的分类信息后,终端将获取到的主应用的分类信息发送至服务器,服务器可以根据获取到的主应用的分类信息去查询预先建立的视频数据库,获取与主应用的分类信息相匹配的视频资源,其中,视频资源指的是视频。
步骤S206,将与视频资源对应的视频流传输给视频播放器,通过悬浮窗向用户推送视频流,以在呈现主应用的用户界面的同时在悬浮窗内播放视频流。
具体地,服务器在获取与主应用的分类信息相匹配的视频资源后,将视频资源返回给终端,寄生工具包控制窗口视图在其绘图表面绘制视频流对应的视频界面,在所绘制的视频界面内显示视频流,实现了在呈现主应用的用户界面的同时在悬浮窗内播放视频流。
以“愤怒的小鸟”为主应用举例说明,在确定出其为游戏分类后,根据其分类信息查询预先建立的视频数据库,获取与主应用分类信息相匹配的视频资源,如电影“愤怒的小鸟”,将电影“愤怒的小鸟”对应的视频流传输给视频播放器,通过悬浮窗向用户推送“愤怒的小鸟”对应的视频流,以在呈现主应用“愤怒的小鸟”的用户界面的同时在悬浮窗内播放电影“愤怒的小鸟”。
步骤S207,接收用户输入的停止播放视频请求。
若用户不想再观看视频,可以选择停止播放视频,通过触发悬浮窗上提供的关闭按钮,来关闭悬浮窗,在监测到用户触发关闭按钮后,即可将触发关闭按钮的操作作为用户输入的停止播放视频请求。
步骤S208,根据停止播放视频请求,执行关闭悬浮窗的操作,停止播放视频。
在接收到用户输入的停止播放视频请求后,根据该停止播放视频请求,关闭悬浮窗,停止播放视频,此时,终端屏幕上可仅显示主应用的用户界面, 使得用户可以根据需求灵活选择是否播放视频。
根据本发明上述实施例提供的方法,通过获取主应用的属性信息,根据主应用的属性信息获取到视频资源,将与视频资源对应的视频流推送给用户,所推送的视频与主应用相关联,实现了根据用户兴趣推送视频,避免了所推送视频与用户兴趣不相关而导致用户流失的缺陷。进一步的,通过创建悬浮窗,在悬浮窗内嵌入视频播放器,将视频流传输给视频播放器,实现了呈现主应用的用户界面的同时播放视频,解决了用户只能单独使用其他应用或视频应用,而不能在操作其他应用时同时显示视频应用的界面的缺陷,克服了现有技术中当需要操作其他应用或视频应用时,都需要切换到相应的应用,导致操作不便的问题,大大提高了用户操作的简便性,节省用户时间。
图3示出了根据本发明一个实施例的利用寄生工具包实现的视频推送装置的结构框图。如图3所示,该装置包括:获取模块300、查询模块310、推送模块320和第一呈现模块330。
获取模块300,适于根据用户触发的视频播放的行为,获取主应用的属性信息。
主应用的属性信息可以包括主应用的标识、主应用的版本信息、主应用的开发商等各种信息,这里不一一列举说明。
在本发明实施例中,主应用的属性信息是在Manifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了主应用工具包的整体信息,因此,可以使用PackageInfo对象的相应属性获取主应用的属性信息,例如,PackageInfo对象的versionName属性获取应用的版本号。可以通过PackageManager对象来获取PackageInfo对象。PackageManager是一个检索当前已安装在终端上的相关应用程序工具包的各种属性信息的类。PackageManager对象中的getPackageInfo方法可以获取PackageInfo对象。
查询模块310,适于根据主应用的属性信息查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源。
视频数据库是服务器侧的数据库,在视频数据库中预先存储了大量视频资源,在获取到主应用的属性信息后,终端将获取到的主应用的分类信息发送至服务器,服务器可以根据获取到的主应用的属性信息去查询预先建立的视频数据库,获取与主应用的属性信息相匹配的视频资源,其中,视频资源 指的是视频。
推送模块320,适于向用户推送与视频资源对应的视频流。
第一呈现模块330,适于在呈现主应用的用户界面的同时播放视频流。
可选的,该装置还包括:第二呈现模块340,适于主应用启动时,在主应用的用户界面中呈现视频播放入口。
具体地,用户在触发主应用的图标后,启动主应用。启动主应用时,在主应用的用户界面中呈现视频播放入口,其中,视频播放入口可以以浮力球的形式展现。
创建模块350,适于根据用户触发视频播放入口的行为,创建悬浮窗;其中悬浮窗的尺寸小于主应用的用户界面的尺寸。
具体地,当用户想要在主应用中观看视频时,可以通过触发视频播放入口的方式启动播放视频,在检测到用户触发视频播放入口后,根据用户的该行为,创建Floatwindow。Floatwindow的创建涉及到WindowManager接口,实现类有WindowManagerImpl,CompatModeWrapper,LocalWindowManager。具体地,寄生工具包的代码启动一个Service,然后在Service中创建悬浮窗。在创建悬浮窗时,需要设置悬浮窗的窗口位置参数和窗口尺寸参数(包含width和height)。悬浮窗的窗口位置参数和窗口尺寸参数决定了悬浮窗以预设尺寸显示在终端屏幕的预设位置。为了不影响用户使用其他应用,悬浮窗的预设尺寸应小于终端屏幕的尺寸。
悬浮窗是存在终端屏幕之上的浮动窗口,悬浮窗不隶属于Activity界面,也不受Activity界面的覆盖影响,但与Activity的生命周期相同。
嵌入模块360,适于在悬浮窗内嵌入视频播放器。
其中,视频播放器通过窗口视图来实现,具体地,窗口视图为surfaceview视图。
推送模块320适于:将与视频资源对应的视频流传输给视频播放器,通过悬浮窗向用户推送视频流。
第一呈现模块330适于:在呈现主应用的用户界面的同时在悬浮窗内播放视频流。
嵌入模块360适于:在悬浮窗内嵌入窗口视图,创建窗口视图的绘图表 面。
具体地,为了能够使该悬浮窗显示用户所启动的视频服务的用户界面,在创建悬浮窗之后,可以在悬浮窗内嵌入窗口视图,创建窗口视图的绘图表面,该窗口视图用于绘制视频界面。这里窗口视图可以为任何能够显示视频服务所提供的用户界面的视图,本发明对此不作限制。本实施例以第一窗口视图为surfaceview视图为例进行说明。
在Android***中,surfaceview具有独立的绘图表面,它不与其宿主窗口共享同一个绘图表面。由于具有独立的绘图表面,因此surfaceview的用户界面可在一个独立的线程中进行绘制,而且又不会占用主线程资源。surfaceview一方面可以实现复杂而高效的UI绘制,另一方面又不会导致用户输入得不到及时响应。因此,使用surfaceview作为窗口视图嵌入到悬浮窗中,可以实现复杂和高效的绘制。
可选的,第一呈现模块340还适于:控制窗口视图在绘图表面绘制视频流对应的视频界面。
可选的,查询模块310包括:确定单元311,适于根据主应用的属性信息确定主应用的分类信息。
主应用可以标识为用户当前的兴趣方向,为了避免推送给用户的视频并不能满足用户的需求,导致用户流失的缺陷,可以根据用户当前使用的主应用来确定向用户推送的视频。具体地,在获取到主应用的属性信息后,根据所获取到的主应用的属性信息,例如,主应用的标识可以确定主应用的分类信息,例如主应用属于游戏类。
查询单元312,适于根据主应用的分类信息查询预先建立的视频数据库,获取与主应用分类信息相匹配的视频资源。
其中,视频数据库预先存储了大量视频资源,在确定主应用的分类信息后,可以根据获取到的主应用的分类信息去查询预先建立的视频数据库,获取与主应用的分类信息相匹配的视频资源,其中,视频资源指的是视频。
可选的,该装置还包括:接收模块370,适于接收用户输入的停止播放视频请求。
停止模块380,适于根据停止播放视频请求,执行关闭悬浮窗的操作,停止播放视频。
根据本发明上述实施例提供的装置,通过获取主应用的属性信息,根据主应用的属性信息获取到视频资源,将与视频资源对应的视频流推送给用户,所推送的视频与主应用相关联,实现了根据用户兴趣推送视频,避免了所推送视频与用户兴趣不相关而导致用户流失的缺陷。进一步的,通过创建悬浮窗,在悬浮窗内嵌入视频播放器,将视频流传输给视频播放器,实现了呈现主应用的用户界面的同时播放视频,解决了用户只能单独使用其他应用或视频应用,而不能在操作其他应用时同时显示视频应用的界面的缺陷,克服了现有技术中当需要操作其他应用或视频应用时,都需要切换到相应的应用,导致操作不便的问题,大大提高了用户操作的简便性,节省用户时间。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者 单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的利用寄生工具包实现的视频推送设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了可以实现根据本发明的利用寄生工具包实现的视频推送方法的计算设备。该计算设备传统上包括处理器410和以存储器420形式的程序产品或者可读介质。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM或者ROM之类的电子存储器。存储器420具有用于执行上述方法中的任何方法步骤的程序代码431的存储空间430。例如,用于程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码431。这些程序代码可以从一个或者多个程序产品中读出或者写入到这一个或者多个程序产品中。这些程序产品包括诸如存储卡之类的程序代码载体。这样的程序产品通常为如参考图5所述的便携式或者固定存储单元。该存储单元可以具有与图4的计算设备中的存储器420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括可读代码431’,即可以由例如诸如410之类的处理器读取的代码,这些代码当由计算设备运行时,导致该计算设备执行上面所描述的方法 中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (16)

  1. 一种利用寄生工具包实现的视频推送方法,其中所述寄生工具包与主应用预先绑定,以提供在所述主应用的用户界面中播放视频的功能,所述方法包括:
    根据用户触发的视频播放的行为,获取主应用的属性信息;
    根据所述主应用的属性信息查询预先建立的视频数据库,获取与所述主应用的属性信息相匹配的视频资源;
    向用户推送与所述视频资源对应的视频流,以在呈现所述主应用的用户界面的同时播放所述视频流。
  2. 根据权利要求1所述的方法,其中,在根据用户触发的视频播放的行为,获取主应用的属性信息之前,所述方法还包括:
    主应用启动时,在主应用的用户界面中呈现视频播放入口;
    根据用户触发所述视频播放入口的行为,创建悬浮窗,在悬浮窗内嵌入视频播放器;其中所述悬浮窗的尺寸小于所述主应用的用户界面的尺寸;
    所述向用户推送与所述视频资源对应的视频流包括:
    将与所述视频资源对应的视频流传输给所述视频播放器,通过所述悬浮窗向用户推送所述视频流,以在呈现所述主应用的用户界面的同时在所述悬浮窗内播放所述视频流。
  3. 根据权利要求2所述的方法,其中,所述视频播放器通过窗口视图来实现;
    所述在悬浮窗内嵌入视频播放器包括:在悬浮窗内嵌入窗口视图,创建窗口视图的绘图表面。
  4. 根据权利要求3所述的方法,其中,所述在悬浮窗内播放所述视频流包括:控制所述窗口视图在绘图表面绘制所述视频流对应的视频界面。
  5. 根据权利要求3或4所述的方法,其中,所述窗口视图为surfaceview视图。
  6. 根据权利要求1-5任一项所述的方法,其中,所述根据所述主应用的属性信息查询预先建立的视频数据库,获取与所述主应用的属性信息相匹配 的视频资源包括:
    根据所述主应用的属性信息确定主应用的分类信息;
    根据所述主应用的分类信息查询预先建立的视频数据库,获取与所述主应用分类信息相匹配的视频资源。
  7. 根据权利要求1-6任一项所述的方法,其中,所述方法还包括:接收用户输入的停止播放视频请求;
    根据所述停止播放视频请求,执行关闭悬浮窗的操作,停止播放视频。
  8. 一种利用寄生工具包实现的视频推送装置,其中所述寄生工具包与主应用预先绑定,以提供在所述主应用的用户界面中播放视频的功能,所述装置包括:
    获取模块,适于根据用户触发的视频播放的行为,获取主应用的属性信息;
    查询模块,适于根据所述主应用的属性信息查询预先建立的视频数据库,获取与所述主应用的属性信息相匹配的视频资源;
    推送模块,适于向用户推送与所述视频资源对应的视频流;
    第一呈现模块,适于在呈现所述主应用的用户界面的同时播放所述视频流。
  9. 根据权利要求8所述的装置,其中,所述装置还包括:
    第二呈现模块,适于主应用启动时,在主应用的用户界面中呈现视频播放入口;
    创建模块,适于根据用户触发所述视频播放入口的行为,创建悬浮窗;其中所述悬浮窗的尺寸小于所述主应用的用户界面的尺寸;
    嵌入模块,适于在悬浮窗内嵌入视频播放器;
    所述推送模块适于:将与所述视频资源对应的视频流传输给所述视频播放器,通过所述悬浮窗向用户推送所述视频流;
    所述第一呈现模块适于:在呈现所述主应用的用户界面的同时在所述悬浮窗内播放所述视频流。
  10. 根据权利要求9所述的装置,其中,所述视频播放器通过窗口视图来实现;
    所述嵌入模块适于:在悬浮窗内嵌入窗口视图,创建窗口视图的绘图表面。
  11. 根据权利要求10所述的装置,其中,所述第一呈现模块还适于:控制所述窗口视图在绘图表面绘制所述视频流对应的视频界面。
  12. 根据权利要求9或10所述的装置,其中,所述窗口视图为surfaceview视图。
  13. 根据权利要求8-12任一项所述的装置,其中,所述查询模块包括:
    确定单元,适于根据所述主应用的属性信息确定主应用的分类信息;
    查询单元,适于根据所述主应用的分类信息查询预先建立的视频数据库,获取与所述主应用分类信息相匹配的视频资源。
  14. 根据权利要求8-13任一项所述的装置,其中,所述装置还包括:接收模块,适于接收用户输入的停止播放视频请求;
    停止模块,适于根据所述停止播放视频请求,执行关闭悬浮窗的操作,停止播放视频。
  15. 一种计算机程序,包括计算机可读代码,当所述可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-7中的任一个所述的利用寄生工具包实现的视频推送方法。
  16. 一种计算机可读介质,其中存储了如权利要求15所述的程序。
PCT/CN2017/090012 2016-06-27 2017-06-26 视频推送方法、装置、程序及介质 WO2018001201A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610482828.4A CN105915933B (zh) 2016-06-27 2016-06-27 利用寄生工具包实现的视频推送方法及装置
CN201610482828.4 2016-06-27

Publications (1)

Publication Number Publication Date
WO2018001201A1 true WO2018001201A1 (zh) 2018-01-04

Family

ID=56759659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/090012 WO2018001201A1 (zh) 2016-06-27 2017-06-26 视频推送方法、装置、程序及介质

Country Status (2)

Country Link
CN (1) CN105915933B (zh)
WO (1) WO2018001201A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113727133A (zh) * 2021-08-31 2021-11-30 广州方硅信息技术有限公司 直播控制方法及其装置、设备与介质
CN115237315A (zh) * 2022-07-08 2022-10-25 北京字跳网络技术有限公司 信息显示方法、装置、电子设备和存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915933B (zh) * 2016-06-27 2019-05-24 北京奇虎科技有限公司 利用寄生工具包实现的视频推送方法及装置
CN106502540B (zh) * 2016-10-26 2020-02-25 北京奇虎科技有限公司 利用浮窗在主应用界面中进行功能定制的方法及装置
CN106803978A (zh) * 2017-03-16 2017-06-06 上海青橙实业有限公司 移动终端以及基于悬浮窗口播放视频的方法
CN108156508B (zh) * 2017-12-28 2020-10-20 北京安云世纪科技有限公司 弹幕信息处理的方法、装置、移动终端、服务器及***
CN112291573B (zh) 2020-03-27 2022-05-20 北京字节跳动网络技术有限公司 直播流推送方法、装置、电子设备和计算机可读介质
CN111949358A (zh) * 2020-08-18 2020-11-17 北京字节跳动网络技术有限公司 动态显示的方法、装置、可读介质和电子设备
CN113938748B (zh) * 2021-10-15 2023-09-01 腾讯科技(成都)有限公司 视频播放方法、装置、终端、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325675A1 (en) * 2009-06-18 2010-12-23 Smoyer Clinton J System and method for utilizing a secured service provider memory
CN102760270A (zh) * 2011-04-26 2012-10-31 珠海德百祺科技有限公司 向移动终端定向推送广告的方法及服务器
CN104954879A (zh) * 2015-06-17 2015-09-30 北京奇艺世纪科技有限公司 一种视频互动内容展示方法及装置
CN105025319A (zh) * 2015-07-09 2015-11-04 无锡天脉聚源传媒科技有限公司 一种视频推送方法和装置
CN105915933A (zh) * 2016-06-27 2016-08-31 北京奇虎科技有限公司 利用寄生工具包实现的视频推送方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426685B (zh) * 2011-08-26 2015-09-02 北京暴风科技股份有限公司 交互式互联网视频广告播放方法
WO2015054361A1 (en) * 2013-10-08 2015-04-16 The Echo Nest Corporation Systems, methods, and computer program products for providing contextually-aware video recommendation
CN104270652B (zh) * 2014-09-29 2018-09-04 北京酷云互动科技有限公司 音频监播方法、装置和服务器
CN104899062B (zh) * 2015-05-29 2018-07-06 努比亚技术有限公司 应用启动方法及装置
CN105187939A (zh) * 2015-09-21 2015-12-23 合一网络技术(北京)有限公司 一种实现网页游戏中播放视频的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325675A1 (en) * 2009-06-18 2010-12-23 Smoyer Clinton J System and method for utilizing a secured service provider memory
CN102760270A (zh) * 2011-04-26 2012-10-31 珠海德百祺科技有限公司 向移动终端定向推送广告的方法及服务器
CN104954879A (zh) * 2015-06-17 2015-09-30 北京奇艺世纪科技有限公司 一种视频互动内容展示方法及装置
CN105025319A (zh) * 2015-07-09 2015-11-04 无锡天脉聚源传媒科技有限公司 一种视频推送方法和装置
CN105915933A (zh) * 2016-06-27 2016-08-31 北京奇虎科技有限公司 利用寄生工具包实现的视频推送方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113727133A (zh) * 2021-08-31 2021-11-30 广州方硅信息技术有限公司 直播控制方法及其装置、设备与介质
CN115237315A (zh) * 2022-07-08 2022-10-25 北京字跳网络技术有限公司 信息显示方法、装置、电子设备和存储介质
CN115237315B (zh) * 2022-07-08 2024-05-07 北京字跳网络技术有限公司 信息显示方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN105915933A (zh) 2016-08-31
CN105915933B (zh) 2019-05-24

Similar Documents

Publication Publication Date Title
WO2018001201A1 (zh) 视频推送方法、装置、程序及介质
WO2018001218A1 (zh) 视频播放方法、装置、程序及介质
WO2018001202A1 (zh) 视频播放模式切换方法、装置、程序及介质
US20180107353A1 (en) Electronic device and method for playing multimedia content by electronic device
CN110333836B (zh) 信息的投屏方法、装置、存储介质和电子装置
CN109168021B (zh) 一种推流的方法及装置
US11416204B2 (en) Method for performing multi-tasking using external display device and electronic device thereof
US20150130705A1 (en) Method for determining location of content and an electronic device
CN108245896B (zh) 呈现游戏直播的方法、装置、***、存储介质及设备
WO2016107327A1 (zh) 实现app统一管理智能硬件设备的方法、装置和客户端
WO2017181598A1 (zh) 视频播放方法及装置
WO2018001246A1 (zh) 视频播放模式设置方法、装置、程序及介质
EP3216221A1 (en) System and method for collecting data
WO2021114710A1 (zh) 直播视频互动方法、装置以及计算机设备
US20150350123A1 (en) User terminal apparatus, communication system, and method of controlling user terminal apparatus
CN109729386B (zh) 一种视频文件启播方法、***及电子设备和存储介质
AU2013264492B2 (en) Method and apparatus for multi-playing videos
KR102407765B1 (ko) 전자 장치 및 전자 장치의 파노라마 영상 표시 제어 방법
WO2018121383A1 (zh) 虚拟现实vr视频播放的设备和播放vr视频的方法
WO2016070726A1 (zh) 页面标签的加载方法、装置和浏览器客户端
US20160378311A1 (en) Method for outputting state change effect based on attribute of object and electronic device thereof
US20160127673A1 (en) Display apparatus, controlling method, and display system
CN112075085A (zh) 电子装置及其控制方法
WO2017107962A1 (zh) 在应用中进行视频播放的方法和装置
US20150379098A1 (en) Method and apparatus for managing data

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17819198

Country of ref document: EP

Kind code of ref document: A1