一种图片播放的方法、装置及机顶盒的制作方法

文档序号:8343183阅读:735来源:国知局
一种图片播放的方法、装置及机顶盒的制作方法
【技术领域】
[0001]本发明涉及多媒体技术领域,特别是涉及一种图片播放的方法、装置及机顶盒。
【背景技术】
[0002]流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。
[0003]硬件解码就是通过显卡的视频加速功能对高清视频进行解码。因此硬解能够将中央处理器CPU从繁重的视频解码运算中释放出来,使电脑具备流畅播放高清视频的能力。显卡的图形处理器GPU/视觉处理器VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做硬件解码。
[0004]FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用库通用公共许可证LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,Iibavcodec里很多codec都是从头开发的。
[0005]在现有技术中存在如下技术问题,在发现硬件解码器资源已经完全被占用后,进行硬件解码带来的CPU负担过重而导致的严重卡顿,用户无法选择高清节目播放的问题。

【发明内容】

[0006]本发明要解决的技术问题是提供一种图片播放的方法、装置及机顶盒,解决在发现硬件解码器资源已经完全被占用后,进行硬件解码使CPU负担过重,加重视频卡顿,让用户无法选择高清节目播放的问题
[0007]为了解决上述技术问题,本发明实施例的图片播放的方法,包括:
[0008]检测到当前频道的节目流进行播放时,获取硬件解码器资源的占用情况;
[0009]在所述硬件解码器资源处于全部被占用的第一时刻,若接收到当前节目流的图片播放指令,且仍占用原有的硬件解码器资源时,对所述节目流进行处理,获得图片,并播放图片。
[0010]其中,在所述硬件解码器资源处于全部被占用的第一时刻时,还包括:提示播放能力不足的步骤。
[0011]其中,播放图片的过程中,还包括:
[0012]定时申请硬件解码器资源;
[0013]若申请到空闲的硬件解码器资源时,则停止图片播放,并利用所述空闲的硬件解码器资源对当前节目流进行硬件解码,并从所述第一时刻播放解码后的节目流。
[0014]其中,对所述节目流进行处理,获得图片,并播放图片的步骤包括:对所述节目流进行抽帧以及生成图片处理,获得图片,并播放图片。
[0015]其中,对所述节目流进行抽帧以及生成图片处理,获得图片,并播放图片的步骤包括:
[0016]将从流媒体服务器获取的节目流,存入缓冲区链表中;
[0017]从所述缓冲区链表中的取缓冲区中,循环抽帧的多个帧;
[0018]抽帧出的每帧数据转为图片,经图片路径存入图片链表;
[0019]循环播放所述图片链表中的图片。
[0020]其中,经图片路径存入图片链表后还包括:
[0021]删除取过的所述取缓冲区。
[0022]其中,循环播放所述图片链表中的图片后还包括:
[0023]经预定时间后,删除图片路径节点以及所播放的图片。
[0024]相应地,为了解决上述技术问题,本发明实施例还提供一种图片播放的装置,其中,包括:
[0025]获取模块,用于检测到当前频道的节目流进行播放时,获取硬件解码器资源的占用情况;
[0026]第一处理模块,用于在所述硬件解码器资源处于全部被占用的第一时刻,若接收到当前节目流的图片播放指令,且仍占用原有的硬件解码器资源时,对所述节目流进行处理,获得图片,并播放图片。
[0027]其中,还包括:提示模块,用于提示播放能力不足。
[0028]其中,还包括:申请模块,用于定时申请硬件解码器资源;
[0029]第二处理模块,用于若申请到空闲的硬件解码器资源时,则停止图片播放,并利用所述空闲的硬件解码器资源对当前节目流进行硬件解码,并从所述第一时刻播放解码后的节目流。
[0030]进一步地,所述第一处理模块包括:
[0031]第一处理子模块,用于对所述节目流进行抽帧以及生成图片处理,获得图片,并播放图片。
[0032]进一步地,所述第一处理子模块包括:
[0033]存储单元,用于将从流媒体服务器获取的节目流,存入缓冲区链表中;
[0034]抽帧单元,用于从所述缓冲区链表中的取缓冲区中,循环抽帧的多个帧;
[0035]图片生成单元,用于抽帧出的每帧数据转为图片,经图片路径存入图片链表;
[0036]图片播放单元,用于循环播放所述图片链表中的图片。
[0037]进一步地,所述第一处理子模块还包括:第一删除单元,用于删除取过的所述取缓冲区。
[0038]进一步地,所述第一处理子模块还包括:第二删除单元,用于经预定时间后,删除图片路径节点以及所播放的图片。
[0039]本发明实施例还提供一种机顶盒,其中,包括如上述所述的图片播放的装置。
[0040]本发明的上述技术方案的有益效果如下:
[0041]本发明的方案中,检测到当前频道进行节目流播放时,并查看硬件解码器资源是否被完全占有,如果硬件解码器资源被完全占有,此时选择当前节目流的图片播放指令,并且没有停止原有占用的硬件解码器资源的业务,通过对所述节目流进行处理,获得图片,并播放图片。在硬件解码器资源没有资源的时候,通过处理节目流进行图片播放,缓冲节目流,减少硬件解码器资源的利用,降低CPU的占有率,减轻CPU负担,提高用户体验。
【附图说明】
[0042]图1为本发明的基本步骤示意图;
[0043]图2为本发明的总体处理流程图;
[0044]图3为本发明的抽帧及图片播放流程;
[0045]图4为本发明的总体结构示意图。
【具体实施方式】
[0046]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0047]本发明提供一种图片播放的方法、装置及机顶盒,在硬件解码器资源被完全占有后,不用添加新的硬件解码器,利用软件解码处理节目流,从而减少CPU的负担。
[0048]如图1所示,本发明实施例的图片播放的方法,其中,包括:
[0049]步骤1,检测到当前频道的节目流进行播放时,获取硬件解码器资源的占用情况;其中,当前频道的节目流是指用户当前选择高清节目播放。
[0050]步骤2,在所述硬件解码器资源处于全部被占用的第一时刻,若接收到当前节目流的图片播放指令,且仍占用原有的硬件解码器资源时,对所述节目流进行处理,获得图片,并播放图片。其中,对节目流的处理可以是通过优化的ffmpeg实现。
[0051]如果不经过用户选择,直接处理节目流,影响用户使用效果,因此本发明实施例的图片播放的方法中,在所述硬件解码器资源处于全部被占用的第一时刻时,还包括:步骤21,提示播放能力不足的步骤。其中,播放能力不足是指没有空闲的硬件解码器资源,通过提示方式用户可以自主选择操作。
[0052]当用户选择高清节目之后,硬件解码器资源处于全部被占用的第一时刻时,也就是没有空闲的硬件解码器资源,为了方便用户了解到当前的CPU的占有状况,进行播放能力不足的提醒。
[0053]图片播放是为了缓解CPU的占有率,不能一直继续图片播放,因此本发明实施例的所述的图片播放的方法中,播放图片的过程中,还包括:
[0054]步骤3,定时申请硬件解码器资源;
[0055]步骤4,若申请到空闲的硬件解码器资源时,则停止图片播放,并利用所述空闲的硬件解码器资源对当前节目流进行硬件解码,并从所述第一时刻播放解码后的节目流。其中,第一时刻是指刚开始硬件解码器无资源,开始图片播放的时刻。
[0056]在硬件解码器资源的全部占用时,进行图片播放缓解CPU压力,但不能一直进行图片播放,通过步骤3时刻申请硬件解码器资源,进行节目流的播放。这样能够提高用户体验效果。
[0057]如图2所示,本发明实施例的总体流程的具体过程。
[0058]机顶盒侧提供硬件解码器资源管理的模块,具备硬件解码器资源的申请/释放/查询能力。
[0059](I)监测到当前频道节目流播放,也就是当前用户选择高清的节目之后,获取硬件解码器资源的占用情况,看是否被完全占用,如果是被完全占用没有资源,则在页面通知EPG弹出提示选择框展示给用户,提示播放能力不足,让用户选择是否进行当前频道的图片播放。
[0060](2)当用户没有选择停止原有占用硬件解码器的业务,并且选择了进行当前频道的图片播放的时候,机顶盒后台开始使用优化过的ffmpeg把从网络过来的高清码流进行抽帧以及图片生成操作,并开始播放图片。
[0061](3)在播放图片的过程中,由定时器设定时间,继续向资源管理模块申请硬件解码器资源,如果可以申请到硬件解码器资源,则停止ffmpeg的抽帧以及播放图片,开始当前高清频道的硬件解码从高清选择时,硬件资源被完全占有的时刻开始播放。
[0062]本发明的又一实施例的图片播放的方法中,对所述节目流进行处理,获得图片,并播放图片的步骤包括:
[0063]步骤22,对所述节目流进行抽帧以及生成图片处理,获得图片,并播放图片。
[0064]其中,具体步骤包括:
[0065]步骤221,将从流媒体服务器获取的节目流,存入缓冲区链表中;
[0066]步骤222,从所述缓冲区链表中的取缓冲区中,循环抽帧的多个帧;
[0067]步骤223,抽帧出的每帧数据转为图片,经图片路径存入图片链表,删除取过的所述取缓冲区;
[0068]步骤224,循环播放所述图片链表中的图片,经预定时间后,删除图片路径节点以及所播放的图片。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1