基于代理服务的HTML5视频网站访问方法

时间:2023-12-24 点赞:46948 浏览:93402 作者原创标记本站原创

本文是一篇嵌入式论文范文,嵌入式有关学士学位论文,关于基于代理服务的HTML5视频网站访问方法相关电大毕业论文范文。适合嵌入式及互联网及视频方面的的大学硕士和本科毕业论文以及嵌入式相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:HTML5已成为移动设备上的视频网站规范,基于HTML5构建的视频服务网站为专用的移动设备提供服务,但机顶盒,硬盘播放器等嵌入式设备的处理能力有限,无法直接访问此类网站.本文对使用代理服务方式实现嵌入式设备访问HTML5视频网站的方法进行阐述,实现了嵌入式设备对HTML5视频网站的访问和播放,为处理能力有限的设备访问此类网站提出了一种有效的解决方案.

关 键 词:HTML5;流媒体;代理服务;嵌入式设备

中图分类号:TP357文献标识码:A文章编号:1009-3044(2012)15-3514-04

AccesstheHTML5VideoSiteBasedonaProxyService

LIANGHong-bo

(AnuiCommunicationsTechnologyInstitute,Hefei230051,China)

Abstract:HTML5hasbeeideositeonyourmobiledevicespecifications,andbuiltbasedonHTML5videowebsitededicatedmobiledevicestoprovideservices,buttheset-topboxes,harddiskplayer,andotherembeddeddeviceswithlimitedprocessingpower,cannotdirectlyaccesssuchsites.ThispaperdescribedtheuseofagencyserviceorembeddeddevicestoaccesstheHTML5videosite,HTML5videositeaccessandplaybackofembeddeddevices,aneffectivesolutiontodealwiththelimitedcapacityofthedevicestoaccesssuchsitesprograms.

Keywords:HTML5,mediastreaming,proxyservice,embeddeddevices

苹果提出并标准化了HTTPLiveStream协议,用来在标准HTTP协议的基础上支持实时流媒体播放,在其移动终端产品中,通过Safari浏览器实现了HTML5视频标签的识别,同时通过播放器支持HTTP流协议.苹果公司数以亿计的移动终端产品,促使大部分网站使用HTML5的视频规范提供服务,如果能将此类服务引入到机顶盒等嵌入式多媒体终端中,将极大丰富家庭用户的视频服务体验.通过采用代理服务器,可以使机顶盒等设备顺利访问HTML5页面,并对终端优化回复内容,使处理能力有限的嵌入式设备可以体验视频网站提供的服务.

1基于HTML5的视频服务概述

采用HTML5提供视频服务的网站,架构图如图1所示.

其主要组成部分介绍如下:

(1)视频源及编码处理:二者均采用AAC音频编码和H.264的视频编码方式,点播采用MP4作为文件封转,直播则采用MPEG2TS流.在直播视频采集中,一般由编码器和码流分割器组成,采用硬件编码器从卫星接收机等将输入的模拟信号进行编码;码流分割器将编码完成的视频数据分割为10秒一段的ts文件,同时生成m3u8索引文件.

(2)视频分发服务:一般由Web服务器构成,为直播和点播数据提供HTTP下载服务;视频数据和索引文件都通过该平台分发.

(3)Web前端页面:为客户端提供访问视频的菜单索引服务和视频播控服务,一般通过数据库与后端的视频分发服务连接.

(4)客户端:客户端一般通过浏览器访问web页面,浏览器需支持HTML5Video标签的识别,并具备支持HTTP流协议的流媒体播放器.

在这类系统中,客户端第一步获取M3U8索引文件,通过解析M3U8识别TS文件获取地址和解密密钥等必要信息.第二步客户端按索引列表的顺序获取媒体数据.客户端可以采用HTTP协议请求数据,HTTP协议是具有穿透防火墙的优势,一般的防火墙均允许HTTP协议通过.

播放器是最终完成视频获取和播放的实体.播放器在支持HTML5视频功能中的主要作用是支持HTTP流协议.HTTP流协议的主体仍然是HTTP协议,并未做任何的协议扩展,只是在HTTP协议基础上,定义了M3U8类型的索引文件,并由此定义相关的扩展协议.其主要含义如表1所示.

表1M3U8文件示例及注释

2嵌入式设备访问HTML5页面

机顶盒和硬盘播放器等嵌入式设备,具备视频播放能力和网络访问能力.如果按照第二部分中描述的架构,客户端必须具备支持HTML5video的浏览器和支持HLS协议的播放器,才能实现HTML5视频网站的访问.然而,在此类设备中,由于成本考虑,其主芯片处理能力较低,支持HTML5的全功能浏览器运行极为缓慢,浏览页面时的用户体验不好;而且,由于各网站对客户端浏览器类型的限制,非safari浏览器很难直接获取视频服务的页面.为解决此问题,使用代理服务器:一方面可以伪装客户端为iphone,ipad等设备类型的safari浏览器,从而取得HTML5类型的页面;另一方面可以针对服务器回复的数据进行过滤优化,提取必要的视频获取地址,使客户端不依赖复杂的浏览器解析页面.2.1架构概述


嵌入式终端中,由于处理能力有限,所以采用了简单的嵌入式浏览器,该浏览器支持基本的HTML4.01和JaScript1.5等规范,不支持HTML5Video标签.通过代理服务器的请求获取到HTML5页面内容,再次经过代理服务器的过滤模块,将回应内容中的HTML5Video部分修改为私有的标签,返回给浏览器.架构如图2所示.

其中各模块的功能描述如下:

(1)功能简化的网络浏览器:是用户访问页面的图形界面,直接显示内容到屏幕上.浏览器配置自己的web代理为本地代理服务器,则所有http请求均经过本地的代理服务器发出,服务器回复也通过代理服务器处理后返回.

(2)代理服务器:将浏览器的HTTP请求进行转换,修改其中的UserAgent标识,发往目标服务器;目标服务器回应后,收取回应内容,过滤其中的广告等冗余信息,简化页面,同时将其中的HTML5video标签修改为浏览器支持的私有视频标签.最后将回复内容交给浏览器.

(3)播放器:播放器被浏览器调用.浏览器发现页面中有自定义的视频标签,将相应的参数传递给播放器,由播放器从目标视频网站获取数据,完成播放功能.

2.2代理服务器的使用

代理服务器的主要功能有两个:一是修改浏览器对服务器的请求信息,将其中的UserAgent标识字段修改为服务器支持的格式;二是将服务器回应的信息进行过滤优化.

(1)User-Agent修改:代理服务器中,查找HTTP头字段的UserAgent部分,将其替换为如下标识:

Mozilla/5.0(iPad,U,CPUiPhoneOS3_2likeMacOSX,en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10

这样,请求发送出去后,服务器认为该设备是运行Safari浏览器的iPad设备,会将对应的HTML5视频页面返送回来.(2)服务器回送页面的过滤优化:请求回来的页面中,包含的HTML5视频信息一般为如下格式:

此段代码表示浏览器窗口中内嵌一个高度为325,宽度为510的视频窗口,视频来源为当前站点下的test.m3u8索引文件.代理服务器监测

functionmedia_play()

{

varplayer等于newMediaPlay(),player.playW等于510,player.playH等于325,

player.setSingleMedia(test.m3u8,vod),

player.autoplay(),

}

同时修改页面的body标签的onload中调用media_play()函数.

3.3浏览器的处理

该浏览器为简单的嵌入式浏览器,针对视频应用,浏览器扩展了MediaPlay方法,用以支持页面内嵌视频的处理,其主要方法和属性如下:(1)初始化及设置播放来源:该类接口主要实现对播放器的初始化,反初始化及播放源的设置.接口主要包含:a)setSingleMedia(href,transType):设置播放来源,href字符串表示节目的路径,该接口在播放器开始播放前调用b)init(void):使用播放器前调用,申请系统资源;

c)releaseMediaPlayer(void):播放器使用完毕后调用,释放系统资源.

a)播放控制接口:控制播放器的动作,包括播放,暂停,恢复播放,停止,快进,快退等.接口包含:play():开始播放;b)pause():暂停当前播放;

c)resume():从暂停状态开始恢复播放;

d)stop():停止当前节目播放;

e)fastForward(speed):按照speed指定的速率快进播放,speed取值范围为1-32,播放到结束时自动停止播放;f)fastRewind(speed):按照speed指定的速率快退播放,speed取值范围为1-32,播放到开头时自动转为播放;(2)音量设置接口:该部分接口主要实现音量的增减,静音等.其中包含:

a)setVolume(volume):设置音量大小,参数取值为0—100,0表示静音;

b)getVolume():获取当前音量大小,返回值为0—100范围取值.

(3)播放器窗口设置接口:主要用于实现播放窗口的定位,大小等控制.接口包含:a)playWindowMode(mode):设置窗口模式,参数为0表示全屏模式,1表示小窗口模式;

b)playX:窗口位置X坐标,坐标起始位置为左上角;

c)playY:窗口位置Y坐标,坐标起始位置为左上角;

d)playW:窗口宽度;

e)playH:窗口高度.

(4)播放属性获取接口:该类接口主要获取播放节目的属性,其中包含:

a)playStartTime:播放开始时间,单位为秒;

b)playEndTime:播放结束时间,单位为秒;

c)playMute:播放是否静音,0非,1是;

d)playVolume:当前播放音量,返回值为0—100;e)playTrack:当前播放的声道,0表示全部,1表示左声道,2表示右声道;

f)playScreenScale:播放模式是16:9或者4:3,0表示16:9,1表示4:3;

(5)其它控制接口,其中包含:

a)playAutoplay:是否自动播放;

b)playVideoClear:是否清除屏幕;

c)playStopCurrent:是否强制播放.

使用该自定义播放器对象,可以在浏览器窗口中嵌入播放内容,并将表单对象(如按钮等)关联到对应的JaScript接口,实现视频的播放,暂停,快进,快退等操作.

3应用实例

在一款采用ARMCPU核心的硬盘播放器方案中,其CPU主频为600MHz,内存为128M,CPU内部集成了全媒体硬件解码芯片,可以处理解析播放主流的音视频格式.为使该设备可以访问观看互联网上的视频类节目,笔者采用了本设计的方案进行功能实现.其中,采用GTK开源图形库,Dillo开源的简单浏览器,自己

本文是一篇嵌入式论文范文,嵌入式有关学士学位论文,关于基于代理服务的HTML5视频网站访问方法相关电大毕业论文范文。适合嵌入式及互联网及视频方面的的大学硕士和本科毕业论文以及嵌入式相关开题报告范文和职称论文写作参考文献资料下载。

;编写了代理服务服务部分的代码.

采用该方案,我们针对奇艺网站实现了HTML5的转换,采集和重新排版,代理服务部分主要完成了数据采集和过滤,并简化了最终的播控页面,终端播放器上可以观看来自qiyi的节目内容,并且内容可以跟随奇艺的更新.图3和图4分别是采集前后的不同页面效果.

可见采集后,去除了原始页面的广告,关联视频等内容,实现了视频的独立和流畅播放.

4结论

采用代理服务的方法,可以较好的解决嵌入式设备访问HTML5视频网站的局限,为机顶盒等资源有限的嵌入式设备提供访问标准互联网的途径.随着设备处理能力的提高,嵌入式设备中有可能运行全功能的支持HTML5的浏览器,终端因此可以直接访问互联网页面;但这种情况下,采用代理服务的方案,可以过滤和修改回复页面中的某些特殊字段,提高终端的兼容性.

相关论文

视频网站掘金在线直播演唱会

本文是一篇互联网论文范文,关于互联网类毕业论文格式范文,关于视频网站掘金在线直播演唱会相关毕业论文格式范文。适合互联网及演唱会及视频。

视频网站未来路在何方

本文是一篇互联网论文范文,互联网类本科论文开题报告,关于视频网站未来路在何方相关毕业论文开题报告范文。适合互联网及视频及社交方面的的。

关于视频网站模式的

本文是一篇营销模式论文范文,营销模式类有关毕业论文格式模板,关于关于视频网站模式的相关本科论文范文。适合营销模式及视频及网站方面的的。

规范村级会计委托代理服务的

此文是一篇委托代理论文范文,委托代理有关论文范文集,与规范村级会计委托代理服务的相关研究生毕业论文开题报告。适合不知如何写委托代理及。

村级会计代理服务工作

本文是一篇会计工作论文范文,会计工作方面毕业论文的格式,关于村级会计代理服务工作相关硕士论文范文。适合会计工作及财务管理及财务会计方。