CN113965786B - 精准控制视频输出播放的方法 - Google Patents
精准控制视频输出播放的方法 Download PDFInfo
- Publication number
- CN113965786B CN113965786B CN202111157211.2A CN202111157211A CN113965786B CN 113965786 B CN113965786 B CN 113965786B CN 202111157211 A CN202111157211 A CN 202111157211A CN 113965786 B CN113965786 B CN 113965786B
- Authority
- CN
- China
- Prior art keywords
- video
- time
- frame
- playing
- sequence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000009877 rendering Methods 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/47217—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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种精准控制视频输出播放的方法,包括:进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时,计算得到每渲染一帧视频所需的时间;设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列,以及以解码顺序为准该帧在序列中所处的序号i;记录当前时刻Tcurrent,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间Testimate;将Testimate与视频指定播放时间Tb进行比较:若Testimate小于等于Tb,则按时播出Fi;若Testimate大于Tb,则无法按时播放出Fi,定位播放失败,此时应调整目标Tb/Pt再重复本步骤;将视频序列从第一帧开始按顺序解码,直到第i帧完成解码;播放控制,在播放环节中加入延时Ddelta。
Description
技术领域
本发明属于流媒体播放技术领域,具体涉及一种精准控制视频输出播放的方法。
背景技术
随着互联网科技和媒体行业的快速发展,视频播放已经成为人们工作和生活中不可或缺的一部分,在各行各业中都有广泛应用,有诸如点播、直播、时移等各种业务形态。根据业务的不同,对播放终端又有各种特别的要求。
在某些特定的应用场景下,比如对要求多个设备间的画面高度同步的情况下,由于视频播放涉及到一系列的处理流程,各个处理流程环节,不同厂家的实现的耗时相差很大,同一厂家在不同硬件上的实现耗时相差也很大,因此目前的播放器技术在普通的终端上很难达到要求。
发明内容
本发明要解决的技术问题是提供一种精准控制视频输出播放的方法,用于实现视频流的精准定位播放。
为解决上述技术问题,本发明采用如下的技术方案:
一种精准控制视频输出播放的方法,包括以下步骤:
S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时;
S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;
S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;
S40,记录当前时刻Tcurrent,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间Testimate;将Testimate与视频指定播放时间Tb进行比较:若Testimate小于等于Tb,则按时播出Fi;若Testimate大于Tb,则无法按时播放出Fi,定位播放失败,此时应调整目标Tb/Pt再重复步骤S30-S40;
S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为Tdecodecompleted;
S60,播放控制,在播放环节中加入延时Ddelta,Ddelta=Tb-Tdecodecompleted-R。
优选地,S10中,平均解码耗时为C,解码的总耗时为C×(M+i),M为连续输入M帧数据后第一次输出第一帧的解码结果的帧序列号,M≥1。
优选地,预估时间Testimate=Tcurrent+C×(M+i)+R。
优选地,进行视频解码测试前进一步包括查询视频文件元数据步骤。
优选地,设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置步骤。
优选地,将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
采用本发明具有如下的有益效果:
(1)可以精准的控制终端在指定时间渲染出媒体流的指定视频帧;
(2)配合设备间时钟同步机制,即可实现终端间的视频画面精准同步;
(3)可用于音视频播放与其它互动元素(包括但不限于字幕、广告等)的同步播出技术。
附图说明
图1为本发明实施例的精准控制视频输出播放的方法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参照图1,所示为本发明实施例的精准控制视频输出播放的方法的步骤流程图,包括以下步骤:
S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时C,对于视频帧序列中的第i帧,得到解码的总耗时为C×(M+i),M为连续输入M帧数据后第一次输出第一帧的解码结果的帧序列号,M≥1。i的取值范围与目标视频流编码时的参数num of GOP(Group of Pictures)有关,为[0,num of GOP]的整数区间。因为部分解码器实现存在缓存机制,就是从初始化之后,需要连续输入M帧数据后才会输出第一帧的解码结果,M的值也可以通过测试得到。适当配置解码器参数可以尽可能的降低M的数值。
S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;
S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;
S40,记录当前时刻Tcurrent,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间Testimate=Tcurrent+C×(M+i)+R;将Testimate与视频指定播放时间Tb进行比较:若Testimate小于等于Tb,则按时播出Fi;若Testimate大于Tb,则无法按时播放出Fi,定位播放失败,此时应调整目标Tb/Pt再重复步骤S30-S40;
S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为Tdecodecompleted;
S60,播放控制,在播放环节中加入延时Ddelta,Ddelta=Tb-Tdecodecompleted-R。
通过以上步骤,实现视频流的精准定位播放。
实施例2
在实施例1的基础上,本发明实施例的精准控制视频输出播放的方法进行视频解码测试前进一步包括查询视频文件元数据步骤。元数据根据不同的封装格式和传输协议不同而不同,有可能为偏移索引、分段边界点等。
或者设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置的步骤。
或者将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
通过以上增加的步骤即可形成一个视频播放流水线,可以精准的控制终端在指定时间渲染出媒体流的指定视频帧。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
Claims (4)
1.一种精准控制视频输出播放的方法,其特征在于,包括以下步骤:
S10,进行视频解码测试,得到处理一帧视频所需的时间为平均解码耗时;
S20,进行视频渲染测试,渲染包括对解码后的视频裸数据进行处理算法以及最终的画屏过程,计算得到每渲染一帧视频所需的时间为R;
S30,设定本次播放目标,在Tb时刻播出指定视频流中时间戳为Pt的帧;在视频流中定位时间戳为Pt的帧所在序列F1,F2....Fn,以及以解码顺序为准该帧在序列中所处的序号i;
S40,记录当前时刻Tcurrent,对视频处理及图像渲染进行预估,第i帧渲染最终完成的预估时间Testimate;将Testimate与视频指定播放时间Tb进行比较:若Testimate小于等于Tb,则按时播出Fi;若Testimate大于Tb,则无法按时播放出Fi,定位播放失败,此时应调整目标Tb/Pt再重复步骤S30-S40;
S50,将视频序列从第一帧开始按顺序解码,直到第i帧完成解码,此时记为Tdecodecompleted;
S60,播放控制,在播放环节中加入延时Ddelta,Ddelta=Tb-Tdecodecompleted-R;
S10中,平均解码耗时为C,解码的总耗时为C×(M+i),M为连续输入M帧数据后第一次输出第一帧的解码结果的帧序列号,M≥1;
预估时间Testimate=Tcurrent+C×(M+i)+R。
2.如权利要求1所述的精准控制视频输出播放的方法,其特征在于,进行视频解码测试前进一步包括查询视频文件元数据步骤。
3.如权利要求1所述的精准控制视频输出播放的方法,其特征在于,设定本次播放定位目标前进一步包括查询时间戳在的视频帧序列在视频文件中的起始偏移位置步骤。
4.如权利要求1所述的精准控制视频输出播放的方法,其特征在于,将视频序列从第一帧开始按顺序解码前进一步包括定位到视频帧序列并读取足够解码出一帧的数据量步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111157211.2A CN113965786B (zh) | 2021-09-29 | 2021-09-29 | 精准控制视频输出播放的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111157211.2A CN113965786B (zh) | 2021-09-29 | 2021-09-29 | 精准控制视频输出播放的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965786A CN113965786A (zh) | 2022-01-21 |
CN113965786B true CN113965786B (zh) | 2024-03-26 |
Family
ID=79462746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111157211.2A Active CN113965786B (zh) | 2021-09-29 | 2021-09-29 | 精准控制视频输出播放的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965786B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117119223B (zh) * | 2023-10-23 | 2023-12-26 | 天津华来科技股份有限公司 | 基于多通道传输的视频流播放控制方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6262776B1 (en) * | 1996-12-13 | 2001-07-17 | Microsoft Corporation | System and method for maintaining synchronization between audio and video |
WO2006035438A1 (en) * | 2004-09-28 | 2006-04-06 | Dvtel Inc. | Media player and method for operating a media player |
CN103873952A (zh) * | 2012-12-18 | 2014-06-18 | 风网科技(北京)有限公司 | 一种高效的视频播放丢帧控制系统及其方法 |
CN104616243A (zh) * | 2015-01-20 | 2015-05-13 | 北京大学 | 一种高效的gpu三维视频融合绘制方法 |
CN105208463A (zh) * | 2015-08-31 | 2015-12-30 | 北京暴风科技股份有限公司 | 针对m3u8文件进行帧确定的方法和系统 |
CN106603543A (zh) * | 2016-12-22 | 2017-04-26 | 努比亚技术有限公司 | 校正流媒体音视频同步的方法及装置 |
CN106686445A (zh) * | 2015-11-05 | 2017-05-17 | 北京中广上洋科技股份有限公司 | 对多媒体文件进行按需跳转的方法 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN111436009A (zh) * | 2019-01-11 | 2020-07-21 | 厦门雅迅网络股份有限公司 | 一种实时视频流传送、显示方法以及传送和播放系统 |
CN111641858A (zh) * | 2020-04-29 | 2020-09-08 | 上海推乐信息技术服务有限公司 | 一种音视频同步方法及系统 |
CN112601127A (zh) * | 2020-11-30 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | 视频显示方法及装置、电子设备、计算机可读存储介质 |
CN112929755A (zh) * | 2021-01-21 | 2021-06-08 | 稿定(厦门)科技有限公司 | 进度拖动过程中的视频文件播放方法及装置 |
CN114286149A (zh) * | 2021-12-31 | 2022-04-05 | 广东博华超高清创新中心有限公司 | 一种跨设备和系统的音视频同步渲染的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110317770A1 (en) * | 2010-06-24 | 2011-12-29 | Worldplay (Barbados) Inc. | Decoder for multiple independent video stream decoding |
US20160357493A1 (en) * | 2013-10-30 | 2016-12-08 | Barco Control Rooms Gmbh | Synchronization of videos in a display wall |
CN112070867A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画文件处理方法、装置、计算机可读存储介质和计算机设备 |
-
2021
- 2021-09-29 CN CN202111157211.2A patent/CN113965786B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6262776B1 (en) * | 1996-12-13 | 2001-07-17 | Microsoft Corporation | System and method for maintaining synchronization between audio and video |
WO2006035438A1 (en) * | 2004-09-28 | 2006-04-06 | Dvtel Inc. | Media player and method for operating a media player |
CN103873952A (zh) * | 2012-12-18 | 2014-06-18 | 风网科技(北京)有限公司 | 一种高效的视频播放丢帧控制系统及其方法 |
CN104616243A (zh) * | 2015-01-20 | 2015-05-13 | 北京大学 | 一种高效的gpu三维视频融合绘制方法 |
CN105208463A (zh) * | 2015-08-31 | 2015-12-30 | 北京暴风科技股份有限公司 | 针对m3u8文件进行帧确定的方法和系统 |
CN106686445A (zh) * | 2015-11-05 | 2017-05-17 | 北京中广上洋科技股份有限公司 | 对多媒体文件进行按需跳转的方法 |
CN106603543A (zh) * | 2016-12-22 | 2017-04-26 | 努比亚技术有限公司 | 校正流媒体音视频同步的方法及装置 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN111436009A (zh) * | 2019-01-11 | 2020-07-21 | 厦门雅迅网络股份有限公司 | 一种实时视频流传送、显示方法以及传送和播放系统 |
CN111641858A (zh) * | 2020-04-29 | 2020-09-08 | 上海推乐信息技术服务有限公司 | 一种音视频同步方法及系统 |
CN112601127A (zh) * | 2020-11-30 | 2021-04-02 | Oppo(重庆)智能科技有限公司 | 视频显示方法及装置、电子设备、计算机可读存储介质 |
CN112929755A (zh) * | 2021-01-21 | 2021-06-08 | 稿定(厦门)科技有限公司 | 进度拖动过程中的视频文件播放方法及装置 |
CN114286149A (zh) * | 2021-12-31 | 2022-04-05 | 广东博华超高清创新中心有限公司 | 一种跨设备和系统的音视频同步渲染的方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于QNX的车载立体播放技术研究;李海涛;;电视技术(第23期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113965786A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657428B2 (en) | System and method for seamless switching of compressed audio streams | |
CN110996182B (zh) | 时间戳处理方法、装置、电子设备及计算机存储介质 | |
CN101364941B (zh) | 内容重放设备、方法和系统 | |
US20170309310A1 (en) | Method and device for compressed-domain video editing | |
WO2017067489A1 (zh) | 机顶盒音视频同步的方法及装置、存储介质 | |
CN101449587A (zh) | 用于视频的场景切换检测 | |
CN113965786B (zh) | 精准控制视频输出播放的方法 | |
CN112653904B (zh) | 一种基于pts与dts修改的快速视频裁剪方法 | |
US7269184B2 (en) | Data transmission method and apparatus and data receiving method and apparatus | |
CN112019880B (zh) | 一种任意帧率视频文件拼接方法 | |
CN101449584B (zh) | 视频处理 | |
CN114363648A (zh) | 直播系统混流过程中音视频对齐的方法、设备及存储介质 | |
US9484011B2 (en) | Echo modulation methods and system | |
JP4096915B2 (ja) | デジタル情報再生装置及び方法 | |
JP4821511B2 (ja) | 映像処理方法、映像処理プログラムおよび映像処理装置、ならびに、再生方法、再生プログラムおよび再生装置 | |
US8331459B2 (en) | Method and apparatus for smooth digital media playback | |
CN116233411A (zh) | 音视频同步测试的方法、装置、设备及计算机存储介质 | |
JP5696552B2 (ja) | 再生装置、再生方法およびプログラム | |
US7336831B2 (en) | Method and apparatus of recording compression encoding tables in a pseudo read-only memory | |
US8213778B2 (en) | Recording device, reproducing device, recording medium, recording method, and LSI | |
JP2008263402A (ja) | 再生制御方法および受信装置 | |
CN108377415A (zh) | 一种视频帧率的确定方法及装置 | |
CN114501095A (zh) | 一种基于录制终端的音视频同步录制方法 | |
US20230239534A1 (en) | Systems and methods for just in time transcoding of video on demand | |
JP2009218934A (ja) | 映像再生装置及び映像再生方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |