一种IPTV中解决进度条预览卡顿的方法与流程

文档序号:30425172发布日期:2022-06-15 14:44阅读:394来源:国知局
一种IPTV中解决进度条预览卡顿的方法与流程
一种iptv中解决进度条预览卡顿的方法
技术领域
1.本发明涉及网络电视图像通信技术领域,具体涉及一种iptv中解决进度条预览卡顿的方法。


背景技术:

2.iptv(internetprotocol television)即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,为用户提供基于互联网传输技术的面向多终端的广播电视节目服务,iptv充分发挥三网融合优势,致力于打造家庭交互式公共信息娱乐服务新平台,为广大用户提供全新的视听体验,随着互联网宽度的普及,iptv 业务逐步成为主流的电视形态。
3.目前国内的iptv业务,承载了传统电视的全部内容,可以观看与传统电视无差别的直播频道,同时iptv又突破了传统电视线性播出的约束,交互性更强,用户可以点播包括电影、电视剧、综艺、体育等数万小时的版权节目,不同领域的内容聚集了不同属性的用户群体,超高的视听体验也给用户充分回归大屏的理由,此外,利用用户群体的优势,iptv正演变成集更便利的生活服务平台、承载不同群体的大型活动平台、智能的广告系统、智能的播控系统等多种业务方向的多方位、立体化生态体系。
4.由于用于支持iptv业务的硬件机顶盒由各大机顶盒厂商定制,由于各机顶盒厂商所采用的应用设备、平台版本和系统功能上存在较大差异,导致各机顶盒存在部分功能和性能上的差异,以视频截图为例,由于截取时使用的底层api来源于机顶盒rom系统,其采用的分辨率不同,再加上机顶盒设备本身的配置差别较大,导致同一功能在不同机顶盒上的表现差别很大,有的配置低的机顶盒通过本地截图实现进度条预览时,截图分辨率高、机顶盒配置低等原因,导致的预览图生成速度慢、应用卡顿,如何减少这种差别带来的性能和体验差异,为用户提供良好的产品,是每一个iptv开发和设计者的共同目标。


技术实现要素:

5.本发明的目的在于提供一种iptv中解决进度条预览卡顿的方法,解决了iptv中通过机顶盒本地截图实现进度条预览时,由于截图分辨率高、机顶盒配置低等原因,导致的预览图生成速度慢、应用卡顿的问题。
6.本发明解决其技术问题所采用的技术方案是:一种iptv中解决进度条预览卡顿的方法,包括:s1、客户端向服务端请求视频指定时间戳范围的预览图;s2、服务端获取该视频指定时间戳范围的预览图集合,即第一预览图集合;s3、服务端将第一预览图集合中的预览图按顺序拼成预览大图,并返回给客户端;s4、客户端接收预览大图并拆分,获得第二预览图集合,并按顺序将第二预览图集合中的预览图渲染到预览区域。
7.本发明具有以下有益效果:本方法客户端向服务端发出请求,将相关任务在服务
端实现,利用服务端的特殊网络环境和高配置实现预览图截取功能,同时对预览图按约定算法进行组合成预览大图,服务器这边获取了多张预览图,然后拼成一张预览大图,返回给服务端,只传输一次,增加了效率,降低了传输带宽,有效改善了iptv中进度条预览的实现效果,提高了产品的性能和用户体验度。
附图说明
8.图1为本发明的流程图。
9.图2为本发明的客户端向服务端请求视频指定时间戳范围的预览图的流程图。
10.图3为本发明的服务端架构图。
11.图4为本发明的服务端获取第一预览图集合的流程图。
12.图5为本发明的服务端将第一预览图集合按顺序拼成预览大图的流程图。
13.图6为本发明的客户端接收大图并拆分成第二预览图集合的流程图。
具体实施方式
14.现在结合附图对本发明作进一步详细的说明。
15.根据图1-图6所示的一种iptv中解决进度条预览卡顿的方法,包括:s1、客户端向服务端请求视频指定时间戳范围的预览图;s2、服务端获取该视频指定时间戳范围的预览图集合,即第一预览图集合;s3、服务端将第一预览图集合中的预览图按顺序拼成预览大图,并返回给客户端;s4、客户端接收预览大图并拆分,获得第二预览图集合,并按顺序将第二预览图集合中的预览图渲染到预览区域。
16.具体地,所述步骤s1中客户端向服务端请求视频指定时间戳范围的预览图的方法包括:s101、用户在客户端的播放页通过遥控按键,拖动进度条到指定时间戳节点;s102、检查指定时间戳节点周边节点的占位图状态,筛选未获取占位图的时间戳,并生成待请求时间戳集合,生成的待请求时间戳集合的方法为:s1021、从指定时间戳节点分别向前、向后筛选12个时间戳,每个时间戳间隔1秒,加上指定时间戳节点,共25个时间戳节点;s1022、在预览区域列表的数据集中,以步骤s1021获取的时间戳节点为索引,获取节点对应预览图的渲染状态,如果该时间戳节点已渲染过预览图,则将其从指定时间戳集合中移除,如果该时间戳节点未渲染过预览图,则为该时间戳节点填充一个占位图,其中所述预览区域列表的数据集为渲染区域列表视图需要的图文数据,包括时间戳集合和预览图、占位图;s1023、重复执行步骤s1022直至过滤出所有未渲染预览图的指定时间戳节点集合,即待请求时间戳集合,刷新待预览区域列表中的视图,如果待请求时间戳集合的元素不为空,则执行步骤s103;s103、以待请求时间戳集合为参数,向服务端请求对应的预览图;若场景仅一次拖动进度条,那么预览区域列表的数据集中无被渲染的预览图,待请求时间戳集合则为:待预览时间戳分别向前、向后筛选12个时间戳,每个时间戳间隔1秒,
加上指定时间戳节点,共25个时间戳节点;若针对的场景是二次多动进度条,第一次拖到进度条到达指定时间戳节点a,对应的指定时间戳范围为[a-12,a+12],对应的时间戳节点的预览图已经被渲染,当第二次拖到进度条到指定时间戳节点b,对应的指定时间戳范围为[b-12,b+12],如果a-12《=b-12《=a+12,或者a-12《=b+12《=a+12,[a-12,a+12]∩[b-12,b+12]部分时间戳节点对应的预览图已被渲染加载,那么待请求时间戳集合为剩余部分时间戳节点。
[0017]
具体地,所述服务端架构环境包括代理服务端、图片服务器、多个终端资源服务器,其中:所述代理服务端通过监控服务,获取终端资源服务器的状态,并通过任务队列向终端资源服务器发送任务;所述终端资源服务器设有多个,多个终端资源服务器位于cdn子网环境下,在截取图片时将视频地址更换成子网地址,实现快速获取视频资源;资源地址矩阵维护着已截取的信息表,以缓存形式存储,资源地址矩阵用于维护截取信息,以视频标识为key,保存的是该视频各个时间戳节点对应的截图地址;终端资源服务器将图片推送到图片服务器,代理服务端从图片服务器拉取图片,图片服务器通过双网卡,分别接入两个网络环境,分别为终端资源服务器所在cdn子网网络、代理服务端所在网络。
[0018]
具体地,所述步骤s2中服务端获取该视频指定时间戳范围的预览图方法为:s201、服务端接收客户端请求;s202、根据提供的影片id、待请求时间戳集合,从资源地址中查询对应的地址信息集合;s203、如果有不存在的地址信息,则启动任务调度进程,将截图任务发送给空闲的终端资源服务端,代理服务端通过监控服务,获取各终端资源服务器的状态,选择空闲的资源服务器,并将截图信息通过任务队列传递给终端资源服务器;s204、终端资源服务端调用ffmpeg的api,根据影片和时间戳信息,截取固定分辨率的预览图,由于终端资源服务器位于cdn子网环境下且配置较高,截取固定分辨率的预览图的过程很快,且具有很快的传输速度;s205、终端资源服务端将固定分辨率的预览图推送到图片服务器,并将地址返回代理服务端;s206,代理服务端重复上述步骤,获取所有的预览图,生成第一预览图集合。
[0019]
具体地,所述步骤s3中服务端将第一预览图集合按顺序拼成大图的方法为:s301、代理服务端根据第一预览图集合中预览图的个数l,获取平方根m,并对m取整获得m1;s302、令宽度系数x为m1,高度系数y为m1,如果x乘以y等于l,则执行步骤s304;s303、如果x乘以y小于l,则首先令x加1,y不变,如果x乘以y仍小于l,再令x不变,y加一,重复该步骤,直至x乘以y大于等于l;s304、按顺序将第一预览图集合中的预览图,按照宽度方向上x图片、高度方向上y个图片的方式,组合成一张预览大图,如果x乘以y大于l,则将多余的位置使用占位图填充,其中n=x*y-l,占位图的尺寸与第一预览图集合中预览图片的尺寸相同;
s305、将预览大图和相关的参数x、y、l、n返回给客户端。
[0020]
具体地,所述步骤s4中客户端接收大图并拆分成第二预览图集合的方法,包括:s401、接收服务端返回的预览大图和相关参数,其中预览大图是一张由多张相同尺寸、且按时间顺序排列的预览图,相关参数中包含了预览图的分布信息;s402、客户端根据约定的预览图宽a高b,以及宽度系数x、高度系数y,将预览大图分割成l+n张预览图,并获取前l张预览图;s403、以时间戳为索引,逐个将l张预览图,填入预览区列表的数据集中,即第二预览图集合,并再次渲染预览区域列表。
[0021]
本发明不局限于所述实施方式,任何人应得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
[0022]
本发明未详细描述的技术、形状、构造部分均为公知技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1