[发明专利]一种分布式播放器任务调度的方法及系统有效
申请号: | 201510549608.4 | 申请日: | 2015-08-31 |
公开(公告)号: | CN105120323B | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 李凤山;冷志勇;高上;卢述奇 | 申请(专利权)人: | 暴风集团股份有限公司 |
主分类号: | H04N21/434 | 分类号: | H04N21/434;H04N21/44;H04N21/443 |
代理公司: | 北京思源智汇知识产权代理有限公司11657 | 代理人: | 毛丽琴 |
地址: | 100191 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 播放 任务 调度 方法 系统 | ||
技术领域
本申请涉及互联网应用技术领域,具体地说,涉及一种分布式播放器任务调度的方法及系统。
背景技术
当前,视频播放器,通常是指能播放以数字信号形式存储的媒体文件的软件,也指具有播放媒体文件功能的电子器件产品。除了少数波形文件外,大多数视频播放器携带视音频解码器和显示部件以还原经过压缩媒体文件,视频播放器还要内置一整套转换以及缓存的算法。当然大多数的视频播放器还能支持播放单音频文件或者单视频文件。
一般的处理过程为:
输入。从文件或网络等读取原数据,如x.avi,x.mov,rtsp://xxx,对原数据进行解析,比如文件,首先要分析文件格式,从文件中取得音视频编码参数,媒体时间长度等信息,然后要从其中取出音频编码数据和视频编码数据送到解码部分,这里暂称这种编码源数据块为packet。
解码。初始化时,利用输入端从源数据中取得的信息调用不同的解码库初始化;然后接收输入端传送来的音视频编码数据,分别进行音频解码和视频解码,视频解码出来的数据一般是YUV或RGB数据,这里暂称为picture,音频解码出来的数据是采样数据,是声卡可以播放的数据,这里暂称为sample。解码所得的数据接下来送到输出部分。
输出。接收解码部分送来的picture和sample并显示。视频显示一般使用某个图形库,如SDL,Xlib,DirectDraw,OpengGL,FrameBuffer等,音频输出是把sample写入系统的音频驱动,由音频驱动送入声卡播放,可用的音频输出有ALSA,OSS,SDL,DirectSound,WaveOut等。
现有技术中,原始的视频文件(无论何种格式)如果在一个客户端的播放器进行处理需要经过解复用(分离)处理,将音频、视频压缩码流进行分离,继而进行音频、视频解码处理,解码完毕后进行音频、视频同步,两者分别显示渲染,目前主流播放器对于每个处理模块进行线程处理,期间客户可能存在播放暂停、拖动等各种操作,从而造成多线程间的同步稳定性不足,需要经常性的等待和不断的同步,多线程切换带来的资源损耗、稳定性以及架构的可维护性都需要考虑。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种分布式播放器任务调度的方法及系统,其能够解决现有技术中播放器播放存在的任务调度问题,任务调度分时复用,节省系统资源,同时,整体框架的可扩展性强,提高用户满意度。
为了解决上述技术问题,本申请有如下技术方案:
一种分布式播放器任务调度的方法,包括:
将移动终端上的播放器的播放过程中解复用模块、音频解码模块、音频渲染模块、视频解码模块、视频渲染模块共5个模块按照任务的复杂度以及耗时程度分为两个任务task1和task2;其中task1包含解复用模块、音频解码模块、音频渲染模块,task2分为视频解码模块、视频渲染模块;
所述task1和task2两个任务统一在一个线程池task pool中;
所述task pool执行在一个统一的线程池中,每一个任务都按照时间顺序来依次轮询执行;task pool中的每个任务执行过程中都不会出现阻塞情况,所有的休眠放入到task pool中进行;若当前时间没有可以执行的任务,则系统休眠。
所述每一个任务都按照时间顺序来依次轮询执行,包括:
计算下次取出该任务的时间:
tnext=tcursystime+tsleeptime;
其中,tnext表示下次取出该任务执行的时间,tcursystime表示当前系统时间,tsleeptime表示此时执行过程中由于某些原因导致需要休眠的时间;
将该任务放入task pool中按照tnext进行时间由小到大排序;
当线程轮询时,将当前系统时间与任务池中时间最小的任务时间比较,如果时间已到或者时间已过,则立刻取出当前任务进行执行,若当前时间没有任务满足,则系统进行休眠。
所述方法还包括:
播放起始时,从文件I/O中获取文件数据,进行文件头信息解析;
解析完毕后启动task1,进行解复用操作;
若文件中包含视频,则同时启动task2,且将task1和task2任务注册在task pool中,初始task2处于休眠状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暴风集团股份有限公司,未经暴风集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510549608.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽车杂品箱注塑模具侧面滑块的复合角度脱模机构
- 下一篇:导向盖模具