CN103581711B - 快进快退播放视频数据的方法及装置 - Google Patents
快进快退播放视频数据的方法及装置 Download PDFInfo
- Publication number
- CN103581711B CN103581711B CN201310528709.4A CN201310528709A CN103581711B CN 103581711 B CN103581711 B CN 103581711B CN 201310528709 A CN201310528709 A CN 201310528709A CN 103581711 B CN103581711 B CN 103581711B
- Authority
- CN
- China
- Prior art keywords
- fast
- file
- file sheet
- low speed
- video data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及快进快退播放视频数据的方法及装置,该方法根据原始媒体文件生成一种低倍速文件,并且对该低倍速文件分片存储。当用户操作的倍速播放刚好是生成的倍速,则流媒体服务器根据播放请求的时间点找到对应的文件片和在该文件片中的偏移位置,然后从此偏移位置读取视频数据推送到客户端;当用户操作的倍速播放大于生成的低倍速时,则通过跳文件片的方式实现倍速播放。本发明具有更节约存储空间,读取数据效率更好,运营成本更低的优点。
Description
技术领域
本发明涉及视频播放技术。
背景技术
1.广电等行业的发展迫切需要多倍速实现的技术应用
随着广电和IPTV等业务的不断发展,用户量也不断地壮大,致使用户的需求也越来越多,其中倍速流控操作尤为突出。大部分用户在播放媒体影片的过程中都希望能够以不同的倍速进行快进快退操作。因此该行业的发展迫切需要以较低成本和高效率实现多倍速快进快退播放功能的技术应用。
2.低倍速实现多倍速技术应用满足了行业的需求
随着三网融合发展推动广电双向业务开展,广电进入互联网领域已经成为不争的目标趋势,视频硬件条件上的直接碰撞在所难免。无论从降低成本还是从视频质量的角度来看,多倍速技术应用在广电等行业势在必行。
3.传统多倍速播放实现的不足
传统的多倍速实现方式是根据原始媒体文件按照一定的规则生成对应的倍速文件(针对不同倍速生成不同的倍速文件)并保存在磁盘上。当用户进行倍速操作时,流媒体服务器根据用户指定的倍速读取相对应的倍速文件。该实现方式存在浪费存储空间,磁盘吞吐量大,运营成本高,效率较低等诸多不足。
发明内容
本发明的目的在于提出一种基于低倍速文件实现快进快退播放视频数据的方法,其能解决浪费存储空间、磁盘吞吐量大、运营成本高和效率低的问题。
为了达到上述目的,本发明所采用的技术方案如下:
基于低倍速文件实现快进快退播放视频数据的方法,其包括以下步骤:
步骤1、从原始媒体文件中获取按一种低倍速快进或快退播放时所需的视频数据;
步骤2、对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组;
步骤3、将相邻的画面组进行组合,得到多个文件片,每一个文件片的时长与预设的时长相等;
步骤4、根据所述多个文件片生成索引文件;
步骤5、接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速;
步骤6、根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长;
步骤7、当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速;
步骤8、重复执行步骤7,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
优选的,所述低倍速为2倍速或4倍速或8倍速。
优选的,所述文件片的时长为4s或2s。
本发明还提出一种基于低倍速文件实现快进快退播放视频数据的装置,其包括以下模块:
获取模块,用于从原始媒体文件中获取按一种低倍速快进或快退播放时所需的视频数据;
切片模块,用于对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组;
组合模块,用于将相邻的画面组进行组合,得到多个文件片,每一个文件片的时长与预设的时长相等;
索引模块,用于根据所述多个文件片生成索引文件;
接收模块,用于接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速;
起始模块,用于根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长;
播放模块,用于当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速;
结束模块,用于重复执行播放模块,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
优选的,所述低倍速为2倍速或4倍速或8倍速。
优选的,所述文件片的时长为4s或2s。
本发明具有如下有益效果:
相对于需要生成所有的倍速文件才能实现快进快退播放的方法,本发明只需生成一种倍速的倍速文件就可以实现多种不同倍速的快进快退播放,具有节约存储空间,读取数据效率好,运营成本低的优点。
附图说明
图1为本发明较佳实施例的基于低倍速文件实现快进快退播放视频数据的方法的流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述。
为了便于描述,对下文用到的术语进行解释:
GOP全称为Group of Pictures(即画面组,一组连续的画面);
1X:表示一倍速(正常播放);
4X:表示四倍速;
8X:表示八倍速;
16X:表示十六倍速;
32X:表示三十二倍速;
nX:表示n倍速;
每个文件片由一个或多个GOP组成。
如图1所示,一种基于低倍速文件实现快进快退播放视频数据的方法,其包括以下步骤:
步骤S1、从原始媒体文件中获取按一种低倍速(如4X)快进或快退播放时所需的视频数据。可通过媒资注入或录制的方式将原始媒体文件存储到磁盘上。获取所述视频数据的过程可以是:根据原始媒体文件的第一时间(默认为0秒开始),依据第一时间与进行快进或快退的底倍速(即4X),获取当前低倍速下的第二时间(0秒,4秒,8秒……以此类推),依据所述第二时间获取离第二时间最近的I帧数据序列。
步骤S2、对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组(即GOP)。
步骤S3、将相邻的画面组进行组合,即将相邻的GOP链接在一起,得到多个文件片,每一个文件片的时长与预设的时长(如4s)相等。此外,每个文件片默认大小可为1.8M,其中标清文件片时长为4s,高清文件片时长为2s。
步骤S4、根据所述多个文件片生成索引文件(索引文件的建立请参考NGODComcast索引标准)。文件片的名称方式可以是:第一个文件片为F0,第二个文件片为F1,以此类推F2,F3……Fn。
实际上,步骤S1至步骤S4是生成一种低倍速文件的过程。
步骤S5、接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速。
步骤S6、根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长。
步骤S7、当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速。也就是说,当当前播放的文件片结束播放后,需要跳过(n2/n1)-1个文件片,才继续读取视频数据。
步骤S8、重复执行步骤S7,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
下面以实际的案例进行说明:
假设用户操作请求4X播放(刚好是系统设置的低倍速),视频播放时间点是第100s,流媒体服务器根据请求的视频播放时间点,实际生产的低倍速和每个文件片的时长找到对应的文件片和相对于该文件片的文件偏移位置(100/4/4,得出的结果6表示F6文件片,余数1表示从F6文件片的第1s开始播放,然后再根据该视频播放时间点和低倍速从索引文件中得出对应的文件片偏移位置(即文件片播放的起始位置,单位:字节),最后流媒体服务器再从该文件片偏移位置开始读取流数据,当该文件片结束的时候再跳4/4-1=0个文件片(即依次按4X的视频数据)继续读取流数据推送到客户端。
假设用户操作请求8X播放,视频播放时间点是第100s,流媒体服务器根据请求的视频播放时间点,实际生产的低倍速和每个文件片的时长找到对应的文件片和相对于该文件片的文件偏移位置(100/4/4,得出的结果6表示F6文件片,余数1表示从F6文件片的第1s开始播放,然后再根据该视频播放时间点和低倍速从索引文件中得出对应的文件片偏移位置,最后流媒体服务器再从该文件片偏移位置开始读取流数据,当该文件片结束的时候再跳8/4-1=1个文件片继续读取流数据推送到客户端。
假设用户操作请求16X播放,播放时间点是第100s,流媒体服务器根据请求的视频播放时间点,实际生产的低倍速和每个文件片的时长找到对应的文件片和相对于该文件片的文件偏移位置(100/4/4,得出的结果6表示F6文件片,余数1表示从F6文件片的第1s开始播放,然后再根据该视频播放时间点和低倍速从索引文件中得出对应的文件片偏移位置,最后流媒体服务器再从该文件片偏移位置开始读取流数据,当该文件片结束的时候再跳16/4-1=3个文件片继续读取流数据推送到客户端。
假设用户操作请求32X播放,播放时间点是第100s,流媒体服务器根据请求的视频播放时间点,实际生产的低倍速和每个文件片的时长找到对应的文件片和相对于该文件片的文件偏移位置(100/4/4,得出的结果6表示F6文件片,余数1表示从F6文件片的第1s开始播放,然后再根据该视频播放时间点和低倍速从索引文件中得出对应的文件片偏移位置,最后流媒体服务器再从该文件片偏移位置开始读取流数据,当该文件片结束的时候再跳32/4-1=7个文件片继续读取流数据推送到客户端。
因此当用户操作请求播放的倍速大于或等于实际生成的低倍速时,流媒体服务器根据请求的视频播放时间点,实际生成的低倍速和每个文件片的时长找到对应的文件片和相对于该文件片的文件偏移位置(用户请求的视频播放时间点/实际生成的低倍速/文件片的时长),得出的整数商表示第几个文件片,余数表示相对于该文件片的起始播放时间点,然后再根据该起始播放时间点和低倍速从索引文件中得出对应的文件偏移位置,最后流媒体服务器再从该文件偏移位置开始读取流数据,当该文件片结束的时候再跳n个文件片(n=用户实际请求的倍速/实际生成的低倍速 - 1)继续读取流数据推送到客户端。
本发明还提出一种基于低倍速文件实现快进快退播放视频数据的装置,其包括以下模块:
获取模块,用于从原始媒体文件中获取按一种低倍速快进或快退播放时所需的视频数据;
切片模块,用于对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组;
组合模块,用于将相邻的画面组进行组合,得到多个文件片,每一个文件片的时长与预设的时长相等;
索引模块,用于根据所述多个文件片生成索引文件;
接收模块,用于接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速;
起始模块,用于根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长;
播放模块,用于当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速;
结束模块,用于重复执行播放模块,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
本实施例根据原始媒体文件生成一种低倍速文件,并且对该低倍速文件分片存储(对流媒体数据进行GOP边界判定,每个文件片默认大小1.8M,其中标清文件片时长为4s,高清文件片时长为2s)。当用户操作的倍速播放刚好是生成的倍速,则流媒体服务器根据播放请求的时间点找到对应的文件片和在该文件片中的偏移位置,然后从此偏移位置读取视频数据推送到客户端;当用户操作的倍速播放大于生成的低倍速时,则通过跳文件片的方式实现倍速播放。
相对于传统生成所有的倍速文件实现快进快退的方法,本实施例具有更节约存储空间,读取数据效率更好,运营成本更低的优点;相对于自动跳I帧实现快进快退的方法,本实施例更简单,更易实现,读取数据效率也较高,用户体验效果也很流畅。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
Claims (6)
1.基于低倍速文件实现快进快退播放视频数据的方法,其特征在于,包括以下步骤:
步骤1、从原始媒体文件中获取按一种低倍速快进或快退播放时所需的视频数据;
步骤2、对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组;
步骤3、将相邻的画面组进行组合,得到多个文件片,每一个文件片的时长与预设的时长相等;
步骤4、根据所述多个文件片生成索引文件;
步骤5、接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速;
步骤6、根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长;
步骤7、当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速;
步骤8、重复执行步骤7,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
2.如权利要求1所述的基于低倍速文件实现快进快退播放视频数据的方法,其特征在于,所述低倍速为2倍速或4倍速或8倍速。
3.如权利要求1所述的基于低倍速文件实现快进快退播放视频数据的方法,其特征在于,所述文件片的时长为4s或2s。
4.基于低倍速文件实现快进快退播放视频数据的装置,其特征在于,包括以下模块:
获取模块,用于从原始媒体文件中获取按一种低倍速快进或快退播放时所需的视频数据;
切片模块,用于对所述视频数据进行切片处理,得到多个分片,每一个分片是一个完整的画面组;
组合模块,用于将相邻的画面组进行组合,得到多个文件片,每一个文件片的时长与预设的时长相等;
索引模块,用于根据所述多个文件片生成索引文件;
接收模块,用于接收来自客户端的快进或快退播放请求,所述快进或快退播放请求的播放倍速大于或等于所述低倍速;
起始模块,用于根据客户端在操作快进或快退播放请求时的视频播放时间点,根据公式(T/n1)/S得到整数商和余数,根据整数商和索引文件得到对应的文件片,根据余数和索引文件得到相对于所述对应的文件片的起始播放位置,从所述起始播放位置读取视频数据并通过网络发送至客户端;其中,T为客户端在操作快进或快退播放请求时的视频播放时间点,n1为低倍速,S为文件片的时长;
播放模块,用于当当前播放的文件片结束播放后,继续从下一个文件片的起始端读取视频数据并通过网络发送至客户端;其中,所述当前播放的文件片与所述下一个文件片相隔(n2/n1)-1个文件片,n2为快进或快退播放请求的播放倍速;
结束模块,用于重复执行播放模块,直到判断到下一个文件片为空或者接收到来自客户端的结束快进或快退播放请求,则结束快进或快退播放。
5.如权利要求4所述的基于低倍速文件实现快进快退播放视频数据的装置,其特征在于,所述低倍速为2倍速或4倍速或8倍速。
6.如权利要求4所述的基于低倍速文件实现快进快退播放视频数据的装置,其特征在于,所述文件片的时长为4s或2s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528709.4A CN103581711B (zh) | 2013-10-31 | 2013-10-31 | 快进快退播放视频数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528709.4A CN103581711B (zh) | 2013-10-31 | 2013-10-31 | 快进快退播放视频数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103581711A CN103581711A (zh) | 2014-02-12 |
CN103581711B true CN103581711B (zh) | 2017-01-11 |
Family
ID=50052481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310528709.4A Expired - Fee Related CN103581711B (zh) | 2013-10-31 | 2013-10-31 | 快进快退播放视频数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103581711B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104934049B (zh) * | 2015-06-24 | 2018-03-16 | 深圳市九洲电器有限公司 | 一种变比特率mp3播放时间获取方法及系统 |
CN105187918A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮软件集团有限公司 | 一种基于hls协议点播系统中使用缩略图实现快进的方法 |
CN105979276A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种基于播放器的播放方法及装置 |
CN105979378B (zh) * | 2016-05-31 | 2019-08-06 | 深圳创维数字技术有限公司 | 一种播放器快进快退的控制方法及系统 |
CN111031355B (zh) * | 2019-12-25 | 2021-08-27 | 湖南快乐阳光互动娱乐传媒有限公司 | 媒体资源播放处理方法、装置及系统 |
CN114257878A (zh) * | 2020-09-21 | 2022-03-29 | 深圳富桂精密工业有限公司 | 倍速播放视频的方法、计算机装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
CN102143384A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 一种媒体文件生成方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954596B2 (en) * | 2010-04-02 | 2015-02-10 | Netflix, Inc. | Dynamic virtual chunking of streaming media content |
-
2013
- 2013-10-31 CN CN201310528709.4A patent/CN103581711B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
CN102143384A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 一种媒体文件生成方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103581711A (zh) | 2014-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103581711B (zh) | 快进快退播放视频数据的方法及装置 | |
CN104602117B (zh) | 一种倍速播放视频的方法及装置 | |
US11070828B2 (en) | Method for decoding data, data decoding device, and method for transmitting data | |
CN102413358B (zh) | 流媒体文件存储和播放的方法、装置及系统 | |
TW439054B (en) | Optical disc, optical disc recording method and apparatus, and optical disc reproducing method and apparatus | |
US20090080509A1 (en) | Data processor | |
RU2015152131A (ru) | Устройство воспроизведения, способ воспроизведения и носитель записи | |
US20140341541A1 (en) | Recording medium, reproducing apparatus, and reproducing method | |
CN103475927B (zh) | 在线视频实时变速播放方法及系统 | |
CN105359449B (zh) | 发送方法、接收方法、发送装置以及接收装置 | |
CN1723703A (zh) | 数据处理装置及方法 | |
CN104780422A (zh) | 流媒体播放方法及流媒体播放器 | |
CN105611395B (zh) | 一种mp4格式视频在线播放的方法及系统 | |
US20130188933A1 (en) | Method for semantics based trick mode play in video system | |
CN1711605A (zh) | 存储静止图像的信息存储介质及其再现设备和方法 | |
CN107370726A (zh) | 一种用于分布式媒体文件转码系统的虚拟切片方法及系统 | |
CN101977278A (zh) | 一种播放终端基于网络进行视频同步播放的方法和装置 | |
US8515259B2 (en) | Method for providing progressive download service for playback apparatus supporting BD-J specification | |
CN102682016B (zh) | 一种支持mov/3gp/mp4文件的索引系统及方法 | |
WO2009022781A1 (en) | Method and apparatus for generating and reproducing media object-based metadata | |
US20090307185A1 (en) | Method for seamless playback of multiple multimedia files | |
CN104205860B (zh) | 数字数据发布装置和方法、数字数据再现装置和方法以及同步再现系统 | |
JP2002335495A (ja) | 記録装置および記録方法 | |
CN106101738A (zh) | 音频播放方法和装置 | |
CN103997694B (zh) | 一种视频退播方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170111 Termination date: 20181031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |