徐鎮(zhèn)輝
?
基于HTML5的視頻網(wǎng)站設(shè)計與Web前端EPG系統(tǒng)實現(xiàn)
徐鎮(zhèn)輝
(漳州職業(yè)技術(shù)學(xué)院 計算機工程系,福建 漳州 363000)
HTML5是W3C制定的一個Web新標準,由它帶來的前端技術(shù)變革已經(jīng)對Web應(yīng)用產(chǎn)生了巨大的影響。分析了視頻分享網(wǎng)站的設(shè)計原則,提出基于HTML5的系統(tǒng)架構(gòu)和功能設(shè)計,并對HTML5的技術(shù)特點,尤其對HTML5中新的頁面結(jié)構(gòu)元素、智能表單控件和屬性、多媒體內(nèi)嵌對象等新特性進行深入理解和探索,將這些新特性恰當(dāng)?shù)貞?yīng)用于視頻分享網(wǎng)站的Web前端EPG系統(tǒng)的設(shè)計中。
HTML5;Web應(yīng)用;視頻分享網(wǎng)站;Web前端EPG系統(tǒng)
隨著寬帶網(wǎng)絡(luò)的普及、硬盤空間的價格持續(xù)降低以及音視頻編碼技術(shù)的發(fā)展,視頻分享網(wǎng)站在互聯(lián)網(wǎng)上已經(jīng)流行起來。國外受歡迎的視頻分享網(wǎng)站有YouTube、Hulu等,國內(nèi)規(guī)模較大的有土豆(Tudou)、優(yōu)酷(Youku)、六間房(6.cn)、魔方網(wǎng)(Mofile)等,還隨處可見小型的視頻分享站點。這些都是Web2.0時代的產(chǎn)物,充分體現(xiàn)了Web2.0互動、分享、交流的核心理念。可如今Web應(yīng)用即將進入HTML5的時代,特別是基于HTML5的Web App將為互聯(lián)網(wǎng)的應(yīng)用帶來跨越式的發(fā)展。
HTML5規(guī)范于已2012年底正式定稿,是開放Web網(wǎng)絡(luò)平臺的奠基石,包括 HTML、CSS 和 Javascript在內(nèi)的一套技術(shù)的組合。它彌補了HTML4在交互、媒體和本地操作等方面的不足,支持當(dāng)前多樣的、復(fù)雜的Web 內(nèi)容。在HTML5中,新增了許多帶有語義性的標記,來加速瀏覽器解釋頁面中元素的速度;新增了許多交互體驗元素,提升用戶的體驗度;新增了許多新的表單控件和屬性,完善表單的功能;新增了對多媒體標簽的支持,從此脫離插件的羈絆;除此之外,HTML5在離線瀏覽、本地存儲、Web Socket以及Web Workers等方面也有獨特之處,已經(jīng)受到許多業(yè)內(nèi)巨頭的青睞,包括Adobe、蘋果、谷歌、微軟、Mozilla基金會、Opera軟件公司等紛紛支持HTML5。HTML5被認為是未來互聯(lián)網(wǎng)發(fā)展的一個重要方向,目的是將Web帶入一個成熟的應(yīng)用平臺[1]。
視頻分享網(wǎng)站的設(shè)計應(yīng)以視頻用戶的習(xí)慣和需求來進行,除了要求內(nèi)容正確客觀、時尚創(chuàng)新之外,還應(yīng)該具備易用性、互動性和超前性。而基于HTML5的視頻分享網(wǎng)站不僅在現(xiàn)階段具有先進性,更重要的是還能適應(yīng)目前UCD(User Center Design)以用戶為中心的設(shè)計需求,提供給用戶新的Web體驗方案,讓用戶僅僅安裝一個瀏覽器,無需安裝其他任何應(yīng)用程序,就可以更方便地更快速地享受高清流暢的富客戶端的觀影體驗。
該基于HTML5的視頻分享網(wǎng)站系統(tǒng)采用B/S的三層架構(gòu)體系,通過將數(shù)據(jù)層、商務(wù)層和表示層三層分離,不但方便項目的開發(fā),而且還可以提高系統(tǒng)的安全性和可擴展性。該系統(tǒng)功能包含三大模塊,分別為:視頻服務(wù)推送系統(tǒng)、多媒體內(nèi)容管理系統(tǒng)和視頻服務(wù)Web 前端EPG系統(tǒng)。
其中,視頻服務(wù)推送系統(tǒng),即流媒體服務(wù)系統(tǒng),主要為用戶提供視頻的點播和直播服務(wù)[2]。首先分別對點播和直播的數(shù)據(jù)源進行處理:對于采集來的直播型數(shù)據(jù)源,先由編碼器將其編碼成H.264視頻編碼和AAC音頻編碼的格式并封裝為MPEG-2 TS文件后再輸入到流分割器中,由分割器將此文件切割成以10秒一段的TS文件,同時生成M3U8的索引文件,并隨新數(shù)據(jù)的產(chǎn)生不斷更新索引文件;對于點播型數(shù)據(jù)源,采用MP4進行封裝,同時也創(chuàng)建索引文件,但索引文件中只指向一個獨立的MP4文件[3,4]。然后由Web服務(wù)器或Web緩存系統(tǒng)把這些處理好欲分發(fā)的視頻文件推送出去。
多媒體內(nèi)容管理系統(tǒng)主要對存放在存儲設(shè)備上的多媒體文件進行管理,包括用戶管理、視頻的上傳、在線編輯、檢索、分類、評論等功能[2]。
本文所探討的Web 前端EPG系統(tǒng)是視頻網(wǎng)站前端的網(wǎng)站系統(tǒng),采用HTML5技術(shù)。用戶通過能支持HTML5 Video標簽和HTTP流協(xié)議的瀏覽器如IE9、Firefox 4.0、Opera11和Chrome10等來訪問Web頁面,通過URL地址先引用視頻分發(fā)系統(tǒng)中的影片索引文件,再由影片索引文件關(guān)聯(lián)到服務(wù)器上的視頻資源。該模塊主要為用戶提供一個良好的視頻服務(wù)導(dǎo)航機制,一方面將視頻節(jié)目的附加信息,如內(nèi)容簡介、演員、導(dǎo)演等基本信息提供給用戶參考,方便用戶選擇自己喜歡的視頻節(jié)目并觀看;另一方面提供用戶評價系統(tǒng),讓用戶看完后對影片進行評價和反饋。
為了使頁面結(jié)構(gòu)更加清晰明確和容易閱讀,HTML5中增加了許多新的頁面結(jié)構(gòu)元素[5],如表1所示。
表1 HTML5中新增的頁面結(jié)構(gòu)元素
本W(wǎng)eb 前端EPG系統(tǒng)的頁面在結(jié)構(gòu)上主要是以圖1的形式設(shè)計的,用
頁面效果如圖2所示,主要的代碼如下:
……
……
KYLE休閑小站2013版權(quán)所有
圖1 頁面結(jié)構(gòu)
圖2 主頁頁面效果
表單在Web中有著很重要的作用,它是系統(tǒng)中前臺和后臺服務(wù)器數(shù)據(jù)交互的一個重要載體。在傳統(tǒng)的HTML4中,很多表單功能如輸入類型檢查、格式驗證、非空校驗、自動提示等都依賴于Javascript代碼來實現(xiàn),而HTML5在傳統(tǒng)表單的基礎(chǔ)上尤其對input元素進行了大量的修改,如表2所示增加了許多新的表單類型和屬性[6]。
表2 HTML5新表單輸入類型和表單屬性
有了這些新的類型和屬性,開發(fā)人員不用編寫代碼就可對用戶輸入的數(shù)據(jù)進行控制和驗證,在構(gòu)建Web頁面時變得更加方便和快捷。本W(wǎng)eb前端EPG系統(tǒng)的用戶注冊表單頁面效果如圖3所示,其中昵稱、密碼、出生日期、年齡、電話號碼、email為必填項且有相對應(yīng)的輸入要求或提示,該表單具有檢驗輸入類型檢查、格式驗證、非空檢驗等功能,如若必填項為空時,將提示如圖3中“請?zhí)顚懘俗侄巍钡奶崾?,主要的代碼如下:
必填,最長不超過32字符,自動獲得焦點;
必填,最長不超過16字符;
必填,日期型;
必填,值介于1~150;
必填,特定格式驗證;
必填,email類型;
可選,color類型;
可選,應(yīng)符合URL格式;
可填寫個人的興趣、愛好等
圖3 用戶注冊表單頁面效果
HTML5中對多媒體的支持主要是通過內(nèi)嵌對象來實現(xiàn)的,主要包括Canvas、Audio、Video等元素。Canvas元素有著非常重要的作用,它像一塊畫布,通過該元素自帶的API結(jié)合Javascript代碼可以在這個畫布上繪制各類圖形圖像以及動畫效果;而Video和Audio作為視頻、音頻專門的特征標記首批被加入到HTML5標準中,使視頻、音頻從此不必綁定在Object或Embed 標記中了,而且瀏覽器不需要任何的插件就能夠原生地支持視頻、音頻、動畫,既提高了Web應(yīng)用的安全性和穩(wěn)定性,還在一定程度上提高了用戶體驗。
本W(wǎng)eb前端EPG系統(tǒng)的視頻播放頁面如圖4所示。由于在HTML5中并沒有給音視頻指定一個特定的編碼,而由瀏覽器決定要支持哪些編碼,導(dǎo)致了很多不一致。常見的視頻解碼器有H.264、VP8和Ogg Theora,音頻解碼器有AAC和Ogg Vorbis[3]。為了能夠覆蓋當(dāng)前所有能夠支持HTML5的瀏覽器,需要事先準備好各種編碼格式的文件,用Audio或Video標簽來導(dǎo)入音頻或視頻文件時需用source元素來鏈接這些不同編碼格式的媒體文件,同時用Canvas元素來實現(xiàn)視頻屏幕截圖功能,主要代碼如下:
利用canvas元素來實現(xiàn)截圖的函數(shù)代碼如下:
function CatchPicture()
{
var canvas=document.getElementById("canvas");
var ctx=canvas.getContext('2d');
canvas.width=video.videoWidth;
canvas.height=video.videoHeight;
ctx.drawImage(video,0,0,canvas.width,canvas.height);
canvas.style.display="block";
}
圖4 視頻播放頁面效果
HTML5具有的新功能新特性,不但強化了Web網(wǎng)頁的表現(xiàn)性能,增強了Web應(yīng)用的安全性和穩(wěn)定性,而且使互聯(lián)網(wǎng)的可交互內(nèi)容越來越豐富完美,極大地提升了用戶的體驗度。同時它改變了傳統(tǒng)HTML4開發(fā)的模式,大大減少了網(wǎng)頁的代碼量,也大大提高了開發(fā)人員的開發(fā)效率。HTML5是近十年來Web開發(fā)標準最巨大的飛躍,具有廣闊的應(yīng)用前景,但瀏覽器支持的問題仍然是HTML5目前發(fā)展中存在的主要問題,主流的Web在轉(zhuǎn)至HTML5之前還有很長的路要走,所幸的是它已經(jīng)受到越來越多人的關(guān)注與研究,相信在不久的將來HTML5標準將趨于完善。
[1] 王江靜.Web應(yīng)用的新技術(shù)HTML5[J].電腦知識與技術(shù),2012(11):7462-7465.
[2] 錢戴明.視頻及多媒體內(nèi)容管理系統(tǒng)的研究與實現(xiàn)[D].東華大學(xué),2011:30-31.
[3] 孫丹鶴,王振.基于HTML5的視頻網(wǎng)站播控系統(tǒng)[J].電腦知識與技術(shù),2011(36):9517-9518.
[4] 梁洪波.基于代理服務(wù)的HTML5視頻網(wǎng)站訪問方法研究[J].電腦知識與技術(shù),2012(15):3514-3527.
[5] 俞華鋒.基于HTML5的網(wǎng)頁設(shè)計與實現(xiàn)[J].科技信息,2012(29):115-116.
[6] 張純濤.基于HTML5的SNS教學(xué)信息平臺的設(shè)計與實現(xiàn)[D].中山大學(xué),2011:61-72.
The Implementation in Video Websites Design Based on HTML5 And Web Front End EPG System
XU Zhen-hui
(Department of Computer Engineering, Zhangzhou Institute of Technology, Zhangzhou 363000, China)
HTML5, a new Web standard formulated by W3C, has a great effect on the application of Web. Firstly, this text analyzes the design principles of video sharing website, putting forward the system architecture and function design, which are based on HTML5, and further explores its technical features, especially its new page structure elements, smart meter control and multi-media embedded object, finally applies these new features to the design of Web front end EPG system in video sharing website.
HTML5;the application of Web;video sharing website;Web front end EPG system
2013-03-05
徐鎮(zhèn)輝(1979-),男,福建漳浦人,講師,碩士。
TP393
A
1673-1417(2013)02-0001-06
(責(zé)任編輯:季 平)