CN112839238B - 投屏播放方法、装置和存储介质 - Google Patents
投屏播放方法、装置和存储介质 Download PDFInfo
- Publication number
- CN112839238B CN112839238B CN201911155934.1A CN201911155934A CN112839238B CN 112839238 B CN112839238 B CN 112839238B CN 201911155934 A CN201911155934 A CN 201911155934A CN 112839238 B CN112839238 B CN 112839238B
- Authority
- CN
- China
- Prior art keywords
- video
- playing
- media server
- screen
- played
- 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.)
- Active
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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/258—Client 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/25808—Management of client data
-
- 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/258—Client 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/25808—Management of client data
- H04N21/25825—Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440209—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for formatting on an optical medium, e.g. DVD
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
Abstract
本发明实施例公开了一种投屏播放方法、装置和存储介质,其中,通过在接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。由此,即使当播放设备不支持待播放视频的播放时,也能够实现到播放设备的投屏播放,达到提高投屏播放成功率的目的。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种投屏播放方法、装置和存储介质。
背景技术
随着通信技术的发展,用户可以方便的通过移动端网络设备(比如手机)在线播放视频,比如在线播放电影、新闻视频等。
为了能够获得更好的播放效果,相关技术提出了无线投屏协议,比如,DLNA协议、AirPlay协议以及Miracast协议等。利用无线投屏协议,一个网络设备可以将需要观看的视频内容投屏到另一个网络设备播放,比如,移动端网络设备将在线视频投屏到屏幕更大的固定端网络设备(比如电视)进行播放。其中,将发起投屏的设备称作投屏设备,将接受投屏的设备称作播放设备。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有的无线投屏协议中,是否能够成功投屏往往受到播放设备的限制。
发明内容
本发明实施例提供一种投屏播放方法、装置和存储介质,能够提高投屏播放的成功率。
本发明实施例提供一种投屏播放方法,包括:
当接收到投屏播放请求时,获取所述投屏播放请求指示的播放设备所支持的目标视频参数;
当所述投屏播放请求指示的待播放视频的视频参数与所述目标视频参数不匹配时,创建虚拟的第一本地媒体服务器;
从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频;
通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放。
本发明实施例还提供一种投屏播放装置,包括:
参数获取模块,用于当接收到投屏播放请求时,获取所述投屏播放请求指示的播放设备所支持的目标视频参数;
服务器创建模块,用于当所述投屏播放请求指示的待播放视频的视频参数与所述目标视频参数不匹配时,创建虚拟的第一本地媒体服务器;
重编码模块,用于从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频;
视频播放模块,用于通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放。
在一实施例中,在从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频时,所述重编码模块用于:
从所述外部媒体服务器获取所述待播放视频的视频流,并根据所述目标视频参数对所述视频流进行重编码处理,得到重编码视频流;
在通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放时,所述视频播放模块用于:
通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放。
在一实施例中,在通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放之前,所述重编码模块还用于:
当重编码得到预设个数的重编码视频流时,拼接所述预设个数的重编码视频流得到拼接重编码视频流;
在通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放时,所述视频播放模块还用于:
通过所述第一本地媒体服务器将所述拼接重编码视频流提供至所述播放设备进行播放。
在一实施例中,在通过所述第一本地媒体服务器将所述拼接重编码视频流提供至所述播放设备进行播放时,所述视频播放模块用于:
生成对应所述第一本地媒体服务器的视频播放地址;
将所述视频播放地址提供至所述播放设备,使得所述播放设备根据所述视频播放地址访问所述第一本地媒体服务器以获取所述拼接重编码视频流进行播放。
在一实施例中,在根据所述目标视频参数对所述视频流进行重编码处理时,所述重编码模块用于:
预测播放根据所述目标视频参数重编码得到的重编码视频流所需的目标带宽;
当所述目标带宽大于当前与所述播放设备之间的可用带宽时,根据所述可用带宽对所述目标视频参数进行修正,得到修正后的目标视频参数;
根据所述修正后的目标视频参数对所述视频流进行重编码处理。
在一实施例中,在根据所述视频参数对所述待播放视频进行重编码处理时,所述重编码模块用于:
获取历史运行数据;
根据历史运行数据预测中央处理器的第一占用率和图像处理器的第二占用率;
当第一占用率高于第二占用率,且二者差值达到预设差值,通过所述图像处理器根据所述视频参数对所述待播放视频进行重编码处理;
当第二占用率高于第一占用率,且二者差值达到所述预设差值时,通过所述中央处理器根据所述视频参数对所述待播放视频进行重编码处理。
在一实施例中,投屏播放装置还包括指令执行模块,用于在投屏播放过程中,当接收到所述播放设备的播放控制指令时,通过所述第一本地媒体服务器执行对应所述播放控制指令的目标操作。
在一实施例中,在获取所述投屏播放请求指示的播放设备所支持的视频参数之后,所述服务器创建模块还用于:
当所述投屏播放请求指示的待播放视频的视频参数与所述目标视频参数匹配,且本地存储有所述待播放视频时,创建虚拟的第二本地媒体服务器;
所述视频播放模块还用于通过所述第二本地媒体服务器将所述待播放视频提供至所述播放设备进行播放。
此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种投屏播放方法中的步骤。
本发明实施例通过在接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。由此,即使当播放设备不支持待播放视频的播放时,也能够实现到播放设备的投屏播放,达到提高投屏播放成功率的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的投屏播放方法的场景示意图;
图2是本发明实施例提供的投屏播放方法的一流程示意图;
图3是本发明实施例中输入投屏播放请求的示意图;
图4是本发明实施例提供的投屏播放方法的一流程示意图;
图5是本发明实施例提供的投屏播放装置的一结构示意图;
图6是本发明实施例提供的网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,相关技术中存在多种无线投屏协议,其中以DLNA投屏协议应用最为广泛。DLNA全称为数字生活网络联盟,是共享媒体和控制媒体播放等一系列的技术规范集合,旨在解决个人主机,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制共享和增长成为可能。DLNA中定义两种身份,分别为投屏设备和播放设备,比如,用户想将手机上播放的视频投屏到电视上进行播放,则手机为投屏设备,电视为播放设备。
本发明的发明人发现,投屏设备在基于DLNA协议发起投屏时,会先询问播放设备支持的具体媒体格式、编码格式、码率以及分辨率等一些播放视频必须的视频参数。当投屏设备接收到这些视频参数后,通过对比待播放视频对应的视频参数,若发现有不匹配的视频参数,将导致投屏失败。
为了能够提高进行投屏播放的成功率,本发明实施例提供一种投屏播放方法、投屏播放装置、存储介质和投屏设备,具体通过如下实施例进行说明:
请参阅图1,图1为本发明实施例所提供的投屏播放方法的场景示意图,该投屏播放方法可以应用于投屏播放装置,该投屏播放装置具体可以集成在具备储存器并安装有处理器而具有运算能力的投屏设备(比如手机、平板电脑等)中,例如,该投屏设备可以在接收到用户输入的投屏播放请求时,获取该投屏播放请求指示的播放设备所支持的视频参数,然后,投屏设备判断该投屏播放请求指示的待播放视频是否与播放设备所支持的视频参数匹配,当不匹配时,投屏设备创建虚拟的第一本地媒体服务器,此外,投屏设备还从外部媒体服务器获取到待播放视频,并根据播放设备所支持的视频参数对待播放视频进行重编码,得到与播放设备所支持的视频参数匹配的重编码视频,之后,投屏设备通过创建的第一本地媒体服务器将重编码视频提供至播放设备进行播放。
需要说明的是,图1所示的投屏播放方法的场景示意图仅仅是一个示例,本发明实施例描述的投屏播放方法的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着投屏播放方法的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。
一种投屏播放方法,包括:当接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。
请参阅图2,图2是本发明实施例提供的投屏播放方法的流程示意图。在本实施例中,将从投屏设备的角度进行描述,该投屏播放方法可以包括:
在201中,当接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的目标视频参数。
其中,投屏播放请求至少包括指示待播放视频的指示信息以及指示播放设备的指示信息。投屏播放请求可由用户直接输入,也可由用户通过其它设备输入,或者是其它方式输入,本发明实施例中对此不作具体限制。
示例性的,如图3左侧所示,投屏设备当前在线播放某网络视频(比如电影、新闻节目等),并在播放界面提供有用于触发投屏播放请求的投屏控件(图示TV字样),若用户想要通过其它设备(比如屏幕较投屏设备更大的其它设备)来播放投屏设备当前在线播放的网络视频,则可以点击投屏控件,此时,投屏设备按照DLNA协议搜索当前所在局域网内支持投屏播放的其它网络设备,如图3右侧所示,假设投屏设备搜索到支持投屏播放的网络设备1和网络设备2,若此时用户选择网络设备1,则此时投屏设备将接收到指示网络设备1为播放设备以及指示前述网络视频为待播放视频的投屏播放请求。
投屏设备在接收到输入的投屏播放请求之后,确定出该投屏播放请求所指示的播放设备,然后按照DLNA协议约定的报文格式生成信息查询请求,并将该信息查询请求发送至播放设备,指示播放设备返回其设备信息,至少包括其支持的视频参数(包括但不限于视频格式、码率以及分辨率等)。相应的,投屏设备接收播放设备响应信息查询请求而返回的设备信息,并从该设备信息获取到播放设备所支持的视频参数,记为目标视频参数。
在202中,当投屏播放请求指示的待播放视频的视频参数与目标视频参数不匹配时,创建虚拟的第一本地媒体服务器。
其中,投屏设备还从提供待播放视频的外部媒体服务器获取待播放视频的视频参数,比如,预先在投屏设备和外部媒体服务器之间约定参数查询请求的报文格式,由此,投屏设备在从外部媒体服务器获取待播放视频的视频参数时,可以按照预先约定的报文格式生成参数查询请求,并将生成的参数查询请求发送至提供待播放视频的外部媒体服务器,指示外部媒体服务器返回待播放视频的视频参数。相应的,投屏设备接收外部媒体服务器返回的待播放视频的视频参数。
在获取到待播放视频的视频参数之后,投屏设备将待播放视频的视频参数与目标视频参数一一进行比对,当待播放视频的视频参数中存在任一参数不被播放设备支持时,投屏设备即判定待播放视频的视频参数与目标视频参数不匹配。
示例性的,以视频格式为例,目标视频参数描述播放设备所支持的视频格式包括“AVI格式、MOV格式、MP4格式、MKV格式、3GP格式以及WMV格式”,若待播放视频的视频参数描述待播放视频的视频格式为“FLV格式”,则可以看出,待播放视频的视频格式并不被播放设备所支持,此时电子设备即可判定待播放视频的视频参数与目标视频参数不匹配。
本发明实施例中,当投屏播放请求指示的待播放视频的视频参数与播放设备所支持的目标视频参数不匹配时,投屏设备判定此时外部媒体播放器无法为播放设备提供视频播放服务,也即此时无法将待播放视频投屏到播放设备进行播放。相应的,为避免投屏失败,投屏设备创建虚拟的本地媒体服务器,记为第一本地媒体服务器,以利用该第一本地媒体服务器为播放设备提供视频播放服务。
应当说明的是,本发明实施例对于创建虚拟的第一本地媒体服务器的方式不做具体限制,可由本领域普通技术人员根据实际需要选择合适的服务器创建方式来创建第一本地媒体服务器。
在203中,从外部媒体服务器获取待播放视频,并根据目标视频参数对待播放视频进行重编码处理,得到重编码视频。
应当说明的是,本发明实施例中还预先在投屏设备的储存区域中设置有第一数据缓存区,将该数据缓存区作为第一本地媒体服务器的视频资源存储区。
相应的,投屏设备还从提供待播放视频的外部媒体服务器处获取到待播放视频,并将获取到的待播放视频缓存至第一数据缓存区中。然后,投屏设备进一步按照目标视频参数对第一数据缓存区中的待播放视频进行重编码处理,得到视频参数与目标视频参数匹配的重编码视频。
示例性的,假设待播放视频的视频参数中仅部分参数不被部分设备支持,则投屏设备可以按照目标视频参数中的对应部分参数对第一数据缓存区中的待播放视频进行重编码,得到重编码视频。
比如,假设待播放视频的视频参数中仅视频格式不被播放设备支持,则投屏设备可以按照目标视频参数中的视频格式来对待播放视频进行重编码。其中,当目标视频参数中的视频格式为多个时,即播放设备支持多种不同视频格式的视频播放时,投屏设备可选择其中对应重编码效率最高视频格式进行重编码,同理,对于视频格式外的其他视频参数亦同。
其中,在对第一数据缓存区中的待播放视频进行重编码,并得到对应的重编码视频之后,投屏设备可以直接删除第一数据缓存区中的待播放视频,也可以在满足预设删除条件时再删除。该预设删除条件可由本领域普通技术人员根据实际需要进行设置,本发明实施例中对其不做具体限制。
比如,本发明实施例中设置预设删除条件为:
待播放视频的存储时长达到预设时长(可由本领域普通技术人员根据实际需要取经验值,比如,24小时)时删除;
或者,当投屏设备的可用存储区域占总存储区域的比例低于预设比例(可由本领域普通技术人员根据实际需要取经验值,比如,20%)时删除。
在204中,通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。
根据以上描述,本领域普通技术人员可以理解的是,由于重编码视频是按照播放设备所支持的目标视频参数重编码得到,那么重编码视频必然能够被播放设备播放。
因此,投屏设备在根据播放设备所支持的目标视频参数对待播放视频进行重编码处理,并得到对应的重编码视频之后,即通过创建的第一本地媒体服务器将重编码视频提供至播放设备进行播放。
比如,投屏设备可以生成对应第一本地媒体服务器且指向重编码视频的视频播放地址(比如统一资源定位符),并将该视频播放地址提供至播放设备,使得播放设备根据该视频播放地址访问第一本地媒体服务器的视频资源存储区(即预先设置的第一数据缓存区)以获取重编码视频进行播放。
在一实施例中,从外部媒体服务器获取待播放视频,并根据目标视频参数对待播放视频进行重编码处理,得到重编码视频,包括:
(1)从外部媒体服务器获取待播放视频的视频流,并根据目标视频参数对视频流进行重编码处理,得到重编码视频流;
通过第一本地媒体服务器将重编码视频提供至播放设备进行播放,包括:
(2)通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放。
为了能够更灵活的进行投屏播放,本发明实施例中,投屏设备并不从外部媒体服务器获取到完整的待播放视频后再进行重编码,而是从外部媒体服务器获取到待播放视频的视频流,并将获取到的待播放视频的视频流缓存至第一数据缓存区中。然后,投屏设备进一步按照目标视频参数对第一数据缓存区中待播放视频的视频流进行重编码处理,得到视频参数与目标视频参数匹配的重编码视频流。
应当说明的是,流媒体是从Streaming Media中翻译过来,它是一种可以使音频、视频和其它多媒体能能够以实时的、无需下载等待的方式进行播放的技术。流媒体文件格式是支持采用流式传输及播放的媒体格式。流式传输方式是将动画、视音频等多媒体文件经过特殊的压缩方式分成一个个压缩包用户不必像非流式播放那样等到整个文件全部下载完毕后才能看到当中的内容,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用相应的播放器或其它的硬件、软件对压缩的动画、视音频等流式多媒体文件解压后进行播放和观看,多媒体文件的剩余部分将在后台继续下载。本发明实施例中提及的视频流为按照流式传输的待播放视频的一部分,可以看做是待播放视频的视频内容中的一部分视频内容。
相应的,投屏设备在获取到待播放视频的视频流并重编码得到对应的重编码视频之后,即可通过第一本地媒体服务器将重编码得到的重编码视频流提供至播放设备进行播放。
如上所述,投屏设备可以按照待播放视频的视频内容的时序,依次获取待播放视频的视频流,并对获取到的视频流重编码后通过第一本地媒体服务器提供至播放设备进行播放,从而实现无需等待的边下载边播放。
在一实施例中,根据目标视频参数对视频流进行重编码处理,包括:
(1)预测播放根据目标视频参数重编码得到的重编码视频流所需的目标带宽;
(2)当目标带宽大于当前与播放设备之间的可用带宽时,根据可用带宽对目标视频参数进行修正,得到修正后的目标视频参数;
(3)根据修正后的目标视频参数对视频流进行重编码处理。
为了确保能够确保投屏播放的播放质量,本发明实施例中,在进行重编码时,并不直接根据原始的目标视频参数进行重编码处理,而是根据实际的网络环境判断是否需要对目标视频参数进行修正,若需要,则对目标视频参数进行修正,并按照修正后的目标视频参数进行重编码处理。
其中,投屏设备首先预测播放根据目标视频参数重编码得到的重编码视频流所需的目标带宽,比如,投屏设备可以从目标视频参数中提取播放设备所支持的码率,直接作为播放根据目标视频参数重编码得到的重编码视频流所需的目标带宽。
此外,投屏设备还获取到自身当前与播放设备之间的可用带宽,并判断前述目标带宽是否大于前述可用带宽,当前述目标带宽大于前述可用带宽时,投屏设备判定此时无法流畅的进行投屏播放,此时,投屏设备根据前述可用带宽对目标视频参数进行修正。具体的,投屏设备根据前述可用带宽对目标视频参数中的码率进行修正,使得修正后的目标视频参数的码率不大于可用带宽,具体修正量可由本领域普通技术人员根据实际需要进行设置,本发明实施例对此不做具体限制。比如,可以修正后的码率占前述可用带宽80%为约束进行修正。
在一实施例中,通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放之前,还包括:
(1)当重编码得到预设个数的重编码视频流时,拼接预设个数的重编码视频流得到拼接重编码视频流;
通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放,包括:
(2)通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放。
应当说明的是,在实际应用中,考虑外部带宽(比如投屏设备到外部媒体服务器的带宽)有限,一个完整的视频通常被分割为较多的视频流。相应的,在本发明实施例中,待播放视频也会被分割为较多的视频流,这就导致投屏设备的内部带宽(比如,投屏设备和播放设备之间的局域网带宽)将被频繁占用以用于对应重编码视频流的传输。
因此,本发明实施例中重编码得到重编码视频流之后,并不立即通过第一本地媒体服务器将重编码得到的重编码视频提供至播放设备,而是累积一定量的重编码视频流后再统一提供至播放设备进行播放,以此来减少对内部带宽的占用。
其中,投屏设备在重编码得到重编码视频流后,对已得到的重编码视频流进行计数,当重编码得到预设个数的重编码视频流时,投屏设备按照时序拼接该预设个数的重编码视频流,得到拼接重编码视频流。
本发明实施例中,投屏设备可以获取到当前与播放设备之间的可用带宽,动态的根据可用带宽来确定预设个数的取值,其中,以预设个数与前述可用带宽正相关为约束,可由本领域普通技术人员根据实际需要配置可用带宽与预设个数之间的对应关系,本发明实施例中对此不做具体限制。
本领域普通技术人员可以理解的是,虽然拼接得到的拼接重编码视频流相较拼接前的单独视频流的数据量增加了,但是投屏设备具有更大的内部带宽,直接传输拼接重编码视频流并不会影响投屏设备的网络质量,因此,投屏设备在拼接预设个数的重编码视频流得到拼接重编码视频流之后,即通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放。
在一实施例中,通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放,包括:
(1)生成对应第一本地媒体服务器的视频播放地址;
(2)将视频播放地址提供至播放设备,使得播放设备根据视频播放地址访问第一本地媒体服务器以获取拼接重编码视频流进行播放。
其中,投屏设备在通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放时,可以生成对应第一本地媒体服务器且指向拼接重编码视频流的视频播放地址,并将该视频播放地址提供至播放设备,使得播放设备根据该视频播放地址访问第一本地媒体服务器的视频资源存储区(即预先设置的第一数据缓存区)以获取拼接重编码视频流进行播放。
在一实施例中,根据视频参数对待播放视频进行重编码处理,包括:
(1)获取历史运行数据;
(2)根据历史运行数据预测中央处理器的第一占用率和图像处理器的第二占用率;
(3)当第一占用率高于第二占用率,且二者差值达到预设差值,通过图像处理器根据视频参数对待播放视频进行重编码处理;
(4)当第二占用率高于第一占用率,且二者差值达到预设差值时,通过中央处理器根据视频参数对待播放视频进行重编码处理。
本发明实施例中,投屏设备可以通过中央处理器进行基于软件的重编码,也可以通过图像处理器进行基于硬件的重编码。
其中,投屏设备可以获取到其在预设时长(可由本领域普通技术人员根据实际需要进行设置,比如设置为7个自然日)的历史运行数据,该历史运行数据包括中央处理器在预设时长内不同时刻的多个历史占用率,以及图像处理器在预设时长内不同时刻的多个历史占用率。
然后,投屏设备根据获取到的中央处理器的多个历史占用率预测其在投屏播放过程中的占用率,记为第一占用率,以及根据获取到的图像处理器的多个历史占用率预测其在投屏播放过程中的占用率,记为第二占用率。
比如,本发明实施例中预先通过机器学习方法训练有用于预测占用率的占用率预测模型,投屏设备可以直接将获取到的对应中央处理器的历史占用率输入到占用率预测模型中进行预测,得到第一占用率,以及将获取到的对应图像处理器的历史占用率输入到占用率预测模型中进行预测,得到第二占用率。
在预测得到中央处理器的第一占用率以及图像处理器的第二占用率之后,投屏设备比较第一占用率以及第二占用率,若第一占用率高于第二占用率且二者差值达到预设差值,则投屏设备利用自身的图像处理器执行以上重编码操作,若第二占用率高于第一占用率且二者差值达到预设差值,则投屏设备利用自身的中央处理器执行以上重编码操作。
在一实施例中,在投屏播放过程中,还包括:
当接收到播放设备的播放控制指令时,通过第一本地媒体服务器执行对应播放控制指令的目标操作。
其中,投屏设备可以接收播放设备按照DLNA协议传输的播放控制指令,相应按照DLNA协议响应接收的播放控制指令,执行对应播放控制指令的目标操作,包括但不限于调整视频进度、控制开始/暂停播放等。
在一实施例中,获取投屏播放请求指示的播放设备所支持的视频参数之后,还包括:
(1)当投屏播放请求指示的待播放视频的视频参数与目标视频参数匹配,且本地存储有待播放视频时,创建虚拟的第二本地媒体服务器;
(2)通过第二本地媒体服务器将待播放视频提供至播放设备进行播放。
本发明实施例中,当投屏播放请求指示的待播放视频的视频参数与播放设备所支持的目标视频参数匹配时,投屏设备进一步识别本地是否储存有待播放视频,当本地储存有待播放视频时,投屏设备判定无需由外部媒体服务器向播放设备提供待播放视频进行播放,而是由自身向播放设备提供待播放视频进行播放。
相应的,投屏设备此时创建虚拟的本地媒体服务器,记为第二本地媒体服务器,以利用该第二本地媒体服务器为播放设备提供视频播放服务。
应当说明的是,本发明实施例对于创建虚拟的第二本地媒体服务器的方式不做具体限制,可由本领域普通技术人员根据实际需要选择合适的服务器创建方式来创建第二本地媒体服务器。
在创建得到第二本地媒体服务器之后,投屏设备在即通过创建的第二本地媒体服务器将本地储存的待播放视频提供至播放设备进行播放。
比如,投屏设备可以生成对应第二本地媒体服务器且指向待播放视频的视频播放地址(比如统一资源定位符),并将该视频播放地址提供至播放设备,使得播放设备根据该视频播放地址访问第二本地媒体服务器以获取待播放视频进行播放。
由上可知,本发明通过在接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。由此,即使当播放设备不支持待播放视频的播放时,也能够实现到播放设备的投屏播放,达到提高投屏播放成功率的目的。
实施例二、
请参阅图4,图4是本发明实施例提供的投屏播放方法的流程还可以包括:
在301中,当接收到投屏播放请求时,投屏设备获取投屏播放请求指示的播放设备所支持的目标视频参数。
其中,投屏播放请求至少包括指示待播放视频的指示信息以及指示播放设备的指示信息。投屏播放请求可由用户直接输入,也可由用户通过其它设备输入,或者是其它方式输入,本发明实施例中对此不作具体限制。
示例性的,如图3左侧所示,投屏设备当前在线播放某网络视频(比如电影、新闻节目等),并在播放界面提供有用于触发投屏播放请求的投屏控件(图示TV字样),若用户想要通过其它设备(比如屏幕较投屏设备更大的其它设备)来播放投屏设备当前在线播放的网络视频,则可以点击投屏控件,此时,投屏设备按照DLNA协议搜索当前所在局域网内支持投屏播放的其它网络设备,如图3右侧所示,假设投屏设备搜索到支持投屏播放的网络设备1和网络设备2,若此时用户选择网络设备1,则此时投屏设备将接收到指示网络设备1为播放设备以及指示前述网络视频为待播放视频的投屏播放请求。
投屏设备在接收到输入的投屏播放请求之后,确定出该投屏播放请求所指示的播放设备,然后按照DLNA协议约定的报文格式生成信息查询请求,并将该信息查询请求发送至播放设备,指示播放设备返回其设备信息,至少包括其支持的视频参数(包括但不限于视频格式、码率以及分辨率等)。相应的,投屏设备接收播放设备响应信息查询请求而返回的设备信息,并从该设备信息获取到播放设备所支持的视频参数,记为目标视频参数。
在302中,投屏设备判断投屏播放请求指示的待播放视频的视频参数与目标视频参数是否匹配,否则转入303,是则转入306。
其中,投屏设备还从提供待播放视频的外部媒体服务器获取待播放视频的视频参数,比如,预先在投屏设备和外部媒体服务器之间约定参数查询请求的报文格式,由此,投屏设备在从外部媒体服务器获取待播放视频的视频参数时,可以按照预先约定的报文格式生成参数查询请求,并将生成的参数查询请求发送至提供待播放视频的外部媒体服务器,指示外部媒体服务器返回待播放视频的视频参数。相应的,投屏设备接收外部媒体服务器返回的待播放视频的视频参数。
在获取到待播放视频的视频参数之后,投屏设备将待播放视频的视频参数与目标视频参数一一进行比对,当待播放视频的视频参数中存在任一参数不被播放设备支持时,投屏设备即判定待播放视频的视频参数与目标视频参数不匹配。
示例性的,以视频格式为例,目标视频参数描述播放设备所支持的视频格式包括“AVI格式、MOV格式、MP4格式、MKV格式、3GP格式以及WMV格式”,若待播放视频的视频参数描述待播放视频的视频格式为“FLV格式”,则可以看出,待播放视频的视频格式并不被播放设备所支持,此时电子设备即可判定待播放视频的视频参数与目标视频参数不匹配。
在303中,投屏设备创建虚拟的第一本地媒体服务器。
本发明实施例中,当投屏播放请求指示的待播放视频的视频参数与播放设备所支持的目标视频参数不匹配时,投屏设备判定此时外部媒体播放器无法为播放设备提供视频播放服务,也即此时无法将待播放视频投屏到播放设备进行播放。相应的,为避免投屏失败,投屏设备创建虚拟的本地媒体服务器,记为第一本地媒体服务器,以利用该第一本地媒体服务器为播放设备提供视频播放服务。
应当说明的是,本发明实施例对于创建虚拟的第一本地媒体服务器的方式不做具体限制,可由本领域普通技术人员根据实际需要选择合适的服务器创建方式来创建第一本地媒体服务器。
在304中,投屏设备从外部媒体服务器获取待播放视频的视频流,并根据目标视频参数对视频流进行重编码处理,得到重编码视频流。
应当说明的是,本发明实施例中还预先在投屏设备的储存区域中设置有第一数据缓存区,将该数据缓存区作为第一本地媒体服务器的视频资源存储区。
相应的,投屏设备还从提供待播放视频的外部媒体服务器处获取到待播放视频的视频流,并将获取到的视频流缓存至第一数据缓存区中。然后,投屏设备进一步按照目标视频参数对第一数据缓存区中的视频流进行重编码处理,得到视频参数与目标视频参数匹配的视频流。
示例性的,假设待播放视频的视频参数中仅部分参数不被部分设备支持,则投屏设备可以按照目标视频参数中的对应部分参数对第一数据缓存区中的视频流进行重编码,得到重编码视频流。
比如,假设待播放视频的视频参数中仅视频格式不被播放设备支持,则投屏设备可以按照目标视频参数中的视频格式来对待播放视频的视频流进行重编码。其中,当目标视频参数中的视频格式为多个时,即播放设备支持多种不同视频格式的视频播放时,投屏设备可选择其中对应重编码效率最高视频格式进行重编码,同理,对于视频格式外的其他视频参数亦同。
其中,在对第一数据缓存区中的待播放视频的视频流进行重编码,并得到对应的重编码视频流之后,投屏设备可以直接删除第一数据缓存区中的原始视频流,也可以在满足预设删除条件时再删除。该预设删除条件可由本领域普通技术人员根据实际需要进行设置,本发明实施例中对其不做具体限制。
比如,本发明实施例中设置预设删除条件为:
待播放视频的存储时长达到预设时长(可由本领域普通技术人员根据实际需要取经验值,比如,24小时)时删除;
或者,当投屏设备的可用存储区域占总存储区域的比例低于预设比例(可由本领域普通技术人员根据实际需要取经验值,比如,20%)时删除。
在305中,投屏设备生成对应第一本地媒体服务器的视频播放地址,并将视频播放地址提供至播放设备,使得播放设备根据视频播放地址访问第一本地媒体服务器以获取重编码视频流进行播放。
其中,投屏设备可以生成对应第一本地媒体服务器且指向重编码视频流的视频播放地址(比如统一资源定位符),并将该视频播放地址提供至播放设备,使得播放设备根据该视频播放地址访问第一本地媒体服务器的视频资源存储区(即预先设置的第一数据缓存区)以获取重编码视频流进行播放。
在306中,投屏设备创建虚拟的第二本地媒体服务器。
本发明实施例中,当投屏播放请求指示的待播放视频的视频参数与播放设备所支持的目标视频参数匹配时,投屏设备进一步识别本地是否储存有待播放视频,当本地储存有待播放视频时,投屏设备判定无需由外部媒体服务器向播放设备提供待播放视频进行播放,而是由自身向播放设备提供待播放视频进行播放。
相应的,投屏设备此时创建虚拟的本地媒体服务器,记为第二本地媒体服务器,以利用该第二本地媒体服务器为播放设备提供视频播放服务。
应当说明的是,本发明实施例对于创建虚拟的第二本地媒体服务器的方式不做具体限制,可由本领域普通技术人员根据实际需要选择合适的服务器创建方式来创建第二本地媒体服务器。
在307中,投屏设备生成对应第二本地媒体服务器的视频播放地址,并将视频播放地址提供至播放设备,使得播放设备根据视频播放地址访问第二本地媒体服务器以获取待播放视频进行播放。
在创建得到第二本地媒体服务器之后,投屏设备即通过创建的第二本地媒体服务器将本地储存的待播放视频提供至播放设备进行播放。
比如,投屏设备可以生成对应第二本地媒体服务器且指向待播放视频的视频播放地址(比如统一资源定位符),并将该视频播放地址提供至播放设备,使得播放设备根据该视频播放地址访问第二本地媒体服务器以获取待播放视频进行播放。
实施例三、
为了更好地实施以上投屏播放方法,本发明实施例还提供一种投屏播放装置,该投屏播放装置具体可以集成在投屏设备中。
例如,如图5所示,该投屏播放装置可以包括参数获取模块401、服务器创建模块402、重编码模块403以及视频播放模块404,如下:
参数获取模块401,用于当接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的目标视频参数;
服务器创建模块402,用于当投屏播放请求指示的待播放视频的视频参数与目标视频参数不匹配时,创建虚拟的第一本地媒体服务器;
重编码模块403,用于从外部媒体服务器获取待播放视频,并根据目标视频参数对待播放视频进行重编码处理,得到重编码视频;
视频播放模块404,用于通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。
在一实施例中,在从外部媒体服务器获取待播放视频,并根据目标视频参数对待播放视频进行重编码处理,得到重编码视频,重编码模块403用于:
从外部媒体服务器获取待播放视频的视频流,并根据目标视频参数对视频流进行重编码处理,得到重编码视频流;
在通过第一本地媒体服务器将重编码视频提供至播放设备进行播放时,视频播放模块404用于:
通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放。
在一实施例中,在通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放之前,重编码模块403还用于:
当重编码得到预设个数的重编码视频流时,拼接预设个数的重编码视频流得到拼接重编码视频流;
在通过第一本地媒体服务器将重编码视频流提供至播放设备进行播放时,视频播放模块404用于:
通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放。
在一实施例中,在通过第一本地媒体服务器将拼接重编码视频流提供至播放设备进行播放时,视频播放模块404用于:
生成对应第一本地媒体服务器的视频播放地址;
将视频播放地址提供至播放设备,使得播放设备根据视频播放地址访问第一本地媒体服务器以获取拼接重编码视频流进行播放。
在一实施例中,在根据目标视频参数对视频流进行重编码处理时,重编码模块403用于:
预测播放根据目标视频参数重编码得到的重编码视频流所需的目标带宽;
当目标带宽大于当前与播放设备之间的可用带宽时,根据可用带宽对目标视频参数进行修正,得到修正后的目标视频参数;
根据修正后的目标视频参数对视频流进行重编码处理。
在一实施例中,在根据视频参数对待播放视频进行重编码处理时,重编码模块403用于:
获取历史运行数据;
根据历史运行数据预测中央处理器的第一占用率和图像处理器的第二占用率;
当第一占用率高于第二占用率,且二者差值达到预设差值,通过图像处理器根据视频参数对待播放视频进行重编码处理;
当第二占用率高于第一占用率,且二者差值达到预设差值时,通过中央处理器根据视频参数对待播放视频进行重编码处理。
在一实施例中,投屏播放装置还包括指令执行模块,用于在投屏播放过程中,当接收到播放设备的播放控制指令时,通过第一本地媒体服务器执行对应播放控制指令的目标操作。
在一实施例中,在获取投屏播放请求指示的播放设备所支持的视频参数之后,服务器创建模块402还用于:
当投屏播放请求指示的待播放视频的视频参数与目标视频参数匹配,且本地存储有待播放视频时,创建虚拟的第二本地媒体服务器;
视频播放模块404还用于通过第二本地媒体服务器将待播放视频提供至播放设备进行播放。
应当说明的是,本发明实施例提供的投屏播放装置与上文实施例中的投屏播放方法属于同一构思,在投屏播放装置上可以运行投屏播放方法实施例中提供的任一方法,其具体实现过程详见以上实施例,此处不再赘述。
实施例四、
本发明实施例还提供一种投屏设备,如图6所示,其示出了本发明实施例所涉及的投屏设备的结构示意图,具体来讲:
该投屏设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的投屏设备结构并不构成对投屏设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该投屏设备的控制中心,利用各种接口和线路连接整个投屏设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行投屏设备的各种功能和处理数据。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
投屏设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
该投屏设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,投屏设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,投屏设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
当接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;
当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;
从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;
通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。
应当说明的是,本发明实施例提供的投屏设备与上文实施例中的适用于投屏设备的投屏播放方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
实施例六、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有计算机程序,该计算机程序包括的多条指令能够被投屏设备的处理器进行加载,以执行本发明实施例所提供的适用于投屏设备的投屏播放方法,例如:
当接收到投屏播放请求时,获取投屏播放请求指示的播放设备所支持的视频参数;
当投屏播放请求指示的待播放视频与视频参数不匹配时,创建虚拟的第一本地媒体服务器;
从外部媒体服务器获取待播放视频,并根据视频参数对待播放视频进行重编码处理,得到与视频参数匹配的重编码视频;
通过第一本地媒体服务器将重编码视频提供至播放设备进行播放。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
本发明实施例所提供的存储介质能够实现本发明实施例所提供的对应投屏播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种投屏播放方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种投屏播放方法,其特征在于,所述投屏播放方法包括:
当接收到投屏播放请求时,搜索当前所在局域网内支持投屏播放的设备信息,并根据所述设备信息显示设备列表;
响应于针对所述设备列表中目标设备标签的选择操作,确定所述目标设备标签对应的播放设备;
获取所述播放设备所支持的目标视频参数;
根据所述投屏播放请求生成视频参数查询请求,并将所述参数查询请求发送至外部媒体服务器;
接收外部媒体服务器基于所述参数查询请求返回的待播放视频的视频参数;
当所述待播放视频的视频参数与所述目标视频参数不匹配时,创建虚拟的第一本地媒体服务器;
从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频;
通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放。
2.根据权利要求1所述的投屏播放方法,其特征在于,所述从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频,包括:
从所述外部媒体服务器获取所述待播放视频的视频流,并根据所述目标视频参数对所述视频流进行重编码处理,得到重编码视频流;
所述通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放,包括:
通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放。
3.根据权利要求2所述的投屏播放方法,其特征在于,所述通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放之前,还包括:
当重编码得到预设个数的重编码视频流时,拼接所述预设个数的重编码视频流得到拼接重编码视频流;
所述通过所述第一本地媒体服务器将所述重编码视频流提供至所述播放设备进行播放,包括:
通过所述第一本地媒体服务器将所述拼接重编码视频流提供至所述播放设备进行播放。
4.根据权利要求3所述的投屏播放方法,其特征在于,所述通过所述第一本地媒体服务器将所述拼接重编码视频流提供至所述播放设备进行播放,包括:
生成对应所述第一本地媒体服务器的视频播放地址;
将所述视频播放地址提供至所述播放设备,使得所述播放设备根据所述视频播放地址访问所述第一本地媒体服务器以获取所述拼接重编码视频流进行播放。
5.根据权利要求2所述的投屏播放方法,其特征在于,所述根据所述目标视频参数对所述视频流进行重编码处理,包括:
预测播放根据所述目标视频参数重编码得到的重编码视频流所需的目标带宽;
当所述目标带宽大于当前与所述播放设备之间的可用带宽时,根据所述可用带宽对所述目标视频参数进行修正,得到修正后的目标视频参数;
根据所述修正后的目标视频参数对所述视频流进行重编码处理。
6.根据权利要求1所述的投屏播放方法,其特征在于,所述根据所述视频参数对所述待播放视频进行重编码处理,包括:
获取历史运行数据;
根据历史运行数据预测中央处理器的第一占用率和图像处理器的第二占用率;
当第一占用率高于第二占用率,且二者差值达到预设差值,通过所述图像处理器根据所述视频参数对所述待播放视频进行重编码处理;
当第二占用率高于第一占用率,且二者差值达到所述预设差值时,通过所述中央处理器根据所述视频参数对所述待播放视频进行重编码处理。
7.根据权利要求1-5任一项所述的投屏播放方法,其特征在于,在投屏播放过程中,还包括:
当接收到所述播放设备的播放控制指令时,通过所述第一本地媒体服务器执行对应所述播放控制指令的目标操作。
8.根据权利要求1-5任一项所述的投屏播放方法,其特征在于,所述获取所述播放设备所支持的视频参数之后,还包括:
当所述投屏播放请求指示的待播放视频的视频参数与所述目标视频参数匹配,且本地存储有所述待播放视频时,创建虚拟的第二本地媒体服务器;
通过所述第二本地媒体服务器将所述待播放视频提供至所述播放设备进行播放。
9.一种投屏播放装置,其特征在于,包括:
参数获取模块,用于当接收到投屏播放请求时,搜索当前所在局域网内支持投屏播放的设备信息,并根据所述设备信息显示设备列表;响应于针对所述设备列表中目标设备标签的选择操作,确定所述目标设备标签对应的播放设备;获取所述播放设备所支持的目标视频参数;
服务器创建模块,用于根据所述投屏播放请求生成视频参数查询请求,并将所述参数查询请求发送至外部媒体服务器,接收外部媒体服务器基于所述参数查询请求返回的待播放视频的视频参数,当所述待播放视频的视频参数与所述目标视频参数不匹配时,创建虚拟的第一本地媒体服务器;
重编码模块,用于从外部媒体服务器获取所述待播放视频,并根据所述目标视频参数对所述待播放视频进行重编码处理,得到重编码视频;
视频播放模块,用于通过所述第一本地媒体服务器将所述重编码视频提供至所述播放设备进行播放。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如权利要求1至8任一项所述的投屏播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911155934.1A CN112839238B (zh) | 2019-11-22 | 2019-11-22 | 投屏播放方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911155934.1A CN112839238B (zh) | 2019-11-22 | 2019-11-22 | 投屏播放方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839238A CN112839238A (zh) | 2021-05-25 |
CN112839238B true CN112839238B (zh) | 2023-03-24 |
Family
ID=75921854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911155934.1A Active CN112839238B (zh) | 2019-11-22 | 2019-11-22 | 投屏播放方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839238B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880577A (zh) * | 2021-06-22 | 2024-04-12 | 荣耀终端有限公司 | 屏幕镜像方法、装置、设备及存储介质 |
CN113485972A (zh) * | 2021-08-02 | 2021-10-08 | 安徽文香科技有限公司 | 一种多媒体共享方法、装置、移动终端及存储介质 |
CN115022693A (zh) * | 2022-05-30 | 2022-09-06 | 北京字节跳动网络技术有限公司 | 一种视频投屏方法、装置、设备及存储介质 |
CN115297357A (zh) * | 2022-09-30 | 2022-11-04 | 武汉海微科技有限公司 | 跨系统投屏方法、装置以及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010038409A1 (ja) * | 2008-09-30 | 2010-04-08 | パナソニック株式会社 | 再生装置、記録媒体、及び集積回路 |
JPWO2011114420A1 (ja) * | 2010-03-15 | 2013-06-27 | Necディスプレイソリューションズ株式会社 | 投射型表示装置およびその制御方法 |
CN105338425A (zh) * | 2015-10-29 | 2016-02-17 | 深圳云聚汇数码有限公司 | 一种实现多屏间视频无缝切换的系统及方法 |
CN109299047A (zh) * | 2018-09-21 | 2019-02-01 | 深圳市九洲电器有限公司 | 分布式系统数据共享方法及装置、数据共享分布式系统 |
CN110381345A (zh) * | 2019-07-05 | 2019-10-25 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143385B (zh) * | 2011-03-16 | 2013-04-24 | 华为技术有限公司 | 媒体播放处理方法、数字媒体服务器和系统 |
US8521900B2 (en) * | 2011-05-05 | 2013-08-27 | Awind Inc. | Remote audio-video sharing method and application program for the same |
CN103036888B (zh) * | 2012-12-19 | 2016-04-13 | 南京视海网络科技有限公司 | 自适应的流媒体播放方法及其自适应播放单元 |
CN104519397A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 音视频投屏播放方法、机顶盒和终端设备 |
CN105142009B (zh) * | 2015-07-31 | 2019-03-01 | 深圳Tcl数字技术有限公司 | 音视频播放控制方法及装置 |
WO2017173662A1 (zh) * | 2016-04-08 | 2017-10-12 | 华为技术有限公司 | 一种基于异构系统的程序处理方法和装置 |
CN105827633B (zh) * | 2016-05-06 | 2021-02-02 | 浙江大华技术股份有限公司 | 一种视频传输方法及装置 |
CN107635144A (zh) * | 2017-10-25 | 2018-01-26 | 暴风集团股份有限公司 | 服务器输出流量限速方法、装置、服务器及dns系统 |
CN108055554A (zh) * | 2017-12-14 | 2018-05-18 | 深圳Tcl数字技术有限公司 | 视频播放方法、电视、服务器及计算机可读存储介质 |
-
2019
- 2019-11-22 CN CN201911155934.1A patent/CN112839238B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010038409A1 (ja) * | 2008-09-30 | 2010-04-08 | パナソニック株式会社 | 再生装置、記録媒体、及び集積回路 |
JPWO2011114420A1 (ja) * | 2010-03-15 | 2013-06-27 | Necディスプレイソリューションズ株式会社 | 投射型表示装置およびその制御方法 |
CN105338425A (zh) * | 2015-10-29 | 2016-02-17 | 深圳云聚汇数码有限公司 | 一种实现多屏间视频无缝切换的系统及方法 |
CN109299047A (zh) * | 2018-09-21 | 2019-02-01 | 深圳市九洲电器有限公司 | 分布式系统数据共享方法及装置、数据共享分布式系统 |
CN110381345A (zh) * | 2019-07-05 | 2019-10-25 | 华为技术有限公司 | 一种投屏显示方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
PC to PC data transmission using visible light communication;Sandip Das等;《2017 International Conference on Computer Communication and Informatics (ICCCI)》;20171123;全文 * |
移动云信息交互展示系统的协议设计;黄淳岚等;《电脑知识与技术》;20190430;第15卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112839238A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
US10547850B2 (en) | Audio splitting with codec-enforced frame sizes | |
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
US9344517B2 (en) | Downloading and adaptive streaming of multimedia content to a device with cache assist | |
WO2021159770A1 (zh) | 视频播放方法、装置、设备和存储介质 | |
CN103166941A (zh) | 一种数据分享的方法及装置 | |
WO2011146898A2 (en) | Internet system for ultra high video quality | |
JP2013526150A (ja) | 再生品質が改善されたメディアコンテンツ | |
US8817983B2 (en) | Streaming video to cellular phones | |
CN113141522B (zh) | 资源传输方法、装置、计算机设备及存储介质 | |
US20210021655A1 (en) | System and method for streaming music on mobile devices | |
EP3993365A1 (en) | Session based adaptive playback profile decision for video streaming | |
CN113741762A (zh) | 一种多媒体播放方法、装置、电子设备和存储介质 | |
CN111107387B (zh) | 视频转码方法、装置及计算机存储介质 | |
US9215267B2 (en) | Adaptive streaming for content playback | |
JP6063952B2 (ja) | マルチメディア資産を表示する方法、関連するシステム、メディアクライアント、および関連するメディアサーバ | |
US11218772B2 (en) | Extension bundle generation for recording extensions in video delivery | |
JP2008136044A (ja) | 動画分割サーバおよびその制御方法 | |
KR20070024747A (ko) | 네트워크 스위칭을 이용한 스트리밍 서비스 장치 및 방법 | |
US20230421821A1 (en) | Method for Managing Playback of Multimedia Content | |
US20230217047A1 (en) | Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment | |
JP2019134379A (ja) | 品質予測装置、品質予測方法及びプログラム | |
US11811838B1 (en) | Generation of unique presentation of media content | |
Samčović | Multimedia Services in Cloud Computing Environment | |
US11647063B2 (en) | Method and apparatus for presentation of video content |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049201 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |