专利名称:一种基于嵌入式终端的在线流媒体服务方法
技术领域:
本发明涉及一种基于嵌入式终端的在线流媒体服务方法,属于嵌入式终端技术领域。
背景技术:
随着计算机网络的发展,网络带宽的提高,所有的软件应用都作为一种服务提供给用户,云计算成为互联网时代全新的IT服务模式;另一方面,云计算技术的发展,降低了对上网终端设备的要求,一种新的信息化模式“瘦客户端+宽带网+云计算服务器”模式成为未来的发展趋势和必然。基于这种发展趋势,上网终端设备越来越简单,本发明中涉及的嵌入式终端即属于瘦客户端,系统移植嵌入式Linux操作系统,通过开发具有针对性的应用满足用户需求。嵌入式终端是一种常见的嵌入式智能设备,目前嵌入式系统已广泛应用于信息家电、手机、工业控制、医疗卫生、航空航天等众多领域。传统的嵌入式应用开发都是基于非常典型的c/s(ciient/server,客户端/服务器)架构的应用,然而随着网络处理能力的提高, 以桌面为核心的任务处理转变为以网络为核心的任务处理,人们可以利用互联网实现自己想完成的一切处理任务,软件应用的业务逻辑完全在服务器端实现,网络成为传递服务、计算和信息的综合媒介,B/S (Browser/Server,浏览器/服务器)模式随着hternet技术的兴起成为主流的服务模式,是对C/S模式的一种改进。在这种模式下,用户表现完全在Web 服务器实现,客户端只需要浏览器即可进行业务处理。在嵌入式终端设备的应用中,越来越多丰富的服务都需要与远程服务器进行连接,通过交互和服务器通信来实现应用,比较典型的就是在线流媒体服务。本发明中的嵌入式终端硬件平台采用基于ARMll内核的S3C6410芯片作为处理器,移植开源的嵌入式Linux 操作系统固化嵌入式WebKit内核浏览器,本地没有任何应用软件,所有的应用都固化到浏览器中,如视频播放功能,开机后系统直接进入浏览器界面,嵌入式终端只能通过Web浏览器与服务器进行交互,所有的应用服务都通过服务器提供。虽然在嵌入式Linux设备中采用Web支持已经解决了很多问题,但是还有一些和设备相关的特殊功能是Web支持不能提供的,比如嵌入式设备中的视频播放功能,并不是 HTML和浏览器的标准所包含的,而需要本地应用的支持;而使用Web和B/S等技术来实现我们的应用,这些本地应用功能也要由Web来控制。因此,嵌入式设备的的视频播放,实际是由本地应用实现的,但是何时播放什么视频应该由Web来决定,并且页面内容的编辑也在网页HTML中体现,不需要另外一套播放控制机制,即实现B/S下的在线服务。因此,通过web方式提供在线的流媒体服务成为必然。而如《中国西部科技》杂志第08卷第01期2009年1月《嵌入式视频点播系统设计与实现》文章,《微计算机应用》杂志第30卷第7期2009年7月《MPlayer和Qtopia在嵌入式无线卡拉OK点播终端中的应用》文章所述,均是基于CS模式的流媒体服务。而用于嵌入式Linux系统的B/S模式下的在线流媒体服务少之又少,本发明不仅实现了在嵌入式Linux系统环境下的在线流媒体服务,而且使用快捷方便,直接操作web页面即可观看流媒体影片。
发明内容
针对现有嵌入式终端流媒体服务客户端服务器模式的不足,本发明提出了一种基于嵌入式终端的在线流媒体服务方法,以实现由C/S模式到B/S模式的改进。其目的在于解决嵌入式终端观看影片基于CS模式的弊端,基于web的在线流媒体服务方法可以解决客户端/服务器模式下占用资源多、升级维护复杂以及用户操作不方便的问题,以实现基于web 形式的在线的流媒体观看。本发明的技术方案如下一种基于嵌入式终端的在线流媒体服务方法,由以下系统来实现,该系统包括嵌入式终端上的浏览器、web服务器、数据库服务器、mplayer播放器、流媒体服务器、影片存储服务器,用户通过互联网登录到Web服务器,通过浏览器访问web服务器上的流媒体服务系统,web服务器通过网络连接数据库服务器,查询影片列表信息,并将流媒体影片地址参数传递给mplayer播放器,mplayer播放器启动后通过RTSP协议连接流媒体服务器,由流媒体服务器提供视频流传输服务,mplayer播放器在接收到数据后,及时响应进行播放,该方法具体步骤如下[1]web服务器通过网页形式展现流媒体服务器上的流媒体列表,接受用户通过表单提交形式对节目进行点播;[2]web服务器接收到用户的观看请求后,查找数据库服务器中的影片信息,并从数据库中提取流媒体影片的详细参数,将详细参数添加到表单提交参数中;[3]嵌入式终端通过截取浏览器的请求信息,判断符合特定表单形式的request 行为,并启动mplayer播放器;[4]mplayer播放器接收流媒体影片详细信息参数,通过RTSP协议连接流媒体服务器;[5]流媒体服务器获取视频文件信息,返回视频流给mplayer播放器,进行视频播放。上述所述的嵌入式浏览器作为web服务的客户端,是进行web页面展现和在线视频点播操作的媒介;web服务器是系统关键服务器,是用户与在线流媒体服务系统交流的窗口,用户访问最为频繁,主要为用户提供节目浏览、检索、查询等服务;数据库服务器用于存储管理节目信息,为用户检索查询节目提供服务,并存储视频节目的信息,传输视频节目参数给mplayer播放器,并可以管理用户信息,提供登录、认证等常规web服务,存储管理日志记录,为查询统计和维护提供服务;嵌入式mplayer播放器根据在线流媒体返回的流媒体信息,与视频服务器进行连接,以RTSP协议播放视频服务器的视频信息;流媒体服务器采用Darwin流媒体服务器,支持嵌入式设备的视频播放,支持RTSP协议,可以为终端用户提供视频流传输控制服务,并对流量负载提供完善的处理机制;影片存储服务器由于视频服务对磁盘的数据输出速度要求比较高,视频数据非常占用存储资源,存储设备通常选用专业的数据存储设备。上述方法中的步骤[1]中的web服务器通过网页形式展现流媒体服务器上的流媒体列表,并接受用户通过表单提交形式对节目进行点播,具体内容如下
a)用户注册帐号,登录在线流媒体服务平台;b)查看流媒体影片信息列表,该流媒体影片信息列表包括分类列表、搜索影片信息列表;c)用户选择某一个流媒体影片,查看影片详细信息;影片详细信息以表单形式设计,包括影片名称、发布时间、演员信息、影片简介,表单提交地址设计为和系统编译表达式一致的形式;d)根据个人喜好确定是否进行观看。上述方法步骤[2]中的web服务器接收用户观看请求,数据库服务器返回流媒体影片的地址参数,将参数添加到表单提交参数,步骤如下a. web服务器在观看影片请求后,连接数据库服务器,以HTTP/TCP协议交换控制 fn息;b.数据库服务器返回流媒体影片参数,该参数包括流媒体服务器地址、端口号、影片路径以及传输协议,把需要传输的实时数据从原始信息中检索出来添加到表单提交参数中;c.影片观看表单提交后,嵌入式终端浏览器URL信息为相应的表单提交地址。上述方法步骤[3]中的嵌入式终端网页中启动mplayer播放器的方法,步骤如下<1>监听用户请求信息request ;<2>根据请求信息request判断是否是表单提交,是则转入下一步,否则转入步骤 <1> ;<3>判断截获的请求信息request与系统编译表达式是否一致,是则转入下一步, 否则转入步骤<1> ;<4>嵌入式终端获取URL信息;<5> 启动 mplayer 播放器;<6>播放流媒体。上述启动mplayer播放器,必先“截获”用户的请求,然后使用本地代码来完成整个启动过程。上述截获用户HTML request请求,即表单提交动作的action属性值的URL request信息,需要修改QWebView的源代码,而QWebView使用QWeWage来实现页面。当页面发出一个 Navigation 的 request 时,QWebPage 会调用 acceptNavigationRequest 函数, 这个函数会在发生Navigation Request的时候获取到触发事件的页面元素、request内容和类型。因此要修改QWeWage类,重写acc印tNavigationRequest,在发现特定request内容的时候,做出相应的处理,并将返回值设为false,浏览器忽略request请求。所述的URL 为统一资源定位符,是英语 Uniform/Universal Resource Locator 的缩写,也被称为网页地址。上述截获request与系统编译表达式进行匹配,截获request后,页面不进行跳转,而是通过系统获取request内容,与系统编译好的表达式进行匹配,通过判断request, url (). path ()与编译表达式是否一致,若符合编译表达式,启动mplayer。上述步骤[3]完成了嵌入式设备上用户提交网页上“观看视频”表单,嵌入式终端设备启动mplayer播放器,实现了本地代码被正确的调用运行。上述方法步骤[4]中的mplayer播放器接受流媒体信息参数,连接流媒体服务器, 步骤如下1)通过表单提交路径提取影片地址;2)系统将流媒体影片信息参数传递给mplayer播放器;3)mplayer播放器通过实时流协议连接流媒体服务器。上述表单提交路径设计如下即将流媒体影片信息的form的action属性设置为特定形式,系统编译是按照表单设计形式进行相应的源代码修改;流媒体影片的参数传递是通过在提交地址最后添加? #参数结束实现的,其中? #后面添加流媒体路径信息,如
rtsp://xxx. XXX. XXX. xxx :port/path/氺氺氺· mp4。上述mplayer接受影片参数,相当于嵌入式终端系统执行以下命令./mplayer rtsp://xxx. xxx. xxx. xxx :port/path/ 料氺· mp4,艮口完成了 web 刘览器启动 mplayer 播方文器程序并传递流媒体参数信息给mplayer播放器的过程,这些参数包括对mplayer播放器程序进行初始化信息,包括流媒体目录的信息、视频数据的编码类型、与视频音频检索相关的服务器地址。上述实时流协议指RTSP协议,流媒体服务器指Darwin流媒体服务器,mplayer播放器连接流媒体服务器指mplayer得到服务器返回的流媒体文件的流媒体路径信息后通过流媒体协议播放用户所请求的流媒体影片文件。上述方法中的步骤[5]中的流媒体服务器获取视频频文件信息,返回视频流资源流给mplayer播放器播放,步骤如下{a}根据流媒体存储路径挂载存储服务器路径,连接视频存储文件;{bjmplayer播放器与流媒体建立双向流传输;{cjmplayer播放器进行视频流解码,播放流媒体。上述mplayer播放器与流媒体建立双向流传输采用实时流传输协议,来交换视频传输;流媒体服务器采用实时传输协议将流媒体数据传输给mplayer播放器程序。上述流媒体影片存储设备存放大量的视频节目,当用户点播某一个节目时,就与用户端建立一个双向连接,视频服务器以一定的速率向用户发送视频数据,用户接收数据的同时可以在本地实施播放节目。本发明针对传统嵌入式终端流媒体服务客户端/服务器模式的不足而提出,实现了流媒体服务C/S模式到B/S的改进,解决了客户端/服务器模式下系统占用资源多、系统维护复杂以及用户操作不方便的问题,实现了基于web形式的在线的流媒体观看,保证了为用户提供优质服务。
图1为本发明方法中所用系统的结构示意图。其中1为浏览器,2为web服务器,3为数据库服务器,4为mplayer播放器,5为流媒体服务器,6为影片存储服务器。图2为本发明方法的流程方框图,其中[1]_[5]为其中的各个步骤。图3为本发明方法步骤[1]的流程方框图,其中a)_d)为其中的各个步骤。
图4为本发明方法步骤[2]的流程方框图,其中a-c为其中的各个步骤。图5为本发明方法步骤[3]的流程方框图,其中<1>_<6>为其中的各个步骤。图6为本发明步骤[4]的流程方框图,其中1)-3)为其中的各个步骤。图7为本发明步骤[5]的流程方框图,其中{a}-{c}为其中的各个步骤。
具体实施例方式下面结合附图和实施例对本发明做进一步描述,但不限于此。实施例本发明实施例如图1所示,一种基于嵌入式终端的在线流媒体服务方法,由以下系统来实现,该系统包括嵌入式终端上的浏览器l、《eb服务器2、数据库服务器3、mplayer 播放器4、流媒体服务器5、影片存储服务器6,用户通过互联网登录到Web服务器2,通过浏览器1访问web服务器2上的流媒体服务系统,web服务器2通过网络连接数据库服务器3,查询影片列表信息,并将流媒体影片地址参数传递给mplayer播放器4,mplayer播放器4启动后通过RTSP协议连接流媒体服务器5,由流媒体服务器5提供视频流传输服务, mplayer播放器4在接收到数据后,及时响应进行播放,该方法如图2所示,具体步骤如下[1]web服务器通过网页形式展现流媒体服务器上的流媒体列表,接受用户通过表单提交形式对节目进行点播;[2]web服务器接收到用户的观看请求后,查找数据库服务器中的影片信息,并从数据库中提取流媒体影片的详细参数,将详细参数添加到表单提交参数中;[3]嵌入式终端通过截取浏览器的请求信息,判断符合特定表单形式的request 行为,并启动mplayer播放器;[4]mplayer播放器接收流媒体影片详细信息参数,通过RTSP协议连接流媒体服务器;[5]流媒体服务器获取视频文件信息,返回视频流给mplayer播放器,进行视频播放。上述方法中的步骤[1]中的web服务器通过网页形式展现流媒体服务器上的流媒体列表,并接受用户通过表单提交形式对节目进行点播,如图3所示,具体内容如下a)用户注册帐号,登录在线流媒体服务平台;b)查看流媒体影片信息列表,该流媒体影片信息列表包括分类列表、搜索影片信息列表;c)用户选择某一个流媒体影片,查看影片详细信息;影片详细信息以表单形式设计,包括影片名称、发布时间、演员信息、影片简介,表单提交地址设计为和系统编译表达式一致的形式;d)根据个人喜好确定是否进行观看。上述方法步骤[2]中的web服务器接收用户观看请求,数据库服务器返回流媒体影片的地址参数,将参数添加到表单提交参数,如图4所示,步骤如下a. web服务器在观看影片请求后,连接数据库服务器,以HTTP/TCP协议交换控制 fn息;b.数据库服务器返回流媒体影片参数,该参数包括流媒体服务器地址、端口号、影片路径以及传输协议,把需要传输的实时数据从原始信息中检索出来添加到表单提交参数中;c.影片观看表单提交后,嵌入式终端浏览器URL信息为相应的表单提交地址。上述方法步骤[3]中的嵌入式终端网页中启动mplayer播放器的方法,如图5所示,步骤如下<1>监听用户请求信息request ;<2>根据请求信息request判断是否是表单提交,是则转入下一步,否则转入步骤 <1> ;<3>判断截获的请求信息request与系统编译表达式是否一致,是则转入下一步, 否则转入步骤<1> ;<4>嵌入式终端获取URL信息;<5> 启动 mplayer 播放器;<6>播放流媒体。上述方法步骤[4]中的mplayer播放器接受流媒体信息参数,连接流媒体服务器, 如图6所示,步骤如下1)通过表单提交路径提取影片地址;2)系统将流媒体影片信息参数传递给mplayer播放器;3)mplayer播放器通过实时流协议连接流媒体服务器。上述方法中的步骤[5]中的流媒体服务器获取视频频文件信息,返回视频流资源流给mplayer播放器播放,如图7所示,步骤如下{a}根据流媒体存储路径挂载存储服务器路径,连接视频存储文件;{b}mplayer播放器与流媒体建立双向流传输;{c}mplayer播放器进行视频流解码,播放流媒体。
权利要求
1.一种基于嵌入式终端的在线流媒体服务方法,由以下系统来实现,该系统包括嵌入式终端上的浏览器、web服务器、数据库服务器、mplayer播放器、流媒体服务器、影片存储服务器,用户通过互联网登录到web服务器,通过浏览器访问web服务器上的流媒体服务系统,web服务器通过网络连接数据库服务器,查询影片列表信息,并将流媒体影片地址参数传递给mplayer播放器,mplayer播放器启动后通过RTSP协议连接流媒体服务器,由流媒体服务器提供视频流传输服务,mplayer播放器在接收到数据后,及时响应进行播放,该方法具体步骤如下[llweb服务器通过网页形式展现流媒体服务器上的流媒体列表,接受用户通过表单提交形式对节目进行点播;[2]web服务器接收到用户的观看请求后,查找数据库服务器中的影片信息,并从数据库中提取流媒体影片的详细参数,将详细参数添加到表单提交参数中;[3]嵌入式终端通过截取浏览器的请求信息,判断符合特定表单形式的request行为, 并启动mplayer播放器;[4]mplayer播放器接收流媒体影片详细信息参数,通过RTSP协议连接流媒体服务器;[5]流媒体服务器获取视频文件信息,返回视频流给mplayer播放器,进行视频播放。
2.如权利要求1所述方法步骤[1]中的web服务器通过网页形式展现流媒体服务器上的流媒体列表,并接受用户通过表单提交形式对节目进行点播,具体内容如下a)用户注册帐号,登录在线流媒体服务平台;b)查看流媒体影片信息列表,该流媒体影片信息列表包括分类列表、搜索影片信息列表;c)用户选择某一个流媒体影片,查看影片详细信息;影片详细信息以表单形式设计, 包括影片名称、发布时间、演员信息、影片简介,表单提交地址设计为和系统编译表达式一致的形式;d)根据个人喜好确定是否进行观看。
3.如权利要求1所述方法步骤[2]中的web服务器接收用户观看请求,数据库服务器返回流媒体影片的地址参数,将参数添加到表单提交参数,步骤如下a.web服务器在观看影片请求后,连接数据库服务器,以HTTP/TCP协议交换控制信息;b.数据库服务器返回流媒体影片参数,该参数包括流媒体服务器地址、端口号、影片路径以及传输协议,把需要传输的实时数据从原始信息中检索出来添加到表单提交参数中;c.影片观看表单提交后,嵌入式终端浏览器URL信息为相应的表单提交地址。
4.如权利要求1所述方法步骤[3]中的嵌入式终端网页中启动mplayer播放器的方法,步骤如下<1>监听用户请求信息request ;<2>根据请求信息request判断是否是表单提交,是则转入下一步,否则转入步骤<1> ;<3>判断截获的请求信息request与系统编译表达式是否一致,是则转入下一步,否则转入步骤<1>;<4>嵌入式终端获取URL信息; <5>启动mplayer播放器;<6>播放流媒体。
5.如权利要求1所述方法步骤[4]中的mplayer播放器接受流媒体信息参数,连接流媒体服务器,步骤如下1)通过表单提交路径提取影片地址;2)系统将流媒体影片信息参数传递给mplayer播放器;3)mplayer播放器通过实时流协议连接流媒体服务器。
6.如权利要求1所述方法步骤[5]中的流媒体服务器获取视频频文件信息,返回视频流资源流给mplayer播放器播放,步骤如下{a}根据流媒体存储路径挂载存储服务器路径,连接视频存储文件; {bjmplayer播放器与流媒体建立双向流传输; {c} mplayer播放器进行视频流解码,播放流媒体。
全文摘要
一种基于嵌入式终端的在线流媒体服务方法,属嵌入式终端技术领域,系统包括播放器等,其步骤为服务器通过网页形式展现流媒体服务器上的流媒体列表,接受用户通过表单提交形式对节目进行点播;服务器查询数据库服务器中的影片详细参数,将详细参数添加到表单提交参数中;嵌入式终端通过截取浏览器的请求信息,判断符合特定表单形式的request行为,并启动播放器;播放器接收流媒体影片详细信息参数,通过RTSP协议连接流媒体服务器;流媒体服务器获取视频文件信息,返回视频流给播放器,进行视频播放。实现了由C/S模式到B/S模式的改进,解决了C/S模式下占用资源多、升级维护复杂等问题,实现了web形式的在线流媒体观看。
文档编号H04L29/06GK102497452SQ20111044802
公开日2012年6月13日 申请日期2011年12月28日 优先权日2011年12月28日
发明者党飞, 冯新建, 张海霞, 王君君, 薛良飞, 颜廷芝 申请人:山东大学