一种视频切换方法和装置制造方法

文档序号:7811949阅读:93来源:国知局
一种视频切换方法和装置制造方法
【专利摘要】本发明提供了一种视频切换方法和装置,其中,所述方法包括:在当前视频的播放过程中,预测前台播放器播放的当前视频和待播放的当前视频的下一个视频之间进行切换的时间点;前台播放器用于播放当前视频,当前视频的下一个视频由待创建的后台播放器播放;当前视频的下一个视频为当前视频的不同码流的视频,或者为与当前视频不同的视频;创建后台播放器,获取当前视频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台播放器的播放界面;指定时间点为切换的时间点,或者为当前视频的结束时间点。本发明实现了无缝观影的用户体验。
【专利说明】一种视频切换方法和装置

【技术领域】
[0001] 本发明涉及视频处理【技术领域】,特别是涉及一种视频切换方法和装置。

【背景技术】
[0002] 在现有的在线视频播放过程中,若要对正在播放的视频进行切换,通常分为两种 情况。
[0003] -、在当前视频的播放过程中,停止播放当前视频,对待播放的视频进行初始化后 播放待播放的视频。
[0004] 这种情况的缺点是:停止播放当前视频会导致画面停止在最后一帧或黑屏,对待 播放的视频进行初始化播放会导致重新加载视频数据,整个过程影响用户观影体验。
[0005] 二、在当前视频的播放过程中,将当前视频切换为不同码流后继续播放。
[0006] 这种情况的缺点是:将当前视频切换为不同码流后继续播放,需要从服务器获取 不同码流的当前视频,获取的过程需要缓冲视频数据,并且要先停止播放当前视频,待不同 码流的当前视频缓冲就绪后播放不同码流的当前视频,期间会由于网速慢的原因致使画面 暂停,整个过程影响用户观影体验。


【发明内容】

[0007] 本发明提供一种视频切换方法和装置,以解决在当前视频播放的过程中,将当前 视频切换为当前视频的下一个视频进行播放的过程影响用户观影体验的问题。
[0008] 为了解决上述问题,本发明公开了一种视频切换方法,包括:
[0009] 在当前视频的播放过程中,预测前台播放器播放的所述当前视频和待播放的当前 视频的下一个视频之间进行切换的时间点;所述前台播放器用于播放所述当前视频,所述 当前视频的下一个视频由待创建的后台播放器播放;所述当前视频的下一个视频为所述当 前视频的不同码流的视频,或者为与所述当前视频不同的视频;
[0010] 创建所述后台播放器,获取所述当前视频的下一个视频的播放数据,并通过所述 后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲染;
[0011] 当所述当前视频播放到指定时间点时,终止显示所述前台播放器的播放界面,显 示所述后台播放器的播放界面;所述指定时间点为所述切换的时间点,或者为所述当前视 频的结束时间点。
[0012] 优选地,所述在当前视频的播放过程中,预测前台播放器播放的所述当前视频和 待播放的当前视频的下一个视频之间进行切换的时间点,包括:
[0013] 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,在当前视频 的播放过程中,根据y = mXpow((m - e)/m,2),e < m,或者y = m,e彡m,预测所述切换的 时间点;
[0014] 其中,y为所述切换的时间点,m = (xXb/v), X为所述不同码流的视频预缓存的 时间,b为所述不同码流的带宽,v为播放下载的速度,m为按照所述播放下载的速度V,在 所述不同码流的带宽为b时,预缓存x时间的不同码流的视频需要的时间,e为所述当前视 频已缓存的时间,p〇w((m - e)/m,2)为2的(m - e)/m次方;
[0015] 当所述当前视频的下一个视频为与所述当前视频不同的视频时,在当前视频的播 放过程中,预测所述切换的时间点为所述当前视频的最后η秒,η > 0。
[0016] 优选地,所述创建所述后台播放器,包括:
[0017] 创建后台渲染窗口和后台视频流播放器;
[0018] 将所述后台渲染窗口和所述后台视频流播放器进行关联,得到所述后台播放器。
[0019] 优选地,所述获取所述当前视频的下一个视频的播放数据,包括:
[0020] 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,根据所述切 换的时间点和所述不同码流,从服务器端获取所述当前视频的下一个视频的播放数据;所 述当前视频的下一个视频的播放数据为,以所述当前视频已播放的时间与所述切换的时间 点之和,为开始时间的视频数据。
[0021] 优选地,所述通过所述后台播放器对所述当前视频的下一个视频的播放数据进行 初始化渲染,包括:
[0022] 通过所述后台播放器对所述当前视频的下一个视频的播放数据的第一帧画面进 行渲染后,暂停渲染操作。
[0023] 优选地,所述当所述当前视频播放到指定时间点时,终止显示所述前台播放器的 播放界面,显示所述后台播放器的播放界面,包括 :
[0024] 若所述当前视频的下一个视频为所述当前视频的不同码流的视频,则当所述当前 视频播放到所述切换的时间点时,终止显示所述前台播放器的播放界面,显示所述后台播 放器的播放界面;
[0025] 若所述当前视频的下一个视频为与所述当前视频不同的视频,则当所述当前视频 播放到所述当前视频的结束时间点时,终止显示所述前台播放器的播放界面,显示所述后 台播放器的播放界面。
[0026] 本发明还公开了一种视频切换装置,包括:
[0027] 时间预测模块,用于在当前视频的播放过程中,预测前台播放器播放的所述当前 视频和待播放的当前视频的下一个视频之间进行切换的时间点;所述前台播放器用于播放 所述当前视频,所述当前视频的下一个视频由待创建的后台播放器播放;所述当前视频的 下一个视频为所述当前视频的不同码流的视频,或者为与所述当前视频不同的视频;
[0028] 后台渲染模块,用于创建所述后台播放器,获取所述当前视频的下一个视频的播 放数据,并通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲 染;
[0029] 播放控制模块,用于当所述当前视频播放到指定时间点时,终止显示所述前台播 放器的播放界面,显示所述后台播放器的播放界面;所述指定时间点为所述切换的时间点, 或者为所述当前视频的结束时间点。
[0030] 优选地,所述时间预测模块,包括:
[0031] 第一时间预测模块,用于当所述当前视频的下一个视频为所述当前视频的不同码 流的视频时,在当前视频的播放过程中,根据y = mXpow((m - e)/m,2),e < m,或者y = m,e > m,预测所述切换的时间点;
[0032] 其中,y为所述切换的时间点,m = (xXb/v),x为所述不同码流的视频预缓存的 时间,b为所述不同码流的带宽,v为播放下载的速度,m为按照所述播放下载的速度V,在 所述不同码流的带宽为b时,预缓存X时间的不同码流的视频需要的时间,e为所述当前视 频已缓存的时间,p〇w((m - e)/m,2)为2的(m - e)/m次方;
[0033] 第二时间预测模块,用于当所述当前视频的下一个视频为与所述当前视频不同的 视频时,在当前视频的播放过程中,预测所述切换的时间点为所述当前视频的最后η秒,η >0。
[0034] 优选地,所述后台渲染模块在创建所述后台播放器时,包括:
[0035] 渲染窗口管理模块,用于创建后台渲染窗口;
[0036] 数据流播放器模块,用于创建后台视频流播放器;
[0037] 关联模块,用于将所述后台渲染窗口和所述后台视频流播放器进行关联,得到所 述后台播放器。
[0038] 优选地,所述后台渲染模块在获取所述当前视频的下一个视频的播放数据时,若 所述当前视频的下一个视频为所述当前视频的不同码流的视频,则根据所述切换的时间点 和所述不同码流,从服务器端获取所述当前视频的下一个视频的播放数据;所述当前视频 的下一个视频的播放数据为,以所述当前视频已播放的时间与所述切换的时间点之和,为 开始时间的视频数据。
[0039] 优选地,所述后台渲染模块在通过所述后台播放器对所述当前视频的下一个视频 的播放数据进行初始化渲染时,通过所述后台播放器对所述当前视频的下一个视频的播放 数据的第一帧画面进行渲染后,暂停渲染操作。
[0040] 优选地,所述播放控制模块在所述当前视频的下一个视频为所述当前视频的不同 码流的视频时,当所述当前视频播放到所述切换的时间点时,终止显示所述前台播放器的 播放界面,显示所述后台播放器的播放界面;在所述当前视频的下一个视频为与所述当前 视频不同的视频时,当所述当前视频播放到所述当前视频的结束时间点时,终止显示所述 前台播放器的播放界面,显示所述后台播放器的播放界面。
[0041] 与【背景技术】相比,本发明包括以下优点:
[0042] 在当前视频播放的过程中,预测前台播放器播放的当前视频和待播放的当前视频 的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视频的下一个视频的播 放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行初始化渲染;当当前 视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台播放器的播放界面。 在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当前数据,在切换的时 间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据,当切换的时间点到 达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示前台播放器播放的 当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频的下一个视频相对 应的关键帧,当前视频的关键帧与对应的当前视频的下一个视频的关键帧是一致的,实现 了无缝观影的用户体验。

【专利附图】

【附图说明】
[0043] 图1是本发明实施例一中的一种视频切换方法流程图;
[0044] 图2是本发明实施例二中的一种视频切换方法流程图;
[0045] 图3是本发明实施例三中的一种视频切换装置结构图;
[0046] 图4是本发明实施例四中的一种视频切换装置结构图;
[0047] 图5是本发明实施例五中的一种视频切换装置结构图;
[0048] 图6是本发明实施例五中的一种视频切换装置中的各模块执行后台数据初始化 操作的流程图;
[0049] 图7是本发明实施例五中的一种视频切换装置中的播放控制器模块执行切换操 作的流程图。

【具体实施方式】
[0050] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0051] 下面通过列举几个具体的实施例详细介绍本发明提供的一种视频切换方法和装 置。
[0052] 实施例一
[0053] 详细介绍本发明实施例提供的一种视频切换方法。
[0054] 参照图1,示出了本发明实施例中一种视频切换方法流程图。
[0055] 步骤100,在当前视频的播放过程中,预测前台播放器播放的所述当前视频和待播 放的当前视频的下一个视频之间进行切换的时间点。
[0056] 其中,所述前台播放器用于播放所述当前视频,所述当前视频的下一个视频由待 创建的后台播放器播放。所述当前视频的下一个视频为所述当前视频的不同码流的视频, 或者为与所述当前视频不同的视频。
[0057] 所述前台播放器播放的当前视频可以为用户正在观看的视频,例如,当前视频为 视频A,正在播放的当前视频的码流为720p,当前视频A的下一个视频可以为码流为1080p 的视频A,或者为视频B。所述切换的时间点可以为码流为720p的视频A与码流为1080p 的视频A之间进行切换的时间点,或者为码流为720p的视频A与视频B之间进行切换的时 间点。其中,视频B的码流可以为任意码流,在此对视频B的码流不作限制。
[0058] 步骤102,创建所述后台播放器,获取所述当前视频的下一个视频的播放数据,并 通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲染。
[0059] 所述步骤102可以从服务器端获取当前视频的下一个视频的播放数据。
[0060] 步骤104,当所述当前视频播放到指定时间点时,终止显示所述前台播放器的播放 界面,显示所述后台播放器的播放界面。
[0061] 其中,所述指定时间点为所述切换的时间点,或者为所述当前视频的结束时间点。
[0062] 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,所述指定时 间点可以为所述切换的时间点;当所述当前视频的下一个视频为与所述当前视频不同的视 频时,所述指定时间点可以为所述当前视频的结束时间点。
[0063] 例如,当前视频为码流为720p的视频A,当当前视频的下一个视频为码流为1080p 的视频A时,指定时间点可以为切换的时间点TM,切换的时间点T1可以为视频A在播放过 程中的某个时间点;当当前视频的下一个视频为视频B时,指定时间点可以为视频A播放结 束的时间点TE,时间点TE可以为整个视频A播放结束的时间点。
[0064] 综上所述,本实施例在当前视频播放的过程中,预测前台播放器播放的当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视 频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行 初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台 播放器的播放界面。在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当 前数据,在切换的时间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据, 当切换的时间点到达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示 前台播放器播放的当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频 的下一个视频相对应的关键巾贞,当如视频的关键巾贞与对应的当如视频的下一个视频的关键 帧是一致的,实现了无缝观影的用户体验。
[0065] 实施例二
[0066] 详细介绍本发明实施例提供的一种视频切换方法。
[0067] 参照图2,示出了本发明实施例中一种视频切换方法流程图。
[0068] 步骤200,在当前视频的播放过程中,预测前台播放器播放的所述当前视频和待播 放的当前视频的下一个视频之间进行切换的时间点。
[0069] 其中,所述前台播放器用于播放所述当前视频,所述当前视频的下一个视频由待 创建的后台播放器播放。所述当前视频的下一个视频为所述当前视频的不同码流的视频, 或者为与所述当前视频不同的视频。
[0070] 例如,当前视频为视频A,正在播放的当前视频的码流为720p,当前视频A的下一 个视频可以为码流为1080p的视频A,或者为视频B。所述切换的时间点可以为码流为720p 的视频A与码流为1080p的视频A之间进行切换的时间点,或者为码流为720p的视频A与 视频B之间进行切换的时间点。其中,视频B的码流可以为任意码流,在此对视频B的码流 不作限制。
[0071] 优选地,根据所述当前视频的下一个视频的不同情况,所述步骤200可以分为以 下两种情况执行:
[0072] ( -)所述当前视频的下一个视频为所述当前视频的不同码流的视频。
[0073] 在当前视频的播放过程中,可以根据y = mXpow((m - e)/m,2),e < m,或者y = m,e > m,预测所述切换的时间点。
[0074] 其中,y可以为所述切换的时间点,m = (xXb/v),x可以为所述不同码流的视频 预缓存的时间,b可以为所述不同码流的带宽,v可以为播放下载的速度,m可以为按照所述 播放下载的速度v,在所述不同码流的带宽为b时,预缓存X时间的不同码流的视频需要的 时间,e可以为所述当前视频已缓存的时间,pow((m - e)/m,2)为2的(m - e)/m次方。
[0075] 例如,X = 10s,b = 1024kbit/s,v = 512kbit/s,则 m = (10 X 1024/512) = 20s, 若 e = 10s,e<m,则 y = 20 Xpow ((20 - 10) /20, 2)?14s ;若 e = 30s,e > m,则 y = m =20s。
[0076] (二)所述当前视频的下一个视频为与所述当前视频不同的视频。
[0077] 在当前视频的播放过程中,预测所述切换的时间点为所述当前视频的最后η秒,η >0。
[0078] 例如,当前视频A的总时长为5400s,所述切换的时间点可以为当前视频A的最后 l〇s,此时 η = 10。
[0079] 步骤202,创建所述后台播放器,获取所述当前视频的下一个视频的播放数据,并 通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲染。
[0080] 优选地,所述步骤202中,创建所述后台播放器的过程可以包括下列步骤:
[0081] 步骤2021,创建后台渲染窗口和后台视频流播放器。
[0082] 所述步骤2021可以分为两个步骤执行,一个步骤为创建后台渲染窗口,另一个步 骤为创建后台视频流播放器。
[0083] 步骤2022,将所述后台渲染窗口和所述后台视频流播放器进行关联,得到所述后 台播放器。
[0084] 上述前台播放器也是由前台渲染窗口和前台视频流播放器进行关联得到。
[0085] 优选地,所述步骤202中,获取所述当前视频的下一个视频的播放数据的过程可 以为:
[0086] 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,根据所述切 换的时间点和所述不同码流,从服务器端获取所述当前视频的下一个视频的播放数据。 [0087] 此时,所述当前视频的下一个视频的播放数据为,以所述当前视频已播放的时间 与所述切换的时间点之和,为开始时间的视频数据。
[0088] 例如,当前视频Α的码流为720ρ,当前视频已经播放500s,当前视频的下一个视频 为码流为1080p的视频A,切换的时间点为50s,则可以从服务器端获取开始时间在500+50 =550s的,码流为1080p的视频A的播放数据。
[0089] 优选地,所述步骤202中,通过所述后台播放器对所述当前视频的下一个视频的 播放数据进行初始化渲染的过程可以为:
[0090] 通过所述后台播放器对所述当前视频的下一个视频的播放数据的第一帧画面进 行渲染后,暂停渲染操作。
[0091] 步骤204,当所述当前视频播放到指定时间点时,终止显示所述前台播放器的播放 界面,显示所述后台播放器的播放界面。
[0092] 其中,所述指定时间点为所述切换的时间点,或者为所述当前视频的结束时间点。
[0093] 根据所述指定时间点的不同情况,所述步骤204可以分为以下两种情况:
[0094] (三)所述当前视频的下一个视频为所述当前视频的不同码流的视频。
[0095] 所述步骤204中可以隐含包含一个过程:实时检测所述当前视频是否播放到所述 切换的时间点。当所述当前视频播放到所述切换的时间点时,终止显示所述前台播放器的 播放界面,显示所述后台播放器的播放界面。
[0096] 例如,当前视频为码流为720p的视频A,当当前视频的下一个视频为码流为1080p 的视频A时,指定时间点可以为切换的时间点TM,切换的时间点T1可以为视频A在播放过 程中的某个时间点,当所述当前视频A播放到T1时,终止显示所述前台播放器的播放界面, 显示所述后台播放器的播放界面。
[0097] (四)所述当前视频的下一个视频为与所述当前视频不同的视频。
[0098] 当所述当前视频播放到所述当前视频的结束时间点时,终止显示所述前台播放器 的播放界面,显示所述后台播放器的播放界面。
[0099] 例如,当前视频为码流为720p的视频A,当当前视频的下一个视频为视频B时,指 定时间点可以为视频A播放结束的时间点TE,时间点TE可以为整个视频A播放结束的时间 点,当所述当前视频A播放到时间点TE,即视频A播放结束时,终止显示所述前台播放器的 播放界面,显示所述后台播放器的播放界面。
[0100] 综上所述,本实施例在当前视频播放的过程中,预测前台播放器播放的当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视 频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行 初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台 播放器的播放界面。在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当 前数据,在切换的时间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据, 当切换的时间点到达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示 前台播放器播放的当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频 的下一个视频相对应的关键巾贞,当如视频的关键巾贞与对应的当如视频的下一个视频的关键 帧是一致的,实现了无缝观影的用户体验。
[0101] 实施例三
[0102] 详细介绍本发明实施例提供的一种视频切换装置。
[0103] 参照图3,示出了本发明实施例中一种视频切换装置结构图。
[0104] 所述装置可以包括:时间预测模块300,后台渲染模块302,播放控制模块304。
[0105] 下面分别详细介绍各模块的功能以及各模块之间的关系。
[0106] 时间预测模块300,用于在当前视频的播放过程中,预测前台播放器播放的所述当 前视频和待播放的当前视频的下一个视频之间进行切换的时间点。
[0107] 所述前台播放器可以用于播放所述当前视频,所述当前视频的下一个视频可以由 待创建的后台播放器播放。
[0108] 所述当前视频的下一个视频可以为所述当前视频的不同码流的视频,或者可以为 与所述当前视频不同的视频。
[0109] 后台渲染模块302,用于创建所述后台播放器,获取所述当前视频的下一个视频的 播放数据,并通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲 染。
[0110] 播放控制模块304,用于当所述当前视频播放到指定时间点时,终止显示所述前台 播放器的播放界面,显示所述后台播放器的播放界面。
[0111] 所述指定时间点可以为所述切换的时间点,或者可以为所述当前视频的结束时间 点。
[0112] 综上所述,本实施例在当前视频播放的过程中,预测前台播放器播放的当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视 频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行 初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台 播放器的播放界面。在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当 前数据,在切换的时间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据, 当切换的时间点到达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示 前台播放器播放的当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频 的下一个视频相对应的关键巾贞,当如视频的关键巾贞与对应的当如视频的下一个视频的关键 帧是一致的,实现了无缝观影的用户体验。
[0113] 实施例四
[0114] 详细介绍本发明实施例提供的一种视频切换装置。
[0115] 参照图4,示出了本发明实施例中一种视频切换装置结构图。
[0116] 所述装置可以包括:时间预测模块400,后台渲染模块402,播放控制模块404。
[0117] 其中,所述时间预测模块400,可以包括:第一时间预测模块4001,第二时间预测 模块4002。
[0118] 所述后台渲染模块402,可以包括:渲染窗口管理模块4021,数据流播放器模块 4022,关联模块4023。
[0119] 下面分别详细介绍各模块的功能以及各模块之间的关系。
[0120] 时间预测模块400,用于在当前视频的播放过程中,预测前台播放器播放的所述当 前视频和待播放的当前视频的下一个视频之间进行切换的时间点。
[0121] 所述前台播放器可以用于播放所述当前视频,所述当前视频的下一个视频可以由 待创建的后台播放器播放。
[0122] 所述当前视频的下一个视频可以为所述当前视频的不同码流的视频,或者可以为 与所述当前视频不同的视频。
[0123] 优选地,所述时间预测模块400,可以包括:
[0124] 第一时间预测模块4001,用于当所述当前视频的下一个视频为所述当前视频的不 同码流的视频时,在当前视频的播放过程中,可以根据y = mXpow((m - e)/m,2),e < m, 或者y = m,e > m,预测所述切换的时间点。
[0125] 其中,y为所述切换的时间点,m = (xXb/v), x为所述不同码流的视频预缓存的 时间,b为所述不同码流的带宽,v为播放下载的速度,m为按照所述播放下载的速度V,在 所述不同码流的带宽为b时,预缓存X时间的不同码流的视频需要的时间,e为所述当前视 频已缓存的时间,p〇w((m - e)/m,2)为2的(m - e)/m次方。
[0126] 第二时间预测模块4002,用于当所述当前视频的下一个视频为与所述当前视频不 同的视频时,在当前视频的播放过程中,预测所述切换的时间点为所述当前视频的最后η 秒,η > 0。
[0127] 后台渲染模块402,用于创建所述后台播放器,获取所述当前视频的下一个视频的 播放数据,并通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲 染。
[0128] 优选地,所述后台渲染模块402,可以包括:
[0129] 渲染窗口管理模块4021,用于创建后台渲染窗口。
[0130] 数据流播放器模块4022,用于创建后台视频流播放器。
[0131] 关联模块4023,用于将所述后台渲染窗口和所述后台视频流播放器进行关联,得 到所述后台播放器。
[0132] 优选地,所述后台渲染模块402在获取所述当前视频的下一个视频的播放数据 时,若所述当前视频的下一个视频为所述当前视频的不同码流的视频,则根据所述切换的 时间点和所述不同码流,从服务器端获取所述当前视频的下一个视频的播放数据;所述当 前视频的下一个视频的播放数据为,以所述当前视频已播放的时间与所述切换的时间点之 和,为开始时间的视频数据。
[0133] 优选地,所述后台渲染模块402在通过所述后台播放器对所述当前视频的下一个 视频的播放数据进行初始化渲染时,通过所述后台播放器对所述当前视频的下一个视频的 播放数据的第一帧画面进行渲染后,暂停渲染操作。
[0134] 播放控制模块404,用于当所述当前视频播放到指定时间点时,终止显示所述前台 播放器的播放界面,显示所述后台播放器的播放界面。
[0135] 所述指定时间点可以为所述切换的时间点,或者可以为所述当前视频的结束时间 点。
[0136] 优选地,当所述指定时间点可以为所述切换的时间点时,所述播放控制模块404 还可以用于实时检测所述当前视频是否播放到所述切换的时间点。
[0137] 优选地,所述播放控制模块404在所述当前视频的下一个视频为所述当前视频的 不同码流的视频时,当所述当前视频播放到所述切换的时间点时,终止显示所述前台播放 器的播放界面,显示所述后台播放器的播放界面;在所述当前视频的下一个视频为与所述 当前视频不同的视频时,当所述当前视频播放到所述当前视频的结束时间点时,终止显示 所述前台播放器的播放界面,显示所述后台播放器的播放界面。
[0138] 综上所述,本实施例在当前视频播放的过程中,预测前台播放器播放的当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视 频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行 初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台 播放器的播放界面。在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当 前数据,在切换的时间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据, 当切换的时间点到达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示 前台播放器播放的当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频 的下一个视频相对应的关键巾贞,当如视频的关键巾贞与对应的当如视频的下一个视频的关键 帧是一致的,实现了无缝观影的用户体验。
[0139] 实施例五
[0140] 详细介绍本发明实施例提供的一种视频切换装置。
[0141] 参照图5,示出了本发明实施例中一种视频切换装置结构图。
[0142] 所述装置可以包括:播放控制器模块500,渲染窗口管理器模块502,数据流播放 器模块504。
[0143] 下面分别详细介绍各模块的功能以及各模块之间的关系。
[0144] 播放控制器模块500,用于预测切换的时间点和监测播放时间点,并切换前后台数 据流。
[0145] 渲染窗口管理器模块502,用于管理渲染窗口并将渲染窗口与数据流播放器一同 管理。
[0146] 数据流播放器模块504,用于获取码流数据并将视频图像渲染到已知的渲染窗口 上。
[0147] 当视频发生切换时,播放控制器模块500根据目前播放的视频的时间点预测一个 前后台播放器切换的时间点(也就是新码流开始播放的时间点)并向渲染窗口管理器模块 502发送指令创建新的后台渲染窗口。
[0148] 其中,新码流可以指用户在播放界面上点击的新的清晰度(播放界面提供给用户 选择高清、超清、标清、1080p的选择。一个清晰度对应一个码流),它的作用就是让数据流 播放器根据这个标识去服务器取对应的码流数据。
[0149] 渲染窗口管理器模块502创建后台渲染窗口并通知数据流播放器模块504创建新 的数据流播放器。
[0150] 数据流播放器模块504根据预测的切换的时间点从该时间点重新获取新数据并 初始化后台数据流播放器。
[0151] 当预测的切换的时间点到达时,播放控制器模块500显示后台渲染窗口、开启后 台数据流播放器并停止播放渲染前台渲染窗口。
[0152] 需要说明的是,播放器=渲染窗口 +数据流播放器,前台播放器就是显示给用户 看的渲染窗口 +对应的数据流播放器,后台播放器就是切换码流时隐藏的渲染窗口 +对应 的数据流播放器。
[0153] 根据视频切换的不同,所述装置中的各模块可以执行下列功能。
[0154] 1、当切换为当前视频的新码流的视频时。
[0155] 播放控制器模块500接收到用户选择的新的码流标识(也就是新的清晰度)时, 预测出新码流的视频开始播放的时间点。
[0156] 渲染窗口管理器模块502创建一个渲染窗口。
[0157] 数据流播放器模块504创建一个数据流播放器,并将渲染窗口和数据流播放器关 联得到后台播放器。
[0158] 其中,后台播放器可以根据开始播放的时间点和清晰度从服务器取该时间点开始 的该清晰度对应的码流播放数据,取下数据并渲染完第一帧画面后,暂停渲染,等待播放控 制器模块500将正在播放的前台播放器停止并切换到播放用户选择的新码流的后台播放 器进行播放。
[0159] 整个后台播放器的操作都是异步执行的,所以播放控制器模块500会每秒检测一 次前台播放器的时间点,时间点到了预测的切换时间点就将前台播放器销毁,将后台播放 器显示。由于后台播放器已渲染出画面并缓冲了数据,这样就达到了平滑切换的目标。
[0160] 2、当切换为与当前视频不同的视频时。
[0161] 各模块执行的流程与上述1中一样,只是预测的切换的时间点为当前视频的最后 10s,也可以为其他时间,可以根据实际情况设定。也就是当前视频播放到还剩下10s时, 开始建立后台播放器播放下一个视频的码流数据,当前视频播放到结尾就切换为下一个视 频。
[0162] 本发明实施例中的各模块执行的过程可以分为两个过程,分别为后台数据流初始 化操作流程和切换操作流程。
[0163] 参照图6,示出了本发明实施例中一种视频切换装置中的各模块执行后台数据初 始化操作的流程图。
[0164] 步骤30,播放控制器模块500预测切换的时间点。
[0165] 播放控制器模块500还可以通知渲染窗口管理器模块502创建后台渲染窗口。
[0166] 步骤32,渲染窗口管理器模块502创建后台渲染窗口。
[0167] 渲染窗口管理器模块502还可以通知视频流播放器模块504创建后台数据流播放 器。
[0168] 步骤34,视频流播放器模块504创建后台数据流播放器并开始缓冲待播放的数 据。
[0169] 步骤36,视频流播放器模块504渲染待播放的数据并等待将后台数据流切换为前 台数据流。
[0170] 参照图7,示出了本发明实施例中一种视频切换装置中的播放控制器模块500执 行切换操作的流程图。
[0171] 步骤40,播放控制器模块500实时检测当前视频是否播放到预测的切换的时间 点。若未到切换的时间点,执行步骤42 ;若到达切换的时间点,执行步骤44。
[0172] 步骤42,播放控制器模块500控制前台播放器继续播放当前视频。
[0173] 步骤44,播放控制器模块500控制前台播放器停止播放当前视频。
[0174] 步骤46,播放控制器模块500将后台播放器切换到前台进行显示。
[0175] 步骤48,播放控制器模块500控制后台播放器播放视频。
[0176] 综上所述,本实施例在当前视频播放的过程中,预测前台播放器播放的当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点,创建后台播放器,获取当前视 频的下一个视频的播放数据,并通过后台播放器对当前视频的下一个视频的播放数据进行 初始化渲染;当当前视频播放到指定时间点时,终止显示前台播放器的播放界面,显示后台 播放器的播放界面。在当前视频播放的过程中,预测切换的时间点,前台播放器继续播放当 前数据,在切换的时间点到达之前,获取并初始化渲染当前视频的下一个视频的播放数据, 当切换的时间点到达时,显示后台播放器播放的当前视频的下一个视频的画面,终止显示 前台播放器播放的当前视频的画面。由于根据切换的时间点可以确定当前视频和当前视频 的下一个视频相对应的关键巾贞,当如视频的关键巾贞与对应的当如视频的下一个视频的关键 帧是一致的,实现了无缝观影的用户体验。
[0177] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0178] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0179] 以上对本发明实施例所提供的一种视频切换方法和装置,进行了详细介绍,本文 中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮 助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思 想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本发明的限制。
【权利要求】
1. 一种视频切换方法,其特征在于,包括: 在当前视频的播放过程中,预测前台播放器播放的所述当前视频和待播放的当前视频 的下一个视频之间进行切换的时间点;所述前台播放器用于播放所述当前视频,所述当前 视频的下一个视频由待创建的后台播放器播放;所述当前视频的下一个视频为所述当前视 频的不同码流的视频,或者为与所述当前视频不同的视频; 创建所述后台播放器,获取所述当前视频的下一个视频的播放数据,并通过所述后台 播放器对所述当前视频的下一个视频的播放数据进行初始化渲染; 当所述当前视频播放到指定时间点时,终止显示所述前台播放器的播放界面,显示所 述后台播放器的播放界面;所述指定时间点为所述切换的时间点,或者为所述当前视频的 结束时间点。
2. 根据权利要求1所述的方法,其特征在于,所述在当前视频的播放过程中,预测前台 播放器播放的所述当前视频和待播放的当前视频的下一个视频之间进行切换的时间点,包 括: 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,在当前视频的播 放过程中,根据y = mXpow((m - e)/m,2),e < m,或者y = m,e彡m,预测所述切换的时间 占. 其中,y为所述切换的时间点,m = (xXb/v),X为所述不同码流的视频预缓存的时间, b为所述不同码流的带宽,v为播放下载的速度,m为按照所述播放下载的速度V,在所述不 同码流的带宽为b时,预缓存X时间的不同码流的视频需要的时间,e为所述当前视频已缓 存的时间,P〇w((m - e)/m,2)为2的(m - e)/m次方; 当所述当前视频的下一个视频为与所述当前视频不同的视频时,在当前视频的播放过 程中,预测所述切换的时间点为所述当前视频的最后η秒,η > 0。
3. 根据权利要求1所述的方法,其特征在于,所述创建所述后台播放器,包括: 创建后台渲染窗口和后台视频流播放器; 将所述后台渲染窗口和所述后台视频流播放器进行关联,得到所述后台播放器。
4. 根据权利要求1所述的方法,其特征在于,所述获取所述当前视频的下一个视频的 播放数据,包括: 当所述当前视频的下一个视频为所述当前视频的不同码流的视频时,根据所述切换的 时间点和所述不同码流,从服务器端获取所述当前视频的下一个视频的播放数据;所述当 前视频的下一个视频的播放数据为,以所述当前视频已播放的时间与所述切换的时间点之 和,为开始时间的视频数据。
5. 根据权利要求1所述的方法,其特征在于,所述通过所述后台播放器对所述当前视 频的下一个视频的播放数据进行初始化渲染,包括: 通过所述后台播放器对所述当前视频的下一个视频的播放数据的第一帧画面进行渲 染后,暂停渲染操作。
6. 根据权利要求1所述的方法,其特征在于,所述当所述当前视频播放到指定时间点 时,终止显示所述前台播放器的播放界面,显示所述后台播放器的播放界面,包括 : 若所述当前视频的下一个视频为所述当前视频的不同码流的视频,则当所述当前视频 播放到所述切换的时间点时,终止显示所述前台播放器的播放界面,显示所述后台播放器 的播放界面; 若所述当前视频的下一个视频为与所述当前视频不同的视频,则当所述当前视频播放 到所述当前视频的结束时间点时,终止显示所述前台播放器的播放界面,显示所述后台播 放器的播放界面。
7. -种视频切换装置,其特征在于,包括: 时间预测模块,用于在当前视频的播放过程中,预测前台播放器播放的所述当前视频 和待播放的当前视频的下一个视频之间进行切换的时间点;所述前台播放器用于播放所述 当前视频,所述当前视频的下一个视频由待创建的后台播放器播放;所述当前视频的下一 个视频为所述当前视频的不同码流的视频,或者为与所述当前视频不同的视频; 后台渲染模块,用于创建所述后台播放器,获取所述当前视频的下一个视频的播放数 据,并通过所述后台播放器对所述当前视频的下一个视频的播放数据进行初始化渲染; 播放控制模块,用于当所述当前视频播放到指定时间点时,终止显示所述前台播放器 的播放界面,显示所述后台播放器的播放界面;所述指定时间点为所述切换的时间点,或者 为所述当前视频的结束时间点。
8. 根据权利要求7所述的装置,其特征在于,所述时间预测模块,包括: 第一时间预测模块,用于当所述当前视频的下一个视频为所述当前视频的不同码流的 视频时,在当前视频的播放过程中,根据y = mXpow((m - e)/m,2),e < m,或者y = m, e > m,预测所述切换的时间点; 其中,y为所述切换的时间点,m = (xXb/v),x为所述不同码流的视频预缓存的时间, b为所述不同码流的带宽,v为播放下载的速度,m为按照所述播放下载的速度V,在所述不 同码流的带宽为b时,预缓存X时间的不同码流的视频需要的时间,e为所述当前视频已缓 存的时间,P〇w((m - e)/m,2)为2的(m - e)/m次方; 第二时间预测模块,用于当所述当前视频的下一个视频为与所述当前视频不同的视频 时,在当前视频的播放过程中,预测所述切换的时间点为所述当前视频的最后η秒,η > 0。
9. 根据权利要求7所述的装置,其特征在于,所述后台渲染模块在创建所述后台播放 器时,包括: 渲染窗口管理模块,用于创建后台渲染窗口; 数据流播放器模块,用于创建后台视频流播放器; 关联模块,用于将所述后台渲染窗口和所述后台视频流播放器进行关联,得到所述后 台播放器。
10. 根据权利要求7所述的装置,其特征在于,所述后台渲染模块在获取所述当前视频 的下一个视频的播放数据时,若所述当前视频的下一个视频为所述当前视频的不同码流的 视频,则根据所述切换的时间点和所述不同码流,从服务器端获取所述当前视频的下一个 视频的播放数据;所述当前视频的下一个视频的播放数据为,以所述当前视频已播放的时 间与所述切换的时间点之和,为开始时间的视频数据。
11. 根据权利要求7所述的装置,其特征在于,所述后台渲染模块在通过所述后台播放 器对所述当前视频的下一个视频的播放数据进行初始化渲染时,通过所述后台播放器对所 述当前视频的下一个视频的播放数据的第一帧画面进行渲染后,暂停渲染操作。
12. 根据权利要求7所述的装置,其特征在于,所述播放控制模块在所述当前视频的下 一个视频为所述当前视频的不同码流的视频时,当所述当前视频播放到所述切换的时间点 时,终止显示所述前台播放器的播放界面,显示所述后台播放器的播放界面;在所述当前视 频的下一个视频为与所述当前视频不同的视频时,当所述当前视频播放到所述当前视频的 结束时间点时,终止显示所述前台播放器的播放界面,显示所述后台播放器的播放界面。
【文档编号】H04N21/44GK104219579SQ201410413259
【公开日】2014年12月17日 申请日期:2014年8月20日 优先权日:2014年8月20日
【发明者】龙勇 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1