CN110996134B - 视频播放方法、装置及存储介质 - Google Patents
视频播放方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110996134B CN110996134B CN201911333697.3A CN201911333697A CN110996134B CN 110996134 B CN110996134 B CN 110996134B CN 201911333697 A CN201911333697 A CN 201911333697A CN 110996134 B CN110996134 B CN 110996134B
- Authority
- CN
- China
- Prior art keywords
- video
- playing
- switching
- currently played
- downloading
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/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/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
-
- 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/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
Abstract
本申请涉及一种视频播放方法、装置及存储介质,该视频播放方法包括:获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向;根据上一切换方向确定当前播放视频对应的至少一个关联视频;对关联视频进行预下载;根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放,从而在对当前播放视频进行切换时,能够节省下一播放视频起播过程中起播段视频数据的缓冲时间,进而能够提升下一播放视频的起播速度,减少视频首帧耗时,最终实现视频秒开。
Description
技术领域
本申请涉及视频播放技术领域,尤其涉及一种视频播放方法、装置及存储介质。
背景技术
随着网络技术的发展和终端设备智能化程度的提高,越来越多用户选择利用终端设备上运行的应用程序来观看视频,其中,视频首帧耗时越短,用户观看视频的主观感受越好。
但是,由于视频播放往往会涉及播放器、终端、后台等多个前后台环节之间的交互,且播放器内部又会涉及策略控制、视频协议解析、封装格式解析、音视频解码、音视频渲染以及同步等多个环节,故整个视频播放的流程非常复杂。
因此,如何减少视频首帧的耗时,实现秒开,一直是视频从业者面临的重大的技术难题。
发明内容
本申请实施例提供一种视频播放方法、装置及存储介质,以减少视频首帧耗时,进而实现视频秒开。
本申请实施例提供了一种视频播放方法,包括:
获取上一切换方向,所述上一切换方向为上一播放视频切换至当前播放视频的切换方向;
根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频;
对所述关联视频进行预下载;
根据预下载的所述关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放。
其中,在所述对所述关联视频进行预下载之前,还包括:
当存在所述当前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长,所述剩余可播时长为所述当前播放视频中已下载且未播放的视频数据的播放时长;
判断所述剩余可播时长是否大于预设时长;
若是,则执行所述对所述关联视频进行预下载的步骤;
若否,则下载所述当前播放视频,并返回执行所述当存在所述前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长的步骤。
其中,所述根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频,具体包括:
获取所述当前播放视频所在的视频播放列表;
根据所述视频播放列表和上一切换方向,确定所述当前播放视频对应的至少一个关联视频、以及每一所述关联视频的下载优先级;
所述对所述关联视频进行预下载,具体包括:
根据所述下载优先级对所述关联视频进行预下载。
其中,所述根据预下载的所述关联视频对所述当前播放视频进行切换,具体包括:
获取视频切换指令,所述视频切换指令携带目标切换方向;
根据所述目标切换方向和预下载的所述关联视频对所述当前播放视频进行切换。
其中,在所述根据预下载的所述关联视频对所述当前播放视频进行切换之前,还包括:
从预下载的所述关联视频中确定目标关联视频;
根据所述目标关联视频中预下载的视频数据对预先建立的播放器进行初始化;
利用初始化后的所述播放器对所述目标关联视频进行预加载;
所述根据预下载的所述关联视频对所述当前播放视频进行切换,具体包括:
根据预加载的所述目标关联视频对所述当前播放视频进行切换。
其中,所述根据所述目标关联视频中预下载的视频数据对预先建立的播放器进行初始化,具体包括:
确定预先建立的播放器在初始化过程中的耗时任务和耗时逻辑;
对所述耗时逻辑进行缓存,并获取第一线程和第二线程,其中,所述第一线程用于处理所述耗时任务,所述第二线程用于处理所述播放器在初始化过程中除所述耗时任务之外的其他任务;
根据所述目标关联视频中预下载的视频数据,利用所述第一线程和第二线程对所述播放器进行初始化。
其中,所述对所述关联视频进行预下载,具体包括:
从预先缓存的域名链接地址数据表中获取所述关联视频对应的域名链接地址,所述域名链接地址数据表中记录有所述域名链接地址与所述关联视频之间的对应关系;
确定所述域名链接地址对应的IP地址;
根据所述IP地址预下载对应的所述关联视频。
其中,所述根据预下载的所述关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放,具体包括:
从预下载的所述关联视频中确定下一播放视频;
获取所述下一播放视频的部分视频数据,所述部分视频数据的数据量不大于预设数据量;
根据所述部分视频数据确定所述下一播放视频的音视频设置参数;
根据所述音视频设置参数对所述下一播放视频进行播放。
本申请实施例还提供了一种视频播放装置,包括:
第一获取模块,用于获取上一切换方向,所述上一切换方向为上一播放视频切换至当前播放视频的切换方向;
第一确定模块,用于根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频;
预下载模块,用于对所述关联视频进行预下载;
切换模块,用于根据预下载的所述关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放。
其中,所述视频播放装置还包括:
第二确定模块,用于当存在所述当前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长,所述剩余可播时长为所述当前播放视频中已下载且未播放的视频数据的播放时长;
判断模块,用于判断所述剩余可播时长是否大于预设时长;
下载模块,用于当所述剩余可播时长不大于预设时长时下载所述当前播放视频,并触发所述第二确定模块在存在所述当前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长;
所述预下载模块具体用于当所述剩余可播时长大于预设时长时,对所述关联视频进行预下载。
其中,所述第一确定模块具体用于:
获取所述当前播放视频所在的视频播放列表;
根据所述视频播放列表和上一切换方向,确定所述当前播放视频对应的至少一个关联视频、以及每一所述关联视频的下载优先级;
所述预下载模块具体用于:
根据所述下载优先级对所述关联视频进行预下载。
其中,所述切换模块具体用于:
获取视频切换指令,所述视频切换指令携带目标切换方向;
根据所述目标切换方向和预下载的所述关联视频对所述当前播放视频进行切换。
其中,所述视频播放装置还包括:
第三确定模块,用于从预下载的所述关联视频中确定目标关联视频;
初始化模块,用于根据所述目标关联视频中预下载的视频数据对预先建立的播放器进行初始化;
预加载模块,用于利用初始化后的所述播放器对所述目标关联视频进行预加载;
所述切换模块具体用于:
根据预加载的所述目标关联视频对所述当前播放视频进行切换。
其中,所述初始化模块具体用于:
确定预先建立的播放器在初始化过程中的耗时任务和耗时逻辑;
对所述耗时逻辑进行缓存,并获取第一线程和第二线程,其中,所述第一线程用于处理所述耗时任务,所述第二线程用于处理所述播放器在初始化过程中除所述耗时任务之外的其他任务;
根据所述目标关联视频中预下载的视频数据,利用所述第一线程和第二线程对所述播放器进行初始化。
其中,所述预下载模块具体用于:
从预先缓存的域名链接地址数据表中获取所述关联视频对应的域名链接地址,所述域名链接地址数据表中记录有所述域名链接地址与所述关联视频之间的对应关系;
确定所述域名链接地址对应的IP地址;
根据所述IP地址预下载对应的所述关联视频。
其中,所述切换模块具体用于:
从预下载的所述关联视频中确定下一播放视频;
获取所述下一播放视频的部分视频数据,所述部分视频数据的数据量不大于预设数据量;
根据所述部分视频数据确定所述下一播放视频的音视频设置参数;
根据所述音视频设置参数对所述下一播放视频进行播放。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述任一项视频播放方法。
本申请提供的视频播放方法、装置及存储介质,通过获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向,并根据上一切换方向确定当前播放视频对应的至少一个关联视频,然后对关联视频进行预下载,并根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放,从而在对当前播放视频进行切换时,能够节省下一播放视频起播过程中起播段视频数据的缓冲时间,进而能够提升下一播放视频的起播速度,减少视频首帧耗时,最终实现视频秒开。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的视频播放系统的场景示意图。
图2为本申请实施例提供的视频播放方法的流程示意图。
图3为本申请实施例提供的视频切换的操作示意图。
图4为本申请实施例提供的视频播放列表的示意图。
图5为本申请实施例提供的视频播放方法的另一流程示意图。
图6为本申请实施例提供的视频播放方法的另一流程示意图。
图7为本申请实施例提供的视频播放装置的结构示意图。
图8为本申请实施例提供的视频播放装置的另一结构示意图。
图9为本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频播放方法、装置及存储介质。
请参阅图1,图1为本申请实施例提供的视频播放系统的场景示意图,该视频播放系统可以包括本申请实施例提供的任一种视频播放装置,该视频播放装置具体可以集成在终端中,其中终端可以是手机、平板电脑、个人数字助理、穿戴式设备等各种具有操作系统、触摸屏和/或显示屏的硬件设备。
该终端可以获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向;根据上一切换方向确定当前播放视频对应的至少一个关联视频;对关联视频进行预下载;根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
其中,上一切换方向可以为用户最近一次在终端的视频显示界面上进行滑动操作时的滑动方向,且若上一切换方向为由下至上,则当前播放视频可以对应为视频播放列表中排在上一播放视频后一位的待播放视频。上述至少一个关联视频可以为视频播放列表中与当前播放视频排序相邻的至少一个待播放视频。具体地,上述视频播放列表和关联视频可以存储于服务器(比如,视频服务器中),其中该服务器与终端之间可以通过网络(比如,局域网、蜂窝网等)进行通信连接。
譬如,在图1中,终端与服务器之间可以通过局域网进行通信连接,其中,当用户浏览视频网站或打开终端上已安装的视频应用程序观看视频时,终端会进入对应的视频显示界面,该视频显示界面可以包括当前播放视频B的第一显示区域、位于第一显示区域上方的待播放视频A的第二显示区域、以及位于第一显示区域下方的待播放视频C的第三显示区域,并且终端可以从用户操作日志中获取用户最近一次在视频显示界面中进行滑动操作时的滑动方向以得到上一切换方向,例如,若上一切换方向为由下至上,则上述待播放视频A即为上一播放视频,然后可以将视频播放列表中位于当前播放视频B前一位的待播放视频A、以及后两位的待播放视频C和待播放视频D,作为该当前播放视频B的关联视频,并从服务器中预下载该关联视频A、关联视频C和关联视频D,之后当接收到视频切换指令时,可以根据该视频切换指令所携带的目标切换方向以及上述预下载的关联视频A、关联视频C和关联视频D对当前播放视频B进行切换,以对关联视频A、关联视频C或关联视频D进行播放,例如,当上述目标切换方向为由下至上时,上述视频播放列表中位于当前播放视频B后一位的待播放视频C即为切换后得到的当前播放视频。
如图2所示,图2是本申请实施例提供的视频播放方法的流程示意图,该视频播放方法具体流程可以如下:
S101.获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向。
具体地,当用户浏览视频网站或打开终端上已安装的视频应用程序观看视频时,终端会进入对应的视频显示界面,如图3所示,该视频显示界面可以包括当前播放视频B的第一显示区域R1、位于第一显示区域R1上方的待播放视频A的第二显示区域R2、以及位于第一显示区域R1下方的待播放视频C的第三显示区域R3,并且,当检测到用户在上述视频显示界面上进行滑动操作时,可以根据该滑动操作的滑动方向生成对应的视频切换指令以对上述当前播放视频进行切换,例如,继续参阅图3,若用户在上述视频显示界面上进行滑动操作时的滑动方向Z为由下至上,则原先位于第三显示区域R3的待播放视频C的显示内容会由下向上滑动至第一显示区域R1并开始播放,原先位于第一显示区域R1的当前播放视频B的显示内容会由下向上滑动至第二显示区域R2并停止播放,原先未被显示出来的待播放视频D的显示内容会由下向上滑动至第三显示区域R3并显示出来,如此,以将当前播放视频由原先的视频B切换为了视频C。
在本实施例中,上述上一切换方向可以为用户最近一次在终端的视频显示界面上进行滑动操作时的滑动方向,且上述视频播放装置可以通过查看用户操作日志确定用户最近一次在终端的视频显示界面上进行滑动操作时的滑动方向,以得到该上一切换方向,另外,当上述用户操作日志中并不存在用户在上述视频显示界面上的滑动操作记录时,该上一切换方向可以为预设切换方向,例如,请继续参阅图3,当该预设切换方向为由下至上时,显示内容位于第二显示区域R2中的视频A即为上一播放视频,当该预设切换方向为由上至下时,显示内容位于第三显示区域R3中的视频C即为上一播放视频。
S102.根据上一切换方向确定当前播放视频对应的至少一个关联视频。
在本实施例中,关联视频为视频库中有较大可能取代当前播放视频成为下一播放视频的待播放视频。
其中,上述S102可以具体包括:
S1021.获取当前播放视频所在的视频播放列表。
具体地,上述视频播放装置可以从服务器(比如,视频服务器)中获取当前播放视频所在的视频播放列表,其中,如图4所示,该视频播放列表可以包括至少一个视频的视频标识信息(比如,视频的名称、视频的封面图片等等),且每一视频的视频标识信息在该视频播放列表中均对应有一唯一的排列序号,进一步地,上述视频标识信息在视频播放列表中可以按照排列序号由小到大的顺序进行排列。
S1022.根据视频播放列表和上一切换方向,确定当前播放视频对应的至少一个关联视频、以及每一关联视频的下载优先级。
具体地,请继续参阅图4,可以将视频播放列表中排在当前播放视频B前M位的M个视频和后N位的N个视频作为该当前播放视频对应的(M+N)个关联视频,其中,M≥0,N≥0,(M+N)≥1。
并且,考虑到用户在观看视频时一般习惯以相同的切换方向对当前播放视频进行切换,故为了提高关联视频取代当前播放视频成为下一播放视频的概率,可以控制位于上一切换方向上的关联视频(也即切换至当前播放视频的切换方向与上一切换方向相同的关联视频)的数量大于其他切换方向上的关联视频(也即切换至当前播放视频的切换方向与上一切换方向不相同的关联视频)的数量,例如,如图4所示,当上一切换方向为由下至上时,可以控制位于上一切换方向上的关联视频的数量N大于其他切换方向上的关联视频的数量M。
进一步地,对于喜欢的视频用户会选择完整看完,而对于不喜欢的视频用户会选择不看,因此,为了确保在用户快速且连续地多次切换当前播放视频时上述关联视频仍能有较大可能取代当前播放视频成为下一播放视频,可以在下载宽度和内存允许的情况下尽可能多地增大上述关联视频的数量,接上一例子,N可以等于4,M可以等于2。
另外,考虑到当上述关联视频的数量为多个时,若同时下载该多个关联视频会占用较多的无线带宽与系统资源,且影响下载速度,故可以根据关联视频取代当前播放视频成为下一播放视频的概率大小确定每一关联视频的下载优先级,其中,关联视频取代当前播放视频成为下一播放视频的概率越大,对应该关联视频的下载优先级越高,如此,在后续S103中对上述关联视频进行预下载时,可以根据下载优先级对上述关联视频进行预下载,并且具体实施时,可以按照下载优先级由高到低的顺序依次对上述关联视频进行预下载。
S103.对关联视频进行预下载。
其中,由于视频播放器在播放视频时,通常需要先下载该视频的缓冲数据,并在下载得到的缓冲数据足够起播时,才会开始播放该视频,故在本实施例中,通过对关联视频进行预下载,使得在后续步骤中视频播放器对关联视频进行播放时能够直接利用该关联视频中预下载的视频数据开始播放,从而缩短了该关联视频的起播时长。其中,起播时长可以是指触发播放关联视频的触发时间与该关联视频开始播放的播放时间之间的时间差,该起播时长越短,用户等待的时间也就越短,用户观看视频的体验也会更好。
具体地,上述关联视频中预下载的视频数据的数据量不小于该关联视频起播所需要的视频数据的数据量,并且,不同关联视频中预下载的视频数据的数据量可以是统一规定的,例如,可以设置每一关联视频中预下载的视频数据的数据量均为10M,在其他实施例中,也可以按照一些计算规则来确定每一关联视频中预下载的视频数据的数据量,例如,可以根据终端存储器的剩余空间、关联视频的清晰度、关联视频的播放时长等因素综合确定每一关联视频中预下载的视频数据的数据量。
在一个具体实施例中,上述S103可以具体包括:
S1031.从预先缓存的域名链接地址数据表中获取关联视频对应的域名链接地址,域名链接地址数据表中记录有域名链接地址与关联视频之间的对应关系。
具体地,上述视频播放装置可以从当前播放视频所在的视频播放列表中获取该当前播放视频所对应的关联视频的标识信息,然后通过查询预先缓存在本地的域名链接地址数据表以得到关联视频的标识信息对应的域名链接地址,其中,域名链接地址数据表中记录有域名链接地址与关联视频的标识信息之间的对应关系。
在本实施例中,通过预先将域名链接地址数据表缓存在本地,能够减少终端向服务器请求获取关联视频的域名链接地址的步骤,从而进一步减少了关联视频的起播时间。另外,为了确保上述域名链接地址数据表的有效性和安全性,可以每间隔预设时长(比如,7小时)从服务器中重新缓存最新的域名链接地址数据表,以对上述预先缓存在本地的域名链接地址数据表进行更新。
S1032.确定域名链接地址对应的IP地址。
具体地,上述视频播放装置可以从预先缓存在本地的IP地址数据表中直接获取上述关联视频的域名链接地址对应的IP地址,其中,上述IP地址数据表中记录有域名链接地址与IP地址之间的对应关系,且其中域名链接地址所对应的IP地址是采用全局负载均衡策略得到的,其中,全局负载均衡策略是指在广域网上不同地域的服务器间实现流量调配,以保证使用最佳的服务器服务离自己最近的客户,从而确保访问质量。在本实施例中,通过预先将IP地址数据表缓存在本地,能够减少域名解析的步骤,从而进一步减少了关联视频的起播时间。
S1033.根据IP地址预下载对应的关联视频。
具体地,上述关联视频的域名链接地址与IP地址之间可以是一对一的对应关系,也可以是一对多的对应关系,并且,当上述关联视频的域名链接地址与IP地址之间是一对多的对应关系,也即,一个域名链接地址对应有多个IP地址时,可以从该多个IP地址中选择数据传输速度最快的IP地址作为目标IP地址,并基于该目标IP地址从服务器预下载对应的关联视频。
在本实施例中,为了避免在网络不好的情况下,预下载上述关联视频会对当前播放视频的播放造成不良影响,如图5所示,在上述S103之前,还可以包括:
S105.当存在当前播放视频的下载任务时,确定当前播放视频的剩余可播时长,剩余可播时长为当前播放视频中已下载且未播放的视频数据的播放时长。
具体地,上述视频播放装置可以检测是否存在当前播放视频的下载任务,也即检测该当前播放视频是否已完成下载,并在存在当前播放视频的下载任务时,计算该当前播放视频中已下载的视频数据的播放时长、与该当前播放视频中已播放的视频数据的播放时长之差,得到该当前播放视频的剩余可播时长,例如,若当前播放视频中已下载的视频数据的播放时长为2分钟,而该当前播放视频中已播放的视频数据的播放时长为20秒,则该当前播放视频的剩余可播时长为二者之差1分钟40秒。
S106.判断剩余可播时长是否大于预设时长,若是,则执行上述S103,若否,则执行S107并返回执行上述S105。
例如,上述预设时长可以为2分钟。
S107.下载当前播放视频。
具体地,在当前播放视频的剩余可播时长不大于预设时长时,可以暂停对上述关联视频的预下载,以优先下载当前播放视频,并且,在优先下载当前播放视频一段时间(比如,1分钟)之后,还可以返回执行上述S105。
如此,上述S105、S106和S107可以构成一循环,以在对关联视频进行预下载时能够确保当前播放视频的顺畅播放,同时还能够避免由于当前播放视频中下载的视频数据的数据量过多而用户并未全部观看所造成的流量浪费。
S104.根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
其中,上述S104可以具体包括:
S1041.获取视频切换指令,视频切换指令携带目标切换方向。
具体地,当上述视频播放装置检测到用户在视频显示界面上进行滑动操作时,可以根据该滑动操作的滑动方向生成对应的视频切换指令以对当前播放视频进行切换,其中,该视频切换指令所携带的目标切换方向可以为下一播放视频切换至当前播放视频的切换方向。
S1042.根据目标切换方向和预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
其中,当上述视频切换指令所携带的目标切换方向为由下向上时,在当前播放视频所在的视频播放列表中排在该当前播放视频后一位的待播放视频会取代该当前播放视频成为下一播放视频;当上述视频切换指令所携带的目标切换方向为由上向下时,在当前播放视频所在的视频播放列表中排在该当前播放视频前一位的待播放视频会取代该当前播放视频成为下一播放视频。
在本实施例中,通过将视频播放列表中有很大可能取代当前播放视频成为下一播放视频的一个或多个待播放视频作为该当前播放视频的关联视频,并对该一个或多个关联视频进行预下载,能够在根据视频切换指令触发播放预下载的关联视频时,直接利用该关联视频中预下载的视频数据开始播放,从而缩短了下一播放视频的起播时长,减少了用户等待的时间。
在一个具体实施例中,为了进一步减少用户等待下一播放视频播放的时间,在上述S104之前,还可以包括:
S108.从预下载的关联视频中确定目标关联视频。
其中,该目标关联视频可以为上述至少一个关联视频中最有可能成为下一播放视频的关联视频,并且,为了避免后续步骤中采用播放器对目标关联视频进行预加载会造成线程与内存开销过大的问题,可以控制该目标关联视频的数量不宜过多(比如,一个)。
S109.根据目标关联视频中预下载的视频数据对预先建立的播放器进行初始化。
具体地,上述视频播放装置可以新建用于播放上述目标关联视频的播放器,并从该目标关联视频中预下载的视频数据中提取出播放器所需的配置参数,然后根据提取出的配置参数进行播放器相关参数的配置并实例化该播发器,其中,上述配置参数可以包括视频分辨率、视频格式、视频采样率、音频通道参数以及音频格式等等。
在一个具体实施例中,上述S109可以具体包括:
S1091.确定预先建立的播放器在初始化过程中的耗时任务和耗时逻辑。
其中,耗时任务可以为上述播放器在初始化过程中处理时长大于预设时长(比如,500毫秒)的任务,且可以具体包括上报逻辑任务或配置读写任务等等。其中,耗时逻辑可以为上述播放器在初始化过程中需要重复获取的逻辑,比如文件流。
S1092.对耗时逻辑进行缓存,并获取第一线程和第二线程,其中,第一线程用于处理耗时任务,第二线程用于处理播放器在初始化过程中除耗时任务之外的其他任务。
S1093.根据目标关联视频中预下载的视频数据,利用第一线程和第二线程对播放器进行初始化。
在本实施例中,通过预先将播放器在初始化过程中的耗时逻辑缓存在本地,并采用两个线程并行处理的方式对播放器进行初始化,能够提高播放器初始化的效率,从而缩短了目标关联视频的起播时长。
S110.利用初始化后的播放器对目标关联视频进行预加载。
具体地,可以通过将上述目标关联视频中预下载的视频数据加载在播放器上,以实现目标关联视频的预加载,并且,在后续S104中可以根据预加载的目标关联视频对当前播放视频进行切换,如此,在根据视频切换指令触发播放预加载的目标关联视频时能够实现下一播放视频的快速播放,达到即开即播的效果。
进一步地,考虑到在根据视频切换指令触发播放预加载的目标关联视频之后,从该目标关联视频开始播放到得到该目标关联视频的首帧显示画面需要一定的解码时间,且该解码时间越长越影响用户的观感,故在一个具体实施例中,为了缩短下一播放视频的解码时间,在上述S102之前,可以通过服务器获取原始视频,并对原始视频进行预设格式的转码,然后基于转码后的原始视频建立视频库,如此,通过服务器得到上述视频库之后,上述视频播放装置在后续步骤中能够根据需要从服务器中获取所需的视频,例如,后续S102中上述视频播放装置可以从服务器的视频库中预下载上述关联视频。
具体地,服务器可以通过网络上公开的视频链接地址获取得到上述原始视频。其中,对不同原始视频分别进行转码后对应得到的转码后视频具有统一的预设格式,该预设格式可以包括容器格式和编码格式,具体地,上述转码后视频的容器格式可以为MP4、AVI、FLV或MKV等等,编码格式可以为H264或H265等等。另外,本申请的发明人在长期研发中发现,当上述转码后视频的容器格式为MP4时,该MP4视频文件可以由若干个盒子(BOX)组成,具体可以包括FTYP盒子(作为视频格式标志)、MOOV盒子(用于存放媒体索引信息)和MDAT盒子(用于存放媒体数据),并且,作为优选实施例,上述MP4视频文件中MOOV盒子的排列顺序在MDAT盒子的排列顺序之前,以在后续步骤中对视频进行解码时能够仅通过一次请求即可得到MOOV盒子及MDAT盒子中的数据,从而缩短下一播放视频的解码时间。
在本实施例中,通过控制视频库中的视频具有相同的视频格式,能够在后续步骤中缩短下一播放视频的解码时间,具体地,可以将视频解码过程需要调用的FFmpeg中的avformat_open_input函数所探测的视频格式类型由多种减少为只有预设格式一种,从而减少后续视频解码步骤中利用avformat_open_input函数探测视频格式的耗时,以提高视频解码的效率。其中,FFmpeg为一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,avformat_open_input函数为FFmpeg中用于打开输入流并探测视频格式的函数。
进一步地,在上述视频库中的视频均为播放时长较短(比如,播放时长不超过3分钟)的小视频时,上述S104还可以具体包括:
S1043.从预下载的关联视频中确定下一播放视频。
其中,可以根据上述目标切换方向从上述预下载的关联视频或预加载的目标关联视频中确定下一播放视频,具体地,可以参见上述S1041、S1042、以及S108至S110的描述内容,故在此不再赘述。
S1044.获取下一播放视频的部分视频数据,部分视频数据的数据量不大于预设数据量。
具体地,在从该下一播放视频取代当前播放视频开始播放到得到该下一播放视频的首帧显示画面的过程中,上述视频播放装置可以调用FFmpeg中的avformat find streaminfo函数获取下一播放视频的部分视频数据,且部分视频数据的数据量不大于预设数据量,也即控制avformat find stream info函数所读取的视频数据量的上限值为预设数据量,并且该预设数据量可以是根据视频库中视频的播放时长或大小来决定的,能够在确保上述avformat find stream info函数良好性能的同时尽可能地设置更小的预设数据量,以减少avformat find stream info函数分析其所读取的视频数据的耗时,从而提高视频解码的效率。其中,avformat find stream info函数为FFmpeg中用于读取一定长度的码流数据,并分析码流的基本信息(比如,视频流码率、分辨率、帧率、音频流采样率、以及通道数等等),以为视频中各个媒体流的AVStream结构体(用于存储每一个视频/音频流信息的结构体)填充好相应的数据。
S1045.根据部分视频数据确定下一播放视频的音视频设置参数。
具体地,在调用上述avformat find stream info函数获取下一播放视频的部分视频数据之后,该avformat find stream info函数会对该部分视频数据进行分析并返回该下一播放视频的音视频设置参数(比如,视频流码率、分辨率、帧率、音频流采样率、以及通道数等等)。
S1046.根据音视频设置参数对下一播放视频进行播放。
具体地,可以对比上述avformat find stream info函数返回的音视频设置参数与在打开该下一播放视频的过程中所读取到的音视频设置参数是否匹配,如果不匹配,则根据上述avformat find stream info函数返回的音视频设置参数对对应的解码器进行参数校验,以确保视频能够正常播放。
由上可知,本实施例提供的视频播放方法,通过获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向,并根据上一切换方向确定当前播放视频对应的至少一个关联视频,然后对关联视频进行预下载,并根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放,从而在对当前播放视频进行切换时,能够节省下一播放视频起播过程中起播段视频数据的缓冲时间,进而能够提升下一播放视频的起播速度,减少视频首帧耗时,最终实现视频秒开。
如图6所示,图6是本申请实施例提供的视频播放方法的另一流程示意图,该视频播放方法具体流程可以如下:
S201.获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向。
其中,上一切换方向可以为预设切换方向,也可以为用户通过触摸显示屏、按键或麦克风语音等方式输入的。
S202.获取当前播放视频所在的视频播放列表。
其中,视频播放列表可以缓存在本地,也可以存储于视频服务器中,并且,该视频播放列表中的视频可以来自用户选择的视频或视频服务器推荐的视频。
S203.根据视频播放列表和上一切换方向,确定当前播放视频对应的至少一个关联视频、以及每一关联视频的下载优先级。
本实施例中的S203的具体实施例方式可以参见上一方法实施例中S1022的具体实施方式,故在此不再赘述。
S204.当存在当前播放视频的下载任务时,确定当前播放视频的剩余可播时长,剩余可播时长为当前播放视频中已下载且未播放的视频数据的播放时长。
本实施例中的S204的具体实施例方式可以参见上一方法实施例中S105的具体实施方式,故在此不再赘述。
S205.判断剩余可播时长是否大于预设时长,若是,则执行S206,若否,则执行S207并返回执行上述S204。
S206.根据下载优先级对关联视频进行预下载。
在本实施例中,可以按照下载优先级由高到低的顺序依次对上述关联视频进行预下载,以避免同时下载多个关联视频会占用较多无线带宽以及系统资源的问题。
在一个具体实施例中,上述S206可以具体包括:
S2061.从至少一个关联视频中确定已完成预下载的关联视频。
其中,考虑到在当前播放视频对应的至少一个关联视频中可能存在上一播放视频或更早以前的播放视频对应的关联视频,并在上一播放视频或更早以前的播放视频的播放过程中已经完成了该关联视频的预下载任务,则为了避免重复对该关联视频进行预下载,可以检测本地是否已经缓存有关联视频的预下载视频数据,并在本地已经缓存有关联视频的预下载视频数据时,对对应的关联视频进行标记,以在后续步骤中可以仅对上述至少一个关联视频中未被标记的关联视频进行预下载。
S2062.根据关联视频的下载优先级对剩余的关联视频进行预下载。
其中,上述S2062的具体实施例方式可以参见上一方法实施例中S103的具体实施方式,故在此不再赘述。
S207.下载当前播放视频。
本实施例中的S207的具体实施例方式可以参见上一方法实施例中S107的具体实施方式,故在此不再赘述。
S208.从预下载的关联视频中确定目标关联视频。
本实施例中的S208的具体实施例方式可以参见上一方法实施例中S108的具体实施方式,故在此不再赘述。
S209.根据目标关联视频中预下载的视频数据对预先建立的播放器进行初始化。
本实施例中的S209的具体实施例方式可以参见上一方法实施例中S109的具体实施方式,故在此不再赘述。
S210.利用初始化后的播放器对目标关联视频进行预加载。
本实施例中的S210的具体实施例方式可以参见上一方法实施例中S110的具体实施方式,故在此不再赘述。
S211.根据预加载的目标关联视频对当前播放视频进行切换,以对目标关联视频进行播放。
其中,上述S211可以具体包括:
S2111.获取视频切换指令,视频切换指令携带目标切换方向。
具体地,上述S2111的具体实施例方式可以参见上一方法实施例中S1041的具体实施方式,故在此不再赘述。
S2112.根据目标切换方向和预加载的目标关联视频对当前播放视频进行切换,以对目标关联视频进行播放。
其中,目标关联视频可以为上述至少一个关联视频中最有可能成为下一播放视频的关联视频,例如,当目标切换方向为由下至上时,可以将视频播放列表中排在当前播放视频后一位的关联视频最为上述目标关联视频。
由上可知,本实施例提供的视频播放方法,在对当前播放视频进行切换时,能够节省下一播放视频起播过程中起播段视频数据的缓冲时间,并缩短下一播放视频的起播时长,以减少用户等待的时间,最终实现视频秒开。
在上述实施例所述方法的基础上,本实施例将从视频播放装置的角度进一步进行描述,请参阅图7,图7具体描述了本申请实施例提供的视频播放装置,其可以包括:第一获取模块610、第一确定模块620、预下载模块630和切换模块640,其中:
(1)第一获取模块610
第一获取模块610,用于获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向。
在本实施例中,上述上一切换方向可以为用户最近一次在终端的视频显示界面上进行滑动操作时的滑动方向,且上述第一获取模块610可以通过查看用户操作日志确定用户最近一次在终端的视频显示界面上进行滑动操作时的滑动方向,以得到该上一切换方向,另外,当上述用户操作日志中并不存在用户在上述视频显示界面上的滑动操作记录时,该上一切换方向可以为预设切换方向。
(2)第一确定模块620
第一确定模块620,用于根据上一切换方向确定当前播放视频对应的至少一个关联视频。
在本实施例中,关联视频为视频库中有较大可能取代当前播放视频成为下一播放视频的待播放视频。
其中,上述第一确定模块620可以具体用于:
S1021.获取当前播放视频所在的视频播放列表。
具体地,上述第一确定模块620可以从服务器(比如,视频服务器)中获取当前播放视频所在的视频播放列表,其中,如图4所示,该视频播放列表可以包括至少一个视频的视频标识信息(比如,视频的名称、视频的封面图片等等),且每一视频的视频标识信息在该视频播放列表中均对应有一唯一的排列序号,进一步地,上述视频标识信息在视频播放列表中可以按照排列序号由小到大的顺序进行排列。
S1022.根据视频播放列表和上一切换方向,确定当前播放视频对应的至少一个关联视频、以及每一关联视频的下载优先级。
具体地,请继续参阅图4,可以将视频播放列表中排在当前播放视频B前M位的M个视频和后N位的N个视频作为该当前播放视频对应的(M+N)个关联视频,其中,M≥0,N≥0,(M+N)≥1。
并且,考虑到用户在观看视频时一般习惯以相同的切换方向对当前播放视频进行切换,故为了提高关联视频取代当前播放视频成为下一播放视频的概率,可以控制位于上一切换方向上的关联视频的数量大于其他切换方向上的关联视频的数量,例如,如图4所示,当上一切换方向为由下至上时,可以控制位于上一切换方向上的关联视频的数量N大于其他切换方向上的关联视频的数量M。
进一步地,对于喜欢的视频用户会选择完整看完,而对于不喜欢的视频用户会选择不看,因此,为了确保在用户快速且连续地多次切换当前播放视频时上述关联视频仍能有较大可能取代当前播放视频成为下一播放视频,可以在下载宽度和内存允许的情况下尽可能多地增大上述关联视频的数量,接上一例子,N可以等于4,M可以等于2。
另外,考虑到当上述关联视频的数量为多个时,若同时下载该多个关联视频会占用较多的无线带宽与系统资源,且影响下载速度,故可以根据关联视频取代当前播放视频成为下一播放视频的概率大小确定每一关联视频的下载优先级,其中,关联视频取代当前播放视频成为下一播放视频的概率越大,对应该关联视频的下载优先级越高,如此,在下述预下载模块630对上述关联视频进行预下载时,可以根据下载优先级对上述关联视频进行预下载,并且具体实施时,可以按照下载优先级由高到低的顺序依次对上述关联视频进行预下载。
(3)预下载模块630
预下载模块630,用于对关联视频进行预下载。
其中,由于视频播放器在播放视频时,通常需要先下载该视频的缓冲数据,并在下载得到的缓冲数据足够起播时,才会开始播放该视频,故在本实施例中,通过对关联视频进行预下载,使得在后续步骤中视频播放器对关联视频进行播放时能够直接利用该关联视频中预下载的视频数据开始播放,从而缩短了该关联视频的起播时长。其中,起播时长可以是指触发播放关联视频的触发时间与该关联视频开始播放的播放时间之间的时间差,该起播时长越短,用户等待的时间也就越短,用户观看视频的体验也会更好。
具体地,上述关联视频中预下载的视频数据的数据量不小于该关联视频起播所需要的视频数据的数据量,并且,不同关联视频中预下载的视频数据的数据量可以是统一规定的,例如,可以设置每一关联视频中预下载的视频数据的数据量均为10M,在其他实施例中,也可以按照一些计算规则来确定每一关联视频中预下载的视频数据的数据量,例如,可以根据终端存储器的剩余空间、关联视频的清晰度、关联视频的播放时长等因素综合确定每一关联视频中预下载的视频数据的数据量。
在一个具体实施例中,上述预下载模块630可以具体用于:
S1031.从预先缓存的域名链接地址数据表中获取关联视频对应的域名链接地址,域名链接地址数据表中记录有域名链接地址与关联视频之间的对应关系。
具体地,上述预下载模块630可以从当前播放视频所在的视频播放列表中获取该当前播放视频所对应的关联视频的标识信息,然后通过查询预先缓存在本地的域名链接地址数据表以得到关联视频的标识信息对应的域名链接地址,其中,域名链接地址数据表中记录有域名链接地址与关联视频的标识信息之间的对应关系。
在本实施例中,通过预先将域名链接地址数据表缓存在本地,能够减少终端向服务器请求获取关联视频的域名链接地址的步骤,从而进一步减少了关联视频的起播时间。另外,为了确保上述域名链接地址数据表的有效性和安全性,可以每间隔预设时长(比如,7小时)从服务器中重新缓存最新的域名链接地址数据表,以对上述预先缓存在本地的域名链接地址数据表进行更新。
S1032.确定域名链接地址对应的IP地址。
具体地,上述预下载模块630可以从预先缓存在本地的IP地址数据表中直接获取上述关联视频的域名链接地址对应的IP地址,其中,上述IP地址数据表中记录有域名链接地址与IP地址之间的对应关系,且其中域名链接地址所对应的IP地址是采用全局负载均衡策略得到的,其中,全局负载均衡策略是指在广域网上不同地域的服务器间实现流量调配,以保证使用最佳的服务器服务离自己最近的客户,从而确保访问质量。在本实施例中,通过预先将IP地址数据表缓存在本地,能够减少域名解析的步骤,从而进一步减少了关联视频的起播时间。
S1033.根据IP地址预下载对应的关联视频。
具体地,上述关联视频的域名链接地址与IP地址之间可以是一对一的对应关系,也可以是一对多的对应关系,并且,当上述关联视频的域名链接地址与IP地址之间是一对多的对应关系,也即,一个域名链接地址对应有多个IP地址时,可以从该多个IP地址中选择数据传输速度最快的IP地址作为目标IP地址,并基于该目标IP地址从服务器预下载对应的关联视频。
(4)切换模块640
切换模块640,用于根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
其中,上述切换模块640可以具体用于:
S1041.获取视频切换指令,视频切换指令携带目标切换方向。
具体地,当上述切换模块640检测到用户在视频显示界面上进行滑动操作时,可以根据该滑动操作的滑动方向生成对应的视频切换指令以对当前播放视频进行切换,其中,该视频切换指令所携带的目标切换方向可以为下一播放视频切换至当前播放视频的切换方向。
S1042.根据目标切换方向和预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
其中,当上述视频切换指令所携带的目标切换方向为由下向上时,在当前播放视频所在的视频播放列表中排在该当前播放视频后一位的待播放视频会取代该当前播放视频成为下一播放视频;当上述视频切换指令所携带的目标切换方向为由上向下时,在当前播放视频所在的视频播放列表中排在该当前播放视频前一位的待播放视频会取代该当前播放视频成为下一播放视频。
在本实施例中,通过将视频播放列表中有很大可能取代当前播放视频成为下一播放视频的一个或多个待播放视频作为该当前播放视频的关联视频,并对该一个或多个关联视频进行预下载,能够在根据视频切换指令触发播放预下载的关联视频时,直接利用该关联视频中预下载的视频数据开始播放,从而缩短了下一播放视频的起播时长,减少了用户等待的时间。
在本实施例中,为了避免在网络不好的情况下,预下载上述关联视频会对当前播放视频的播放造成不良影响,如图8所示,上述视频播放装置还可以包括:
(5)第二确定模块650
第二确定模块650,用于当存在当前播放视频的下载任务时,确定当前播放视频的剩余可播时长,剩余可播时长为当前播放视频中已下载且未播放的视频数据的播放时长。
具体地,上述第二确定模块650可以检测是否存在当前播放视频的下载任务,也即检测该当前播放视频是否已完成下载,并在存在当前播放视频的下载任务时,计算该当前播放视频中已下载的视频数据的播放时长、与该当前播放视频中已播放的视频数据的播放时长之差,得到该当前播放视频的剩余可播时长。
(6)判断模块660
判断模块660,用于判断剩余可播时长是否大于预设时长。
(7)下载模块670
下载模块670,用于当剩余可播时长不大于预设时长时下载当前播放视频,并触发上述第二确定模块650在存在当前播放视频的下载任务时,确定当前播放视频的剩余可播时长。
如此,在对关联视频进行预下载时,能够确保当前播放视频的顺畅播放,且还能够同时避免由于当前播放视频中下载的视频数据的数据量过多而用户并未全部观看所造成的流量浪费。
进一步地,上述预下载模块630可以具体用于当所述剩余可播时长大于预设时长时,对关联视频进行预下载。
在一个具体实施例中,为了进一步减少用户等待下一播放视频播放的时间,如图8所示,上述视频播放装置还可以包括:
(8)第三确定模块680
第三确定模块680,用于从预下载的关联视频中确定目标关联视频。
其中,该目标关联视频可以为上述至少一个关联视频中最有可能成为下一播放视频的关联视频,并且,为了避免后续步骤中采用播放器对目标关联视频进行预加载会造成线程与内存开销过大的问题,可以控制该目标关联视频的数量不宜过多(比如,一个)。
(9)初始化模块690
初始化模块690,用于根据目标关联视频中预下载的视频数据对预先建立的播放器进行初始化。
具体地,上述初始化模块690可以新建用于播放上述目标关联视频的播放器,并从该目标关联视频中预下载的视频数据中提取出播放器所需的配置参数,然后根据提取出的配置参数进行播放器相关参数的配置并实例化该播发器,其中,上述配置参数可以包括视频分辨率、视频格式、视频采样率、音频通道参数以及音频格式等等。
在一个具体实施例中,上述初始化模块690可以具体用于:
S1091.确定预先建立的播放器在初始化过程中的耗时任务和耗时逻辑。
其中,耗时任务可以为上述播放器在初始化过程中处理时长大于预设时长(比如,500毫秒)的任务,且可以具体包括上报逻辑任务或配置读写任务等等。其中,耗时逻辑可以为上述播放器在初始化过程中需要重复获取的逻辑,比如文件流。
S1092.对耗时逻辑进行缓存,并获取第一线程和第二线程,其中,第一线程用于处理耗时任务,第二线程用于处理播放器在初始化过程中除耗时任务之外的其他任务。
S1093.根据目标关联视频中预下载的视频数据,利用第一线程和第二线程对播放器进行初始化。
在本实施例中,通过预先将播放器在初始化过程中的耗时逻辑缓存在本地,并采用两个线程并行处理的方式对播放器进行初始化,能够提高播放器初始化的效率,从而缩短了目标关联视频的起播时长。
(10)预加载模块700
预加载模块700,用于利用初始化后的播放器对目标关联视频进行预加载。
进一步地,上述切换模块640可以具体用于:根据预加载的目标关联视频对当前播放视频进行切换,以对目标关联视频进行播放。如此,在根据视频切换指令触发播放预加载的目标关联视频时能够实现下一播放视频的快速播放,达到即开即播的效果。
进一步地,考虑到在根据视频切换指令触发播放预加载的目标关联视频之后,从该目标关联视频开始播放到得到该目标关联视频的首帧显示画面需要一定的解码时间,且该解码时间越长越影响用户的观感,故在一个具体实施例中,为了缩短下一播放视频的解码时间,上述视频播放装置还可以预先通过服务器获取原始视频,并对原始视频进行预设格式的转码,然后基于转码后的原始视频建立视频库,如此,通过服务器得到上述视频库之后,上述视频播放装置在后续步骤中能够根据需要从服务器中获取所需的视频,例如,后续S102中上述视频播放装置可以从服务器的视频库中预下载上述关联视频。
具体地,服务器可以通过网络上公开的视频链接地址获取得到上述原始视频。其中,对不同原始视频分别进行转码后对应得到的转码后视频具有统一的预设格式,该预设格式可以包括容器格式和编码格式,具体地,上述转码后视频的容器格式可以为MP4、AVI、FLV或MKV等等,编码格式可以为H264或H265等等。另外,本申请的发明人在长期研发中发现,当上述转码后视频的容器格式为MP4时,该MP4视频文件可以由若干个盒子(BOX)组成,具体可以包括FTYP盒子(作为视频格式标志)、MOOV盒子(用于存放媒体索引信息)和MDAT盒子(用于存放媒体数据),并且,作为优选实施例,上述MP4视频文件中MOOV盒子的排列顺序在MDAT盒子的排列顺序之前,以在后续步骤中对视频进行解码时能够仅通过一次请求即可得到MOOV盒子及MDAT盒子中的数据,从而缩短下一播放视频的解码时间。
在本实施例中,通过控制视频库中的视频具有相同的视频格式,能够在后续步骤中缩短下一播放视频的解码时间,具体地,可以将视频解码过程需要调用的FFmpeg中的avformat_open_input函数所探测的视频格式类型由多种减少为只有预设格式一种,从而减少后续视频解码步骤中利用avformat_open_input函数探测视频格式的耗时,以提高视频解码的效率。其中,FFmpeg为一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,avformat_open_input函数为FFmpeg中用于打开输入流并探测视频格式的函数。
进一步地,在上述视频库中的视频均为播放时长较短(比如,播放时长不超过3分钟)的小视频时,上述切换模块640还可以具体用于:
S1043.从预下载的关联视频中确定下一播放视频。
其中,可以根据上述目标切换方向从上述预下载的关联视频或预加载的目标关联视频中确定下一播放视频。
S1044.获取下一播放视频的部分视频数据,部分视频数据的数据量不大于预设数据量。
具体地,在从该下一播放视频取代当前播放视频开始播放到得到该下一播放视频的首帧显示画面的过程中,上述切换模块640可以调用FFmpeg中的avformat find streaminfo函数获取下一播放视频的部分视频数据,且部分视频数据的数据量不大于预设数据量,也即控制avformat find stream info函数所读取的视频数据量的上限值为预设数据量,并且该预设数据量可以是根据视频库中视频的播放时长或大小来决定的,能够在确保上述avformat find stream info函数良好性能的同时尽可能地设置更小的预设数据量,以减少avformat find stream info函数分析其所读取的视频数据的耗时,从而提高视频解码的效率。其中,avformat find stream info函数为FFmpeg中用于读取一定长度的码流数据,并分析码流的基本信息(比如,视频流码率、分辨率、帧率、音频流采样率、以及通道数等等),以为视频中各个媒体流的AVStream结构体(用于存储每一个视频/音频流信息的结构体)填充好相应的数据。
S1045.根据部分视频数据确定下一播放视频的音视频设置参数。
具体地,在调用上述avformat find stream info函数获取下一播放视频的部分视频数据之后,该avformat find stream info函数会对该部分视频数据进行分析并返回该下一播放视频的音视频设置参数(比如,视频流码率、分辨率、帧率、音频流采样率、以及通道数等等)。
S1046.根据音视频设置参数对下一播放视频进行播放。
具体地,可以对比上述avformat find stream info函数返回的音视频设置参数与在打开该下一播放视频的过程中所读取到的音视频设置参数是否匹配,如果不匹配,则根据上述avformat find stream info函数返回的音视频设置参数对对应的解码器进行参数校验,以确保视频能够正常播放。
具体实施时,以上各个子单元、单元和模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个子单元、单元和模块的具体实施可参见前面的方法实施例,在此不再赘述。
上述可知,本实施例提供的视频播放装置,在对当前播放视频进行切换时,能够节省下一播放视频起播过程中起播段视频数据的缓冲时间,并缩短下一播放视频的起播时长,以减少用户等待的时间,最终实现视频秒开。
相应的,本申请实施例还提供一种终端,如图9所示,其示出了本申请实施例所涉及的终端的结构示意图,具体来讲:
该终端可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、射频(Radio Frequency,RF)电路403、电源404、输入单元405、以及显示单元406等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监测。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
RF电路403可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器401处理;另外,将涉及上行的数据发送给基站。通常,RF电路403包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路403还可以通过无线通信与网络和其他设备通信。该无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
终端还包括给各个部件供电的电源404(比如电池),优选的,电源404可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源404还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该终端还可包括输入单元405,该输入单元405可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元405可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元405还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该终端还可包括显示单元406,该显示单元406可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元406可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图9中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取上一切换方向,上一切换方向为上一播放视频切换至当前播放视频的切换方向;
根据上一切换方向确定当前播放视频对应的至少一个关联视频;
对关联视频进行预下载;
根据预下载的关联视频对当前播放视频进行切换,以对关联视频进行播放。
该终端可以实现本申请实施例所提供的任一种视频播放装置所能实现的有效效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本申请实施例所提供的一种视频播放方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种视频播放方法,其特征在于,包括:
获取上一切换方向,所述上一切换方向为上一播放视频切换至当前播放视频的切换方向;
根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频,并控制位于所述上一切换方向上的所述关联视频的数量大于其他切换方向上的所述关联视频的数量;
根据所述关联视频取代所述当前播放视频成为下一播放视频的概率大小确定每一所述关联视频的下载优先级,所述概率与不同切换方向上的所述关联视频的数量相关;
根据所述下载优先级,对所述关联视频进行预下载;
从预下载的所述关联视频中确定目标关联视频;
从所述目标关联视频中预下载的视频数据中提取出播放器所需的配置参数;
根据所述配置参数,利用第一线程以及第二线程对预先建立的播放器进行初始化,所述第一线程用于处理所述预先建立的播放器初始化过程中的耗时任务,所述第二线程用于处理所述预先建立的播放器初始化过程中除所述耗时任务之外的其他任务;
利用初始化后的所述播放器对所述目标关联视频进行预加载;
根据预加载的所述目标关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放。
2.根据权利要求1所述的视频播放方法,其特征在于,在所述根据所述下载优先级,对所述关联视频进行预下载之前,还包括:
当存在所述当前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长,所述剩余可播时长为所述当前播放视频中已下载且未播放的视频数据的播放时长;
判断所述剩余可播时长是否大于预设时长;
若是,则执行所述对所述关联视频进行预下载的步骤;
若否,则下载所述当前播放视频,并返回执行所述当存在所述当前播放视频的下载任务时,确定所述当前播放视频的剩余可播时长的步骤。
3.根据权利要求1所述的视频播放方法,其特征在于,所述根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频,具体包括:
获取所述当前播放视频所在的视频播放列表;
根据所述视频播放列表和上一切换方向,确定所述当前播放视频对应的至少一个关联视频。
4.根据权利要求1所述的视频播放方法,其特征在于,所述根据预加载的所述目标关联视频对所述当前播放视频进行切换,具体包括:
获取视频切换指令,所述视频切换指令携带目标切换方向;
根据所述目标切换方向和预加载的所述目标关联视频对所述当前播放视频进行切换。
5.根据权利要求1所述的视频播放方法,其特征在于,所述根据所述配置参数,利用第一线程以及第二线程对预先建立的播放器进行初始化,具体包括:
确定预先建立的播放器在初始化过程中的耗时任务和耗时逻辑;
对所述耗时逻辑进行缓存,并获取第一线程和第二线程,其中,所述第一线程用于处理所述耗时任务,所述第二线程用于处理所述播放器在初始化过程中除所述耗时任务之外的其他任务;
根据所述配置参数,利用所述第一线程和第二线程对所述播放器进行初始化。
6.根据权利要求1所述的视频播放方法,其特征在于,所述对所述关联视频进行预下载,具体包括:
从预先缓存的域名链接地址数据表中获取所述关联视频对应的域名链接地址,所述域名链接地址数据表中记录有所述域名链接地址与所述关联视频之间的对应关系;
确定所述域名链接地址对应的IP地址;
根据所述IP地址预下载对应的所述关联视频。
7.根据权利要求1所述的视频播放方法,其特征在于,所述根据预加载的所述目标关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放,具体包括:
从预加载的所述目标关联视频中确定下一播放视频;
获取所述下一播放视频的部分视频数据,所述部分视频数据的数据量不大于预设数据量;
根据所述部分视频数据确定所述下一播放视频的音视频设置参数;
根据所述音视频设置参数对所述下一播放视频进行播放。
8.一种视频播放装置,其特征在于,包括:
获取模块,用于获取上一切换方向,所述上一切换方向为上一播放视频切换至当前播放视频的切换方向;
第一确定模块,用于根据所述上一切换方向确定所述当前播放视频对应的至少一个关联视频,并控制位于所述上一切换方向上的所述关联视频的数量大于其他切换方向上的所述关联视频的数量;
预下载模块,用于根据所述关联视频取代所述当前播放视频成为下一播放视频的概率大小确定每一所述关联视频的下载优先级,所述概率与不同切换方向上的所述关联视频的数量相关;根据所述下载优先级,对所述关联视频进行预下载;
第三确定模块,用于从预下载的所述关联视频中确定目标关联视频;
初始化模块,用于从所述目标关联视频中预下载的视频数据中提取出播放器所需的配置参数;根据所述配置参数,利用第一线程以及第二线程对预先建立的播放器进行初始化,所述第一线程用于处理所述预先建立的播放器初始化过程中的耗时任务,所述第二线程用于处理所述预先建立的播放器初始化过程中除所述耗时任务之外的其他任务;
预加载模块,用于利用初始化后的所述播放器对所述目标关联视频进行预加载;
切换模块,用于根据预加载的所述目标关联视频对所述当前播放视频进行切换,以对所述关联视频进行播放。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至7任一项所述的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333697.3A CN110996134B (zh) | 2019-12-23 | 2019-12-23 | 视频播放方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911333697.3A CN110996134B (zh) | 2019-12-23 | 2019-12-23 | 视频播放方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110996134A CN110996134A (zh) | 2020-04-10 |
CN110996134B true CN110996134B (zh) | 2022-09-09 |
Family
ID=70074171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911333697.3A Active CN110996134B (zh) | 2019-12-23 | 2019-12-23 | 视频播放方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110996134B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488484B (zh) * | 2020-04-16 | 2023-04-28 | 北京雷石天地电子技术有限公司 | 基于类指数分布和tf-idf特征的歌曲推荐方法、介质和装置 |
CN111935507A (zh) * | 2020-08-19 | 2020-11-13 | 上海连尚网络科技有限公司 | 视频切换方法和设备 |
CN111935543A (zh) * | 2020-09-09 | 2020-11-13 | 北京搜狐新动力信息技术有限公司 | 视频的播放方法、装置、电子设备及计算机存储介质 |
CN112437352B (zh) * | 2020-11-11 | 2023-02-17 | 连尚(新昌)网络科技有限公司 | 视频合并播放方法和设备 |
CN112738639B (zh) * | 2020-12-25 | 2023-08-18 | 北京百度网讯科技有限公司 | 视频切换方法及装置、电子设备、计算机可读介质 |
CN112333476B (zh) * | 2021-01-05 | 2021-05-07 | 智者四海(北京)技术有限公司 | 一种视频加载方法及装置 |
CN112784074B (zh) * | 2021-02-05 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 一种多媒体数据处理方法、计算机及可读存储介质 |
CN112954445B (zh) * | 2021-03-16 | 2023-05-12 | 深圳市迅雷网络技术有限公司 | 流媒体文件播放方法、装置、计算机设备和存储介质 |
CN113395572B (zh) * | 2021-06-15 | 2023-05-16 | 北京字跳网络技术有限公司 | 一种视频处理方法、装置、存储介质及电子设备 |
CN113727172B (zh) * | 2021-09-01 | 2023-02-28 | 北京字跳网络技术有限公司 | 视频缓存播放方法、装置、电子设备及存储介质 |
CN114401444A (zh) * | 2022-02-08 | 2022-04-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频播放器的播放方法及装置、电子设备、存储介质 |
CN114615550B (zh) * | 2022-03-17 | 2023-12-08 | 北京奇艺世纪科技有限公司 | 一种视频获取方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640566B1 (en) * | 2002-05-06 | 2009-12-29 | Microsoft Corporation | Dynamic pause buffer sizing |
CN106325664A (zh) * | 2015-06-30 | 2017-01-11 | 广州华多网络科技有限公司 | 图像显示方法及装置 |
WO2017071167A1 (zh) * | 2015-10-26 | 2017-05-04 | 华为技术有限公司 | 一种多视点视频传输方法及装置 |
CN108681475A (zh) * | 2018-05-21 | 2018-10-19 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及移动终端 |
CN109246461A (zh) * | 2018-11-30 | 2019-01-18 | 北京微播视界科技有限公司 | 视频预加载的方法、应用客户端及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7128266B2 (en) * | 2003-11-13 | 2006-10-31 | Metrologic Instruments. Inc. | Hand-supportable digital imaging-based bar code symbol reader supporting narrow-area and wide-area modes of illumination and image capture |
CN104219579B (zh) * | 2014-08-20 | 2018-03-06 | 北京奇艺世纪科技有限公司 | 一种视频切换方法和装置 |
CN109587570B (zh) * | 2017-09-29 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 视频的播放方法和装置 |
CN108259975B (zh) * | 2018-02-01 | 2020-11-06 | 广州市百果园信息技术有限公司 | 视频播放方法、存储介质和终端 |
CN110300328B (zh) * | 2018-03-21 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 一种视频播放控制方法、装置及可读存储介质 |
CN110308975B (zh) * | 2018-03-27 | 2022-02-11 | 阿里巴巴(中国)有限公司 | 用于播放器起播的方法和装置 |
CN110460862B (zh) * | 2018-05-07 | 2022-03-08 | 腾讯数码(天津)有限公司 | 一种直播处理的方法、终端设备及存储介质 |
CN110457379A (zh) * | 2019-07-31 | 2019-11-15 | 北京速通科技有限公司 | 一种业务处理的方法及其架构系统 |
CN110430461A (zh) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种控制视频播放的方法、装置及视频播放设备 |
-
2019
- 2019-12-23 CN CN201911333697.3A patent/CN110996134B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640566B1 (en) * | 2002-05-06 | 2009-12-29 | Microsoft Corporation | Dynamic pause buffer sizing |
CN106325664A (zh) * | 2015-06-30 | 2017-01-11 | 广州华多网络科技有限公司 | 图像显示方法及装置 |
WO2017071167A1 (zh) * | 2015-10-26 | 2017-05-04 | 华为技术有限公司 | 一种多视点视频传输方法及装置 |
CN108681475A (zh) * | 2018-05-21 | 2018-10-19 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及移动终端 |
CN109246461A (zh) * | 2018-11-30 | 2019-01-18 | 北京微播视界科技有限公司 | 视频预加载的方法、应用客户端及电子设备 |
Non-Patent Citations (2)
Title |
---|
Quick accessible mobile video system based on pre-downloading, pre-fetching and streaming technologies;Hiroyuki Kasai等;《2008 IEEE 19th International Symposium on Personal, Indoor and Mobile Radio Communications》;20081208;全文 * |
借助腾讯视频快速导出缓存;王志军;《电脑迷》;20121231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110996134A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110996134B (zh) | 视频播放方法、装置及存储介质 | |
KR102301637B1 (ko) | 컨텐츠 재생을 위한 클라이언트, 컨텐츠 재생 방법, 컨텐츠 접속 제공 방법, 전자 장치의 컨텐츠 재생 선택 방법 및 컴퓨터 판독가능 기록매체 | |
US20180014043A1 (en) | Method, apparatus, and system for switching from video live stream to video-on-demand data | |
CN106791958B (zh) | 位置标记信息生成方法及装置 | |
US10110960B2 (en) | Methods and systems for facilitating media-on-demand-based channel changing | |
CN111135569A (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
US20170302990A1 (en) | Method, terminal, and system for processing data of video stream | |
CN108566561B (zh) | 视频播放方法、装置及存储介质 | |
US11930197B2 (en) | Video decoding method and apparatus, computer device, and storage medium | |
CN110495182B (zh) | 计算机实施的方法及媒体客户端设备 | |
US20110038613A1 (en) | Remote storage of digital media broadcasts for time-shifted playback on personal digital media devices | |
CN104506937A (zh) | 音视频的分享处理方法和系统 | |
CN111866433B (zh) | 视频源切换方法、播放方法、装置、设备和存储介质 | |
CN103327410B (zh) | 移动终端浏览器中视频的播放方法、系统和移动终端 | |
MX2012010750A (es) | Receptor y metodo para reportar el uso de servicios de television avanzados. | |
US9538247B2 (en) | Method and system for image alteration | |
WO2019083576A1 (en) | SYSTEMS AND METHODS FOR OPTIMIZING BANDWIDTH ALLOCATION FOR PRE-CURRENT MULTIMEDIA CONTENT | |
US20160294903A1 (en) | Method and device for pushing resources to mobile communication terminal by smart television | |
US20160073153A1 (en) | Automated audio adjustment | |
CN110557672A (zh) | 一种电视节目共享方法、电视机及存储介质 | |
US20160309230A1 (en) | Method and system for simultaneous playback of desktop background and live broadcast interface | |
CN104780421A (zh) | 一种多频道数据的缓存方法及装置 | |
CN110582024A (zh) | 一种播放视频的方法和装置 | |
US9813777B1 (en) | Time shifting content for network DVR and trick play keys | |
US20170155943A1 (en) | Method and electronic device for customizing and playing personalized programme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022300 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |