移动通讯设备终端的flash文件的浏览器播放方法及装置的制作方法

文档序号:7754214阅读:234来源:国知局
专利名称:移动通讯设备终端的flash文件的浏览器播放方法及装置的制作方法
技术领域
本发明涉及移动通讯设备终端浏览器,特别是一种应用于移动通讯设备终端的 flash文件的浏览器播放方法。
背景技术
Flash是一种基于矢量的动画格式,目前作为主流的网页视频和交互式网页游戏广泛应用在因特网领域。目前的网页浏览器主要通过Adobe公司开发的免费的flash插件支持网页中flash的播放。由于大量的手机等移动终端不支持Adobe公司开发的flash插件,一种可行的方案就是采用c/s架构的手机浏览器,通过在浏览器服务端运行flash插件播放flash,通过截图、压缩发送给浏览器客户显示。flash播放会占用较多CPU资源,一台主流配置的服务器正常情况下能够支持同时播放、截图10几个flash,也就是能够支持10几个客户端,如果同时支持5万客户端 flash播放,就需要5000台服务器,这种高昂的成本使得这种技术不能得到实际的应用。

发明内容
本发明的第一个发明目的在于提供一种应用于移动通讯设备终端的flash文件的浏览器播放方法,以解决现有技术中,移动通讯设备终端采用服务端/客户端架构(C/S 架构)浏览网站时,服务端播放flash文件耗用CPU资源过高的技术问题。为了实现本发明的第一个发明目的,采用的技术方案如下
一种应用于移动通讯设备终端的flash文件的浏览器播放方法,所述移动通讯设备终端采用服务端/客户端架构浏览网站,移动通讯设备终端为客户端,所述方法包括
(11)服务端收到客户端请求加载flash请求后,从网站服务器获取flash文件;
(12)服务端调用flash插件,在虚拟帧缓存系统中播放flash,视频数据会存放在虚拟帧缓存系统的数据存储区中。(13)服务端从虚拟帧缓存系统的数据存储区中获取视频数据,编码后发送给客户端。作为一种优选方案,虚拟帧缓存系统的数据存储区是虚拟帧缓存系统运行时保存播放视频的内存存储区。作为一种优选方案,所述方法还包括,在步骤(11)之后,执行以下步骤
(31)服务端通过解析flash文件,修改flash文件的帧率字段,降低帧率,然后执行步骤(12)。作为进一步的优选方案,所述步骤(31),在服务端通过解析flash文件,修改 flash文件的帧率字段,降低帧率到< 5帧/秒。作为更进一步的优选方案,所述步骤(12)中的虚拟帧缓存系统的数据存储区为虚拟帧缓系统存运行时占用的内存,服务端根据步骤(31)所修改的flash文件的帧率,把flash文件中相应的图像存储在虚拟帧缓存系统的数据存储区中。作为一种优选方案,所述flash文件为后缀为swf格式的文件。本发明的第二个发明目的在于提供一种应用于移动通讯设备终端的flash文件的浏览器播放装置,以应用本发明的第一个发明目的所提供的浏览器播放方法。为了实现本发明的第二个发明目的,采用的技术方案如下
一种应用于移动通讯设备终端的flash文件的浏览器播放装置,所述装置包括作为客户端的移动通讯设备终端和用于转发客户端访问请求的服务端,在所述服务端还设置有 用于根据客户端的flash请求,从网站服务器获取flash文件的获取模块; 用于保存flash文件所播放的视频数据的虚拟帧缓存系统,视频数据存放在虚拟帧缓存系统的数据存储区中;
用于从虚拟帧缓存系统的数据存储区中获取视频数据,编码后发送给客户端的发送模块。作为进一步的优选方案,所述服务端还包括用于修改flash文件的帧率字段的帧率修改模块。作为再进一步的优选方案,所述帧率修改模块把flash文件的帧率修改为< 5帧/秒。本发明使得通过C/S架构支持flash的手机浏览器技术能够实际应用,为大规模客户端提供服务。


图1为本发明的系统流程图。
具体实施例方式下面结合附图和具体实施例对本发明进行进一步详细的说明。本发明对以下部分进行了改进 降低flash播放的帧率
Flash播放的帧率是影响flash占用CPU资源的主要因素,一般的flash文件设置帧率为M帧/秒,将帧率降低为5帧/秒时,能够降低80%左右的cpu资源;在手机浏览器应用场景中,由于浏览器服务端与客户端之间通过移动网络连接,在gprs和edge网络情况下, 受带宽和速度的限制,每秒不能传输10帧以上的图像,3-5帧图像是合适的,经测试,3-5帧 /s大部分交互式网页游戏也是能够顺畅操作的。应用虚拟帧缓存技术
虚拟帧缓存是指把图像放在内存中存储,不在硬件上渲染,例如xvfb和xvnc开源软件都可以提供这类技术。Flash播放占用cpu资源的另一个因素是图像渲染,采用虚拟帧缓存技术,只把图像放在内存中,而不需要进行渲染,会有效降低CPU资源的占用。在本发明中,在服务器设置了虚拟帧缓存系统,虚拟帧缓存系统可以作为一个进程单独运行,也可以作为一个功能单独的模块集成到其他进程中运行;虚拟帧缓存的数据存储区就是虚拟帧缓存系统运行时保存播放视频的内存存储区。虚拟帧缓存系统与服务端系统进程设计服务端系统通过虚拟帧缓存系统提供的API接口可以从虚拟帧缓存系统的内存中获取图像,但这些API接口实现上都是通过网络同步调用的,这样获取图像数据是会消耗一定的CPU资源。本发明采用如下两种方式解决上述问题
A)将虚拟帧缓存系统和浏览器服务端部署在同一进程中;
B)将虚拟帧缓存系统与浏览器服务端部署在不同进程中,而对虚拟帧缓存的数据存储区使用内存映射的方式映射到服务器进程中。上述两种方法可以直接从虚拟帧缓存的内存中获取图像数据,大减少了网络等待时间和对CPU的占用。如图1所示为本发明的系统流程图,图中画的虚拟帧缓存指的是虚拟帧缓存系统,一个完整的播放flash流程如下
1)浏览器服务端收到客户端请求加载flash请求后,向网站服务器请求flash文件;
2)网站服务器向服务端返回flash文件;
3)服务端获取根据标准的swf格式解析flash文件,修改flash文件的帧率字段,降低帧率到5帧/秒;
4)服务端调用flash插件,在虚拟帧缓存中播放flash;
5)服务端从虚拟帧缓存中读取视频文件;
6 )服务端从虚拟帧缓存的内存中获取视频数据,编码后发送给客户端。7)用户在客户端播放flash视频。以上所述仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种应用于移动通讯设备终端的flash文件的浏览器播放方法,所述移动通讯设备终端采用服务端/客户端架构浏览网站,移动通讯设备终端为客户端,其特征在于,在服务端还设置有虚拟帧缓存系统,所述方法包括(11)服务端收到客户端请求加载flash请求后,从网站服务器获取flash文件;(12)服务端调用flash插件,在虚拟帧缓存系统中播放flash,视频数据会存放在虚拟帧缓存系统的数据存储区中;(13)服务端从虚拟帧缓存系统的数据存储区中获取视频数据,编码后发送给客户端。
2.根据权利要求1所述的播放方法,其特征在于,所述虚拟帧缓存系统的数据存储区就是虚拟帧缓存系统运行时保存播放视频的内存存储区。
3.根据权利要求1所述的播放方法,其特征在于,所述方法还包括,在步骤(11)之后, 执行以下步骤(31)服务端通过解析flash文件,修改flash文件的帧率字段,降低帧率,然后执行步骤(12)。
4.根据权利要求3所述的播放方法,其特征在于,所述步骤(31),在服务端通过解析 flash文件,修改flash文件的帧率字段,降低帧率到< 5帧/秒。
5.根据权利要求3所述的播放方法,其特征在于,所述步骤(12)中的虚拟帧缓存系统的数据存储区为虚拟帧缓系统存运行时占用的内存,服务端根据步骤(31)所修改的flash 文件的帧率,把flash文件中相应的图像存储在虚拟帧缓存系统的数据存储区中。
6.根据权利要求1 5所述的播放方法,其特征在于,所述flash文件为后缀为swf格式的文件。
7.一种应用于移动通讯设备终端的flash文件的浏览器播放装置,所述装置包括作为客户端的移动通讯设备终端和用于转发客户端访问请求的服务端,其特征在于,在所述服务端还设置有用于根据客户端的flash请求,从网站服务器获取flash文件的获取模块;用于保存flash文件所播放的视频数据的虚拟帧缓存系统,视频数据存放在虚拟帧缓存系统的数据存储区中;用于从虚拟帧缓存系统的数据存储区中获取视频数据,编码后发送给客户端的发送模块。
8.根据权利要求7所述的浏览器播放装置,其特征在于,所述服务端还包括用于修改 flash文件的帧率字段的帧率修改模块。
9.根据权利要求8所述的浏览器播放装置,其特征在于,所述帧率修改模块把flash文件的帧率修改为< 5帧/秒。
全文摘要
本发明涉及移动通讯设备终端浏览器,特别是一种应用于移动通讯设备终端的flash文件的浏览器播放方法,所述移动通讯设备终端采用服务端/客户端架构浏览网站,移动通讯设备终端为客户端,所述方法包括(11)服务端收到客户端请求加载flash请求后,从网站服务器获取flash文件;(12)服务端调用flash插件,在虚拟帧缓存系统中播放flash,视频数据会存放在虚拟帧缓存系统的数据存储区中;(13)服务端从虚拟帧缓存系统的数据存储区中获取视频数据,编码后发送给客户端。本发明使得通过C/S架构支持flash的手机浏览器技术能够实际应用,为大规模客户端提供服务。
文档编号H04L29/06GK102209140SQ20101022678
公开日2011年10月5日 申请日期2010年7月15日 优先权日2010年7月15日
发明者梁捷, 许延伟 申请人:优视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1