精准控制视频输出播放的方法与流程

文档序号:28598760发布日期:2022-01-22 10:53阅读:62来源:国知局
精准控制视频输出播放的方法与流程

1.本发明属于流媒体播放技术领域,具体涉及一种精准控制视频输出播放的方法。


背景技术:

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


技术实现要素:

4.本发明要解决的技术问题是提供一种精准控制视频输出播放的方法,用于实现视频流的精准定位播放。
5.为解决上述技术问题,本发明采用如下的技术方案:
6.一种精准控制视频输出播放的方法,包括以下步骤:
7.s10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时;
8.s20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为r;
9.s30,设定本次播放目标,在tb时刻播出指定视频流中时间戳为pt的帧;在视频流中定位时间戳为pt的帧所在序列f1,f2....fn,以及以解码顺序为准该帧在序列中所处的序号i;
10.s40,记录当前时刻t
current
,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间t
estimate
;将t
estimate
与视频指定播放时间tb进行比较:若t
estimate
小于等于tb,则按时播出fi;若t
estimate
大于tb,则无法按时播放出fi,定位播放失败,此时应调整目标tb/p
t
再重复步骤s30-s40;
11.s50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为t
decodecompleted

12.s60,播放控制,在播放环节中加入延时d
delta
,d
delta
=t
b-t
decodecompleted-r。
13.优选地,s10中,平均解码耗时为c,解码的总耗时为c
×
(m+i),m为连续输入m帧数据后第一次输出第一帧的解码结果的帧序列号,m≥1。
14.优选地,预估时间t
estimate
=t
current
+c
×
(m+i)+r。
15.优选地,进行视频解码测试前进一步包括查询视频文件元数据步骤。
16.优选地,设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置步骤。
17.优选地,将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
18.采用本发明具有如下的有益效果:
19.(1)可以精准的控制终端在指定时间渲染出媒体流的指定视频帧;
20.(2)配合设备间时钟同步机制,即可实现终端间的视频画面精准同步;
21.(3)可用于音视频播放与其它互动元素(包括但不限于字幕、广告等)的同步播出技术。
附图说明
22.图1为本发明实施例的精准控制视频输出播放的方法的步骤流程图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.实施例1
25.参照图1,所示为本发明实施例的精准控制视频输出播放的方法的步骤流程图,包括以下步骤:
26.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
与视频指定播放时间tb进行比较:若t
estimate
小于等于tb,则按时播出fi;若t
estimate
大于tb,则无法按时播放出fi,定位播放失败,此时应调整目标tb/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的基础上,本发明实施例的精准控制视频输出播放的方法进行视频解码测试前进一步包括查询视频文件元数据步骤。元数据根据不同的封装格式和传输协议不同而不同,有可能为偏移索引、分段边界点等。
[0035]
或者设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置的步骤。
[0036]
或者将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
[0037]
通过以上增加的步骤即可形成一个视频播放流水线,可以精准的控制终端在指定时间渲染出媒体流的指定视频帧。
[0038]
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1