精准控制视频输出播放的方法技术

技术编号:32008293 阅读:18 留言:0更新日期:2022-01-22 18:25
本发明专利技术公开了一种精准控制视频输出播放的方法,包括:进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时,计算得到每渲染一帧视频所需的时间;设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列,以及以解码顺序为准该帧在序列中所处的序号i;记录当前时刻T

【技术实现步骤摘要】
精准控制视频输出播放的方法


[0001]本专利技术属于流媒体播放
,具体涉及一种精准控制视频输出播放的方法。

技术介绍

[0002]随着互联网科技和媒体行业的快速发展,视频播放已经成为人们工作和生活中不可或缺的一部分,在各行各业中都有广泛应用,有诸如点播、直播、时移等各种业务形态。根据业务的不同,对播放终端又有各种特别的要求。
[0003]在某些特定的应用场景下,比如对要求多个设备间的画面高度同步的情况下,由于视频播放涉及到一系列的处理流程,各个处理流程环节,不同厂家的实现的耗时相差很大,同一厂家在不同硬件上的实现耗时相差也很大,因此目前的播放器技术在普通的终端上很难达到要求。

技术实现思路

[0004]本专利技术要解决的技术问题是提供一种精准控制视频输出播放的方法,用于实现视频流的精准定位播放。
[0005]为解决上述技术问题,本专利技术采用如下的技术方案:
[0006]一种精准控制视频输出播放的方法,包括以下步骤:
[0007]S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时;
[0008]S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;
[0009]S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;
[0010]S40,记录当前时刻T
current
,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间T
estimate
;将T
estimate
与视频指定播放时间T
b
进行比较:若T
estimate
小于等于T
b
,则按时播出F
i
;若T
estimate
大于T
b
,则无法按时播放出F
i
,定位播放失败,此时应调整目标T
b
/P
t
再重复步骤S30

S40;
[0011]S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为T
decodecompleted

[0012]S60,播放控制,在播放环节中加入延时D
delta
,D
delta
=T
b

T
decodecompleted

R。
[0013]优选地,S10中,平均解码耗时为C,解码的总耗时为C
×
(M+i),M为连续输入M帧数据后第一次输出第一帧的解码结果的帧序列号,M≥1。
[0014]优选地,预估时间T
estimate
=T
current
+C
×
(M+i)+R。
[0015]优选地,进行视频解码测试前进一步包括查询视频文件元数据步骤。
[0016]优选地,设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置步骤。
[0017]优选地,将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
[0018]采用本专利技术具有如下的有益效果:
[0019](1)可以精准的控制终端在指定时间渲染出媒体流的指定视频帧;
[0020](2)配合设备间时钟同步机制,即可实现终端间的视频画面精准同步;
[0021](3)可用于音视频播放与其它互动元素(包括但不限于字幕、广告等)的同步播出技术。
附图说明
[0022]图1为本专利技术实施例的精准控制视频输出播放的方法的步骤流程图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]实施例1
[0025]参照图1,所示为本专利技术实施例的精准控制视频输出播放的方法的步骤流程图,包括以下步骤:
[0026]S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时C,对于视频帧序列中的第i帧,得到解码的总耗时为C
×
(M+i),M为连续输入M帧数据后第一次输出第一帧的解码结果的帧序列号,M≥1。i的取值范围与目标视频流编码时的参数num of GOP(Group of Pictures)有关,为[0,num of GOP]的整数区间。因为部分解码器实现存在缓存机制,就是从初始化之后,需要连续输入M帧数据后才会输出第一帧的解码结果,M的值也可以通过测试得到。适当配置解码器参数可以尽可能的降低M的数值。
[0027]S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;
[0028]S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;
[0029]S40,记录当前时刻T
current
,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间T
estimate
=T
current
+C
×
(M+i)+R;将T
estimate
与视频指定播放时间T
b
进行比较:若T
estimate
小于等于T
b
,则按时播出F
i
;若T
estimate
大于T
b
,则无法按时播放出F
i
,定位播放失败,此时应调整目标T
b
/P
t
再重复步骤S30

S40;
[0030]S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为T
decodecompleted

[0031]S60,播放控制,在播放环节中加入延时D
delta
,D
delta
=T
b

T
decodecompleted

R。
[0032]通过以上步骤,实现视频流的精准定位播放。
[0033]实施例2
[0034]在实施例1的基础上,本专利技术实施例的精准控制视频输出播放的方法进行视频解码测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种精准控制视频输出播放的方法,其特征在于,包括以下步骤:S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时;S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;S40,记录当前时刻T
current
,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间T
estimate
;将T
estimate
与视频指定播放时间T
b
进行比较:若T
estimate
小于等于T
b
,则按时播出F
i
;若T
estimate
大于T
b
,则无法按时播放出F
i
,定位播放失败,此时应调整目标T
b
/P
t
再重复步骤S30

S40;S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记...

【专利技术属性】
技术研发人员:裘昊文志平沈德欢陈勇
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1