CN113873298A - 视频重定向的方法、电子设备以及计算机可读存储介质 - Google Patents
视频重定向的方法、电子设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113873298A CN113873298A CN202010618024.9A CN202010618024A CN113873298A CN 113873298 A CN113873298 A CN 113873298A CN 202010618024 A CN202010618024 A CN 202010618024A CN 113873298 A CN113873298 A CN 113873298A
- Authority
- CN
- China
- Prior art keywords
- video
- player
- client
- playing
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4437—Implementing a Virtual Machine [VM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种视频重定向的方法,电子设备以及计算机可读存储介质。其中视频重定向的方法包括:在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器;若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序;在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。借助本发明提供的技术方案,将视频播放重定向至客户端的视频播放器进行播放,既不影响界面展示,又可以有效地降低服务器的负担。
Description
技术领域
本申请涉及多媒体终端和云计算技术领域,特别是涉及一种视频重定向的方法。
背景技术
随着大视频业务日益发展成熟,用户对业务体验提出了更高的要求,希望能够拥有更好的UI(User Interface)体验,享受更丰富的增值业务;同时随着云计算与虚拟化技术的高速发展,基于云计算与虚拟化技术的云化机顶盒运用而生。云化机顶盒具体业务在云端进行处理,机顶盒保留核心解码能力和外设接口能力,因此,通过优化云端服务器处理能力以及虚拟机的并发数,可以有效地节约成本,提高产品的竞争力。云端应用播放视频是虚拟机资源占用高的主要场景,在相关技术中,采用桌面流和视频流分离的方式可有效地解决此问题。
虽然通过将桌面流和视频流分离,以将视频流重定向至客户端,可以有效的提高服务器的性能,但这只对部分的应用有效,针对其他一些第三方应用因为存在兼容性的问题,无法实现视频的重定向以及桌面流和视频流的分离,所以相关技术中的方案的局限性大。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种视频重定向的方法、电子设备以及计算机可读存储介质,能够在不对视频应用程序本身进行修改的情况下,将视频流直接重定向至客户端进行播放。
在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器;
若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序;
在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。
另一方面,本发明实施例提供了一种电子设备,包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于执行如上所述的视频重定向的方法。
再一方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述的视频重定向的方法。
本发明实施例包括:在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器;若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序;在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。根据本发明实施例提供的方案,当获取到用于启动视频应用程序的启动指令时,先根据启动指令检测所述启动指令指示的视频应用程序的播放器是否为目标播放器,然后所述视频应用程序的播放器为所述目标播放器时,将所述视频应用程序的目标播放器替换为预设播放器,其中所述目标播放器为无法支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器,所述预设播放器为能够支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器。由于对视频应用程序原有的播放器进行了替换,解决了第三方程序因为兼容性而无法实现视频重定向以及桌面流和视频流的分离的问题,并且,当接收到播放指令时,预设播放器的动态库不需要播放视频信息,只需把对应的视频资源地址发送给客户端,由客户端通过所述视频资源地址获取并播放视频信息,所以,本发明实施例提供的方案能够解决第三方视频应用程序的兼容性造成的问题,将视频资源地址直接重定向至客户端进行播放。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一实施例提供的应用视频重定向的方法的系统的示意图;
图2是本发明另一实施例提供的视频重定向的方法的流程图;
图3是本发明另一实施例提供的视频重定向的方法的流程图;
图4是本发明另一实施例提供的视频重定向的方法的流程图;
图5是本发明另一实施例提供的视频重定向的方法的流程图;
图6是本发明另一实施例提供的视频重定向的方法的流程图;
图7是本发明另一实施例提供的视频重定向的方法的流程图;
图8是本发明另一实施例提供的视频重定向的方法的流程图;
图9是本发明另一实施例提供的视频重定向的方法的流程图;
图10是本发明另一实施例提供的视频重定向的方法的流程图;
图11是本发明另一实施例提供的视频重定向的方法的流程图;
图12是本发明另一实施例提供的视频重定向的方法的流程图;
图13是本发明实施例提供的一种电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
应了解,在本发明实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明提供了一种视频重定向的方法、电子设备以及计算机可读存储介质,所述方法包括:在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器;若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序;在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。根据本发明实施例提供的方案,当获取到用于启动视频应用程序的启动指令时,先根据启动指令检测所述启动指令指示的视频应用程序的播放器是否为目标播放器,然后所述视频应用程序的播放器为所述目标播放器时,将所述视频应用程序的目标播放器替换为预设播放器,其中所述目标播放器为无法支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器,所述预设播放器为能够支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器。由于对视频应用程序原有的播放器进行了替换,解决了第三方程序因为兼容性而无法实现视频重定向以及桌面流和视频流的分离的问题,并且,当接收到播放指令时,预设播放器的动态库不需要播放视频信息,只需把对应的视频资源地址发送给客户端,由客户端通过所述视频资源地址获取并播放视频信息,所以,本发明实施例提供的方案能够解决第三方视频应用程序的兼容性造成的问题,将视频资源地址直接重定向至客户端进行播放。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一实施例提供的应用视频重定向的方法的系统的示意图。在图1的示例中,该系统包括客户端100以及云端服务器200,其中云端服务器包括虚拟机300。客户端100包括云化机顶盒以及显示器,用于桌面流的解码、渲染,视频流的播放等等。虚拟机300包括用于安装各种视频应用程序,以及用于设置不同预设播放器的动态库,预设播放器的动态库包括系统默认播放器以及开源播放器的经过修改的动态库。
本发明实施例描述的系统以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构平台的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的系统的结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的系统中,客户端100、云端服务器200和虚拟机300之间可以配合执行视频重定向的方法。
示例性的,本发明可以包括如下模块:Launcher:Android系统桌面,负责触发启动应用;Framework:Android系统框架,负责启动应用;视频播放器:包括Android系统默认播放器MediaPlayer和开源播放器;视频应用程序:云端服务器安装的视频应用程序;Vdagent:负责虚拟机和前端服务器的消息交互;前端服务器:负责与客户端的数据交互;虚拟机:其设置于云端服务器。
基于上述系统的结构,提出本发明的视频重定向的方法的各个实施例。
图2示出了本发明实施例提供的一种视频重定向的方法的流程图。如图1所示,该视频重定向的方法应用于云端服务器,包括如下步骤S100、步骤S200和步骤S300。
S100,在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器。
示例性的,用户连接云端服务器200的虚拟机300,并向虚拟机发送用于启动视频应用程序的启动指令,虚拟机300获取用于启动视频应用程序的启动指令。
示例性的,进一步设置前端服务器,用户连接云端服务器200的虚拟机300,并通过前端服务器向虚拟机发送用于启动视频应用程序的启动指令,虚拟机300获取用于启动视频应用程序的启动指令。
示例性的,在此实施例中,用户启动客户端,启动虚拟机中的视频应用程序,虚拟机收到启动视频应用程序的通知。
示例性的,其中视频应用程序的播放器可以是MPV播放器,其中MPV播放器是命令行的媒体播放器,支持多种媒体文件格式,音频和视频编解码器以及字幕类型。其脚本功能使播放器执行相应操作,Wiki上有大量的用户脚本可供选择。MPV具有高品质视频输出,具有基于OpenGL,Vulkan和D3D11的视频输出,例如具有高质量算法的视频缩放、色彩管理、帧定时、插值、HDR等。对于GPU视频解码,MPV可以在平台上利用大多数硬件解码API,可以在运行时按需启用硬件解码。其是可嵌入的,具有简单的C API,使得MPV可以用作库并便于集成到其他应用程序中。
示例性的,其中视频应用程序的播放器可以是播放器VLC media player,其中VLCmedia playerV是开源跨平台多媒体播放器和框架。其采用了c++语言开发,支持windows/linux/unix/mac,以及目前移动平台支持ios和android两大系统,VLC的优点在于其成熟性,由于采用了现代的c++开发,更多的开发人员都在这个项目中,因此其获得非常快的发展,并且在移动平台出现后,能够移植到ios、android等系统。
示例性的,其中视频应用程序的播放器可以是SMPlayer播放器,SMPlayer是适用于Windows和Linux的免费媒体播放器,具有内置的编解码器。SMPlayer播放器不需要任何外部编解码器。用户无需麻烦地查找和安装编解码器包。SMPlayer功能之一是记住播放的所有文件的设置。
S200,若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序。
示例性的,Android系统FrameWork收到启动视频应用程序的通知,并检测到视频应用程序引入目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动视频应用程序。其中,所述目标播放器为视频应用程序使用的播放器,该使用的播放器可以为所述视频应用程序自带的播放器,所述目标播放器为无法支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器,所述预设播放器为预先在虚拟机中设置的一个或者多个播放器,该预设播放器为能够支持将视频资源地址等信息发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息的播放器。
S300,在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。
示例性的,在云端服务器的虚拟机中,通过预先编译来预设播放器,以便在后续需要调用预设播放器的动态库时候进行有效的替换和调用。预设播放器的动态库包括通过修改系统默认播放器以及开源播放器的动态库而获得的动态库。
示例性的,所述预设播放器的动态库可以包括以下接口:设置播放器地址接口:该接口判断本次播放是否播放的网络资源(判断是否http开头),如果是网络资源,将播放地址传至客户端,客户端启动客户端的播放器,如果是本地资源,走原有的播放流程而在云端服务器进行播放,不做分离重定向处理;启动播放接口:将启动播放指令传至客户端,客户端启动播放;播放位置跳转接口:将播放位置跳转指令传至客户端,客户端进行位置跳转;暂停接口:将暂停指令传至客户端,客户端暂停播放;停止接口:将停止指令传至客户端,客户端停止播放;播放器释放接口:若将释放播放器指令传至客户端,客户端停止播放,并释放播放器;获取当前播放位置接口:虚拟机端可能会需要知道当前视频已经播放的位置,该接口会从客户端获取当前播放的位置,虚拟机可以正常显示数据;获取视频总时长接口:虚拟机端可能会需要知道当前视频总时长,该接口会从客户端获取视频总时长的数据,虚拟机可以正常显示数据;获取播放器宽度接口:通过该接口将播放器宽度数据传至客户端;获取播放器高度接口:通过该接口将播放器高度数据传至客户端;播放失败错误上报接口:客户端播放视频失败,会将失败的消息传至虚拟机端,虚拟机端该接口接收到该消息,通知虚拟机播放失败,虚拟机弹出播放错误信息;播放完成事件上报接口:客户端播放视频完成,会将完成的消息传至虚拟机端,虚拟机端的该接口接收到该消息,通知虚拟机播放完成,虚拟机弹出播放完成信息;播放进度上报接口:客户端定时上传播放进度,虚拟机端该接口接收到该消息虚拟机,虚拟机的进度条会实时移动。
示例性的,检测该视频应用程序是否引入了开源视频播放器,该开源视频播放器在虚拟机是否做了设配,若虚拟机已经做了适配,则将开源播放动态库重定向至我们预设播放器的动态库,即将开源视频播放器为我们在虚拟机中预设的播放器。通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。
另外,示例性的,用户启动客户端,并启动虚拟机中的视频应用程序,虚拟机收到启动视频应用程序的通知,开始检测该视频应用程序是否引入了系统默认的播放器,系统默认的播放器在虚拟机是否做了设配,若虚拟机已经做了适配,则将开源播放动态库重定向至我们预设播放器的动态库,即将系统默认的播放器替换为我们在虚拟机中预设的播放器。通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。
如图3所示,具体的,上述步骤S100中所述检测所述启动指令指示的视频应用程序的播放器是否为目标播放器,还包括:
S210,检测所述视频应用程序的播放器的文件名称,并根据所述视频应用程序的播放器的文件名称确定所述视频应用程序的播放器是否为目标播放器。
如图4所示,还包括步骤:
S400,将用户界面发送给客户端,并把用户界面在客户端中显示。
示例性的,用户界面可以为云桌面显示的用户界面,在播放视频时候的用户界面存在空出来的例如为一块黑屏区域的播放界面,所述黑屏区域用于嵌入视频信息,在客户端中用户界面和播放界面两者进行结合而在客户端中显示。
如图5所示,具体的,上述步骤S300中在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息,可以通过如下的步骤S320和步骤S330实现。
S320,将视频资源地址传输至前端服务器;
S330,通过前端服务器将所述视频资源地址传输至所述客户端。
示例性的,前端服务器可以是另一个虚拟机,用作为信息转发中继。该前端服务器负责接收客户端的信息并发送给云端服务器,同时,该前端服务器接收云端服务器发来的用户界面和视频资源地址传输至所述客户端100。
如图6所示,上述一种视频重定向的方法进一步包括步骤:
S500,通过所述预设播放器的动态库的控制接口获取控制信息;
S600,把所述控制信息发送给客户端,使得客户端根据所述控制信息对客户端的播放器进行控制操作。
示例性的,所述预设播放器的动态库包括:控制接口,配置为用于获取控制指令,以使所述预设播放器的动态库根据所述控制指令确定控制信息并向客户端发送所述控制信息,使得客户端根据所述控制信息控制所述视频信息的播放状态。
示例性的,控制接口包括启动播放、播放位置跳转、暂停、停止、播放器释放等。将控制信息发送给客户端,客户端的视频播放器做对应的控制操作。例如用户在视频应用程序中退出视频播放,虚拟机中视频播放器的预设播放器的动态库检测到该视频播放器即将退出或销毁,将视频播放器退出指令传输给客户端,客户端的视频播放器按照控制信息退出视频播放。示例性的,用户在云端服务器的虚拟机中的视频应用程序中点击暂停、快进、跳转等控制指令,虚拟机中视频播放器的预设播放器的动态库截获这些控制信息,并将这些控制信息传输至客户端,客户端的视频播放器根据这些控制信息做出对应的控制操作。
示例性的,用户在视频应用程序中点击暂停、快进、跳转等控制信息,位于云端服务器的虚拟机中的视频播放器截获这些控制信息,然后通过Vdagent模块将这些控制信息传输至前端服务器;然后,前端服务器将这些控制信息发送给客户端,客户端的视屏播放器做对应的控制操作。
示例性的,用户在视频应用程序中退出视频播放,虚拟机端的预设播放器的动态库检测到播放器即将退出或销毁,通过Vdagent模块将播放器退出指令传输至前端服务器;前端服务器将退出指令发送给客户端,客户端播放器退出视频播放。
示例性的,所述预设播放器的动态库还包括:显示接口,配置为获取显示界面的宽度数据和高度数据,并将所述宽度信息和高度信息发送给客户端,使得所述客户端根据所述宽度数据和高度数据调节显示界面的宽度和高度。显示接口包括获取播放器宽度、获取播放器高度等。
示例性的,所述预设播放器的动态库还包括:上报信息获取接口,配置为用于获取客户端的上报信息,以使所述预设播放器的动态库根据所述上报信息调整所述用户界面的显示内容,使得所述客户端中显示的用户界面的显示内容与客户端中播放的所述视频信息相匹配。上报信息获取接口包括获取当前播放位置、获取视频总时长、播放失败错误上报、播放完成事件上报、播放进度上报等
如图7所示,所述通过所述预设播放器的动态库把视频资源地址发送给客户端,包括步骤:
S700,通过所述预设播放器的动态库获取视频资源地址;
S800,当根据所述视频资源地址确定需要播放的视频信息为网络资源,通过所述预设播放器的动态库将所述视频资源地址发送至客户端。
如图8所示,上述一种视频重定向的方法进一步包括步骤:
S900,当根据所述视频资源地址确定需要播放的视频信息为本地资源,通过所述预设播放器的动态库播放所述视频信息。
示例性的,用户在视频应用程序中点击适配播放,适配的开源视频播放器或者系统默认的Mediaplayer收到播放请求,不执行视频播放,而是通过预设播放器的动态库截获播放URL信息、播放器区域信息等等的控制信息。
为了更加清楚的说明上述各个实施例中视频重定向的方法的具体步骤流程,下面以具体的示例进行说明。
示例一:
如图9所示,图9是本发明另一实施例提供的视频重定向的方法的流程图。该视频重定向的方法包括如下步骤:
步骤S501、对常用的开源播放器的播放器动态库进行修改以获得预设播放器的动态库,包括修改其播放接口和控制接口功能,用于提取播放信息、播控命令。
步骤S502、启动进程流程优化,检测待启动的视频应用程序是否采用目标播放器,例如,所述目标播放器为开源播放器,对应的开源播放器在虚拟机是否有集成相应的预设播放器,如果集成则视频应用程序启动时将目标播放器替换成虚拟机已经集成的预设播放器。
步骤S503、预设播放器的动态库获取应用播放数据、播控命令等信息,和桌面流数据一起发送给客户端,客户端负责桌面流的解码、渲染,视频流的播放。
示例二:
如图10所示,图10是本发明另一实施例提供的视频重定向的方法的流程图。该视频重定向的方法包括如下步骤:
步骤S601、修改Android系统默认播放器MediaPlayer以获得预设播放器的动态库,包括修改播放接口和控制接口功能,用于提取播放信息、播控命令。
步骤S602、启动进程流程优化,检测待启动的视频应用程序是否采用目标播放器,例如,所述目标播放器为系统默认播放器MediaPlayer,对应的系统默认播放器MediaPlayer的播放器在虚拟机是否有集成相应的预设播放器,如果集成则视频应用程序启动时将目标播放器替换成虚拟机已经集成的预设播放器。
步骤S603、预设播放器的动态库获取应用播放数据、播控命令等信息,和桌面流数据一起发送给客户端,客户端负责桌面流的解码、渲染,视频流的播放。
示例三:
如图11所示,图11是本发明另一实施例提供的视频重定向的方法的流程图。该视频重定向的方法包括如下步骤:
步骤S801、用户连接Android系统的云化机顶盒,通过Launcher并启动视频应用程序;
步骤S802、Android系统FrameWork收到启动视频应用程序的通知,开始检测该视频应用程序是否引入了目标播放器,例如,所述目标播放器为开源播放器,确定该开源播放器虚拟机是否做了设配,若虚拟机已经做了适配,则将开源播放动态库重定向至适配的预设播放器的动态库,并启动视频应用程序;
步骤S803、用户在视频应用程序中点击适配播放,适配的预设播放器的动态库收到播放请求,不执行视频播放,将截获的播放URL信息、播放器区域信息通过Vdagent模块传输至前端服务器;
步骤S804、前端服务器将桌面流、视频播放命令发送至客户端,客户端负责桌面流的解码、渲染,视频流的播放。
步骤S805、用户在视频应用程序中点击暂停、快进、跳转等控制指令,预设播放器的动态库截获指令,通过Vdagent模块将控制命令传输至前端服务器;
步骤S806、前端服务器将控制指令发送给客户端,客户端播放器做对应的控制操作。
步骤S807、用户在视频应用程序中退出视频播放,预设播放器的动态库检测到播放器即将退出或销毁,通过Vdagent模块将播放器退出指令传输至前端服务器;
步骤S808、前端服务器将退出指令发送给客户端,客户端播放器退出视频播放。
如上所述,借助本发明提供的技术方案,将视频播放重定向至客户端的视频播放器进行播放,既不影响界面展示,可以有效地降低服务器的负担,同时提高了用户在流畅度、低时延云化机顶盒上的体验,提高了产品的竞争力。
示例四:
如图12所示,图12是本发明另一实施例提供的视频重定向的方法的流程图。该视频重定向的方法包括如下步骤:
步骤S901、用户连接Android系统云化机顶盒,通过Launcher并启动视频应用程序;
步骤S902、Android系统的FrameWork收到启动视频应用程序的通知,开始检测该视频应用程序是否引用了目标播放器,例如,所述目标播放器为系统默认播放器Mediaplayer,以及是否做了设配,若虚拟机中已经做了适配,则将系统默认播放器动态库重定向至我们适配的预设播放器的动态库,并启动视频应用程序;
步骤S903、用户在视频应用程序中点击适配播放,预设播放器的的动态库收到播放请求,不执行视频播放,将截获的播放URL信息、播放器区域信息通过Vdagent模块传输至前端服务器;
步骤S904、前端服务器将桌面流、视频播放命令发送至客户端,客户端负责桌面流的解码、渲染,视频流的播放。
步骤S905、用户在视频应用程序中点击暂停、快进、跳转等控制指令,预设播放器的动态库截获指令,通过Vdagent模块将控制命令传输至前端服务器;
步骤S906、前端服务器将控制指令发送给客户端,客户端播放器做对应的控制操作。
步骤S907、用户在视频应用程序中退出视频播放,预设播放器的动态库检测到播放器即将退出或销毁,通过Vdagent模块将播放器退出指令传输至前端服务器;
步骤S908、前端服务器将退出指令发送给客户端,客户端播放器退出视频播放。
如上所述,借助本发明提供的技术方案,将视频播放重定向至客户端的视频播放器进行播放,既不影响界面展示,可以有效地降低服务器的负担,同时提高了用户在流畅度、低时延云化机顶盒上的体验,提高了产品的竞争力。
图13示出了本发明实施例提供的电子设备40。如图13所示,该电子设备40包括但不限于:
存储器42,用于存储程序;
处理器41,用于执行存储器42存储的程序,当处理器41执行存储器42存储的程序时,处理器41用于执行上述的视频重定向的方法。
处理器41和存储器42可以通过总线或者其他方式连接。
存储器42作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例描述的终端选定方法。处理器41通过运行存储在存储器42中的非暂态软件程序以及指令,从而实现上述的终端选定方法。
存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的终端选定方法。此外,存储器42可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至该处理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的终端选定方法所需的非暂态软件程序以及指令存储在存储器42中,当被一个或者多个处理器41执行时,执行上述的终端选定方法,例如,执行图2中描述的方法步骤S100至S300,图3中描述的方法步骤S210,如图4中描述的方法步骤S400,如图5中描述的方法步骤S320至S330,图6中描述的方法步骤S500至S600,图7中描述的方法步骤S700至S800,图8中描述的方法步骤S900,图9中描述的方法步骤S501至S503,图10中描述的方法步骤S601至S603,图11中描述的方法步骤步骤S801至S808,图12中描述的方法步骤S901至S908。
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的视频重定向的方法。
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述的云计算服务方法,例如,执行图2中描述的方法步骤S100至S300,图3中描述的方法步骤S210,如图4中描述的方法步骤S400,如图5中描述的方法步骤S320至S330,图6中描述的方法步骤S500至S600,图7中描述的方法步骤S700至S800,图8中描述的方法步骤S900,图9中描述的方法步骤S501至S503,图10中描述的方法步骤S601至S603,图11中描述的方法步骤步骤S801至S808,图12中描述的方法步骤S901至S908。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文描述了本发明的实施例,包括发明人已知用于执行本发明的较佳实施例。在阅读了上述描述后,这些所述实施例的变化对本领域的技术人员将变得明显。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于如本文具体描述的方式来实践本发明的实施例。因此,经适用的法律许可,本发明的范围包括在此所附的权利要求书中叙述的主题的所有修改和等效物。此外,本发明的范围涵盖其所有可能变型中的上述元素的任意组合,除非本文另外指示或以其他方式明显地与上下文矛盾。
Claims (10)
1.一种视频重定向的方法,包括:
在接收到启动指令的情况下,检测所述启动指令指示的视频应用程序的播放器是否为目标播放器;
若所述视频应用程序的播放器为所述目标播放器,将所述视频应用程序的播放器替换为预设播放器,并启动所述视频应用程序;
在接收到播放指令的情况下,通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,以使所述客户端通过所述视频资源地址获取并播放视频信息。
2.根据权利要求1所述的视频重定向的方法,其特征在于,所述通过所述预设播放器的动态库将所述播放指令指示的视频资源地址发送给客户端,包括:
通过所述预设播放器的动态库获取视频资源地址;
当根据所述视频资源地址确定需要播放的视频信息为网络资源,通过所述预设播放器的动态库将所述视频资源地址发送至客户端。
3.根据权利要求2所述的视频重定向的方法,其特征在于,还包括:
当根据所述视频资源地址确定需要播放的视频信息为本地资源,通过所述预设播放器的动态库播放所述视频信息。
4.根据权利要求1所述的视频重定向的方法,其特征在于,所述检测所述启动指令指示的视频应用程序的播放器是否为目标播放器,包括:
检测所述视频应用程序的播放器的文件名称,并根据所述视频应用程序的播放器的文件名称确定所述视频应用程序的播放器是否为目标播放器。
5.根据权利要求1所述的视频重定向的方法,其特征在于,还包括:
将用户界面发送给客户端,并把用户界面在客户端中显示。
6.根据权利要求5所述的视频重定向的方法,其特征在于,还包括:
通过所述预设播放器的动态库获取控制指令,所述预设播放器的动态库根据所述控制指令确定控制信息并向客户端发送所述控制信息,使得客户端根据所述控制信息控制所述视频信息的播放状态。
7.根据权利要求6所述的视频重定向的方法,其特征在于,还包括:
通过所述预设播放器的动态库获取所述用户界面中播放界面的宽度数据和高度数据,以使所述预设播放器的动态库将所述宽度信息和所述高度信息发送给客户端,使得客户端根据所述宽度数据和所述高度数据确定所述视频信息的显示区域。
8.根据权利要求7所述的视频重定向的方法,其特征在于,还包括:
通过所述预设播放器的动态库获取客户端的上报信息,以使所述预设播放器的动态库根据所述上报信息调整所述用户界面的显示内容,使得所述客户端中显示的用户界面的显示内容与客户端中播放的所述视频信息相匹配。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于执行:
如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行:
如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618024.9A CN113873298A (zh) | 2020-06-30 | 2020-06-30 | 视频重定向的方法、电子设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618024.9A CN113873298A (zh) | 2020-06-30 | 2020-06-30 | 视频重定向的方法、电子设备以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113873298A true CN113873298A (zh) | 2021-12-31 |
Family
ID=78981728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010618024.9A Pending CN113873298A (zh) | 2020-06-30 | 2020-06-30 | 视频重定向的方法、电子设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113873298A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885008A (zh) * | 2022-04-22 | 2022-08-09 | 广东悦伍纪网络技术有限公司 | 一种实现云应用调用本地播放器播放的装置、系统及方法 |
-
2020
- 2020-06-30 CN CN202010618024.9A patent/CN113873298A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885008A (zh) * | 2022-04-22 | 2022-08-09 | 广东悦伍纪网络技术有限公司 | 一种实现云应用调用本地播放器播放的装置、系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911789B2 (en) | Automatic failover for live video streaming | |
KR101297411B1 (ko) | 스트리밍 데이터의 미처리 상태에 따른 이종망(異種網)들의 선택적 사용을 제어하는 장치와 방법 | |
KR101355237B1 (ko) | 재생 장치 및 방법, 및 프로그램이 기록된 기록 매체 | |
CN110784750B (zh) | 视频播放方法、装置及计算机设备 | |
CN108174280B (zh) | 一种音视频在线播放方法及系统 | |
CN109391843B (zh) | 在线视频倍速播放方法、装置、介质及智能终端 | |
WO2019071680A1 (zh) | 一种插件加载的方法和装置 | |
US9538247B2 (en) | Method and system for image alteration | |
US10999391B2 (en) | Dynamic filtering and amelioration of content stream manifests | |
WO2018192183A1 (zh) | 无线传屏中视频文件的处理方法及装置 | |
US11968246B2 (en) | Playback mode determining method and apparatus | |
WO2019071678A1 (zh) | 一种直播的方法和装置 | |
US11881979B2 (en) | Method and system for detecting errors in local area network | |
CN113873298A (zh) | 视频重定向的方法、电子设备以及计算机可读存储介质 | |
CN114040245A (zh) | 视频播放方法、装置、计算机存储介质和电子设备 | |
CN112333529B (zh) | 直播流加载方法及其装置、设备、介质 | |
CN109688468B (zh) | 一种开机视频的播放方法、智能终端、系统及存储介质 | |
CN112565877A (zh) | 投屏方法、系统、电子设备及存储介质 | |
CN112423096B (zh) | 播放优化方法及系统 | |
US11589119B2 (en) | Pseudo seamless switching method, device and media for web playing different video sources | |
CN114866842A (zh) | 一种Web视频的预览方法、设备及介质 | |
CN112752150A (zh) | 一种视频解码方法、装置、电子设备及存储介质 | |
CN113207007A (zh) | 基于hls协议的直播录制方法 | |
CN113573114A (zh) | 一种投屏方法、装置、电子设备及存储介质 | |
US20200169450A1 (en) | Method and System for Detecting Errors in Local Area Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |