一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何使用HTML5嵌入視頻

 思考的軌跡 2011-11-25

如何使用HTML5嵌入視頻


如何使用 HTML5 語(yǔ)法在 Web 頁(yè)面中嵌入視頻呢?非常簡(jiǎn)單:

<video id=”sampleMovie” src=”HTML5Sample.mov” controls></video>

就是這些!這就是向網(wǎng)站添加視頻播放器所需的全部工作,無(wú)需任何第三方插件或嵌入其他網(wǎng)站的代碼,只要一個(gè)簡(jiǎn)單的標(biāo)記即可。

實(shí)際情況可沒(méi)有這么簡(jiǎn)單。

HTML5 的復(fù)雜性與語(yǔ)法無(wú)關(guān),而是源自瀏覽器支持和視頻編碼。Web 開(kāi)發(fā)人員習(xí)慣了糾結(jié)于瀏覽器的兼容性,但瀏覽器制造商在編解碼器標(biāo)準(zhǔn)方面的分歧更讓人頭疼。為了構(gòu)建一個(gè)成功的 HTML5 網(wǎng)站,您需要考慮 Chrome 4、Firefox 4 和 Internet Explorer 之類的現(xiàn)代瀏覽器如何實(shí)現(xiàn) HTML5 視頻 Web 標(biāo)準(zhǔn),以及如何處理用戶在舊版瀏覽器中查看視頻的情況。

限制和好處

首先,要設(shè)定期望值,您應(yīng)該知道播放視頻時(shí) HTML5 的限制。

HTML5 規(guī)范中目前還沒(méi)有包括全屏播放。目前只有幾個(gè)瀏覽器(不是全部)支持全屏播放。

默認(rèn)的播放器菜單都是非常基礎(chǔ)的,而在品牌認(rèn)知的皮膚或復(fù)雜的觀感上可能花了很多開(kāi)發(fā)精力。除此之外,不同的瀏覽器仍以不同的方式實(shí)現(xiàn) HTML5 和 CSS。例如,添加圓角時(shí),您的視頻播放器在 IEFirefox 中看起來(lái)可能是圓角,但在 Chrome 和 Safari 中還是方的。

規(guī)范不允許平滑或自適應(yīng)流,而這是一個(gè)正規(guī)視頻播放網(wǎng)站的基本功能。

更重要的是,規(guī)范并不(而且顯然不會(huì))包括數(shù)字版權(quán)管理 (DRM)。這意味著永遠(yuǎn)不會(huì)通過(guò) HTML5 傳遞受版權(quán)保護(hù)的內(nèi)容(至少版權(quán)持有人不會(huì))。

當(dāng)然還有編解碼器的問(wèn)題。稍后將提供此主題的更多信息。

您放棄這些東西后得到了什么?實(shí)際上,得到的不多。

首先,不專注于視頻的網(wǎng)站其開(kāi)發(fā)人員可以更加容易地實(shí)現(xiàn)網(wǎng)站流媒體,而無(wú)需通過(guò)第三方視頻網(wǎng)站,如YouTube 或 Vimeo 等。以前,開(kāi)發(fā)人員直接嵌入視頻有三種主要的選擇:

  • 嵌入必須完整下載后才能播放的非流媒體文件
  • 購(gòu)買(mǎi)第三方插件(這不一定適用于所有瀏覽器)
  • 使用專用的媒體服務(wù)器,這是一個(gè)非常昂貴且/或?qū)τ诖蟛糠志W(wǎng)站而言太過(guò)復(fù)雜的解決方案

HTML5 允許開(kāi)發(fā)人員在無(wú)需其他第三方軟件支持的可更換皮膚播放器中實(shí)現(xiàn)流媒體,從而緩解了這些問(wèn)題。

第二,HTML5 規(guī)范允許開(kāi)發(fā)人員為已有定論的平臺(tái)提供視頻,如iOS 產(chǎn)品(iPhone、iPad)。但看待這個(gè)問(wèn)題的方式有點(diǎn)不同,它使開(kāi)發(fā)人員從限制或控制如何交付媒體的專有交付平臺(tái)中解放出來(lái)。畢竟,這是開(kāi)放標(biāo)準(zhǔn)的目的所在。

最后,HTML5 不是外來(lái)的技術(shù),它是HTML 的最新修訂版。這意味著 JavaScript 和 CSS 能夠與它很好地協(xié)作。與現(xiàn)有的 HTML 源代碼一樣,開(kāi)發(fā)人員可以在客戶端或服務(wù)器端操作這些代碼。

視頻編解碼器

前文已經(jīng)提到,HTML5 視頻最大的挑戰(zhàn)是在多個(gè)編碼解碼器中準(zhǔn)備和納入您的內(nèi)容。目前,每個(gè)瀏覽器有其自己的首選視頻格式。非無(wú)縫實(shí)現(xiàn)的 HTML5 視頻將會(huì)變得更糟。

現(xiàn)在視頻編碼有三種選擇:

  1. H.264 – 一種可以利用硬件加速的流行格式,由桌面和設(shè)備的圖形芯片提供支持;也是市場(chǎng)上許多較新的視頻和移動(dòng)設(shè)備的默認(rèn)錄制格式;但是,該格式是有專利的,雖然對(duì)非商業(yè)用途仍然免費(fèi),但它很復(fù)雜,也比較昂貴。請(qǐng)參考此文檔了解更詳細(xì)信息。何時(shí)進(jìn)行商業(yè)內(nèi)容分發(fā)。支持:IE 9、Safari 3.1 和 Chrome(目前)
  2. Ogg Theora – 一個(gè)開(kāi)放標(biāo)準(zhǔn),沒(méi)有專利問(wèn)題,是免費(fèi)的。支持:Firefox 3.5、Chrome 4、Opera 10.5。
  3. VP8 (WebM) – 一個(gè)較新的標(biāo)準(zhǔn),最近被 Google 收購(gòu),并作為一個(gè)開(kāi)源發(fā)布,免費(fèi)(但仍有專利)的格式。支持:Firefox 4.0、Chrome 6.0、Opera 10.6。

下圖可讓您更容易了解此內(nèi)容:

各瀏覽器對(duì)HTML5視頻解碼的支持情況

圖 1.1

Chrome 值得特別一提,因?yàn)?Google 實(shí)際將刪除對(duì)三種 HTML5 視頻格式之一的支持。收購(gòu) On2(WebM 格式的開(kāi)發(fā)商和贊助商)后,Google 宣布以后的 Chrome 的版本將不再支持 H.264。他們已經(jīng)根據(jù) BSD 許可證發(fā)布了 WebM,授予全球用戶免費(fèi)、非獨(dú)占的、免版稅的專利許可。雖然 Chrome 是目前唯一支持所有三種格式的瀏覽器,但市場(chǎng)將會(huì)很快分成兩個(gè) OS 默認(rèn)的瀏覽器陣營(yíng),只支持 H.264 的 Internet Explorer 和 Safari,以及支持除 H.264 外其他標(biāo)準(zhǔn)的所有其他瀏覽器。

嚴(yán)重警告:為了簡(jiǎn)化此處的討論,本說(shuō)明不深入探討三種基本格式之間的差異。一旦涉及視頻和音頻配置文件的不同可能性,以及視頻和音頻容器和編解碼器之間的區(qū)別,事情會(huì)變得更加復(fù)雜。例如,雖然 iPhone 4 用 H.264 格式錄制視頻,但不能將該視頻直接放到 HTML5 網(wǎng)站;必須先通過(guò)轉(zhuǎn)換器運(yùn)行它。

最好能有一個(gè)無(wú)所不包的公告,說(shuō)明視頻標(biāo)準(zhǔn)X 是普遍支持的,應(yīng)該作為HTML5 視頻的首選格式。不幸的是,正如您從上文看到的,情況并非如此。如果您包括用戶驅(qū)動(dòng)的瀏覽器擴(kuò)展,那么支持最廣泛的格式就是 Ogg Theora。但是,你不能假定用戶,特別是公司工作場(chǎng)所中的用戶,只是為了觀看 HTML5 視頻就擁有安裝其他視頻編解碼器或?yàn)g覽器擴(kuò)展的知識(shí)或能力。如果出于某種原因,您必須選擇某一個(gè)視頻編解碼器,應(yīng)該選擇哪一個(gè)?這不一定??紤]以下選擇:

H.264

在這三個(gè)標(biāo)準(zhǔn)中,H.264 最具人氣,質(zhì)量可靠,受到了媒體專業(yè)人士的認(rèn)可。它還受到一些業(yè)內(nèi)最大公司的支持,包括Microsoft 和蘋(píng)果,具有MPEG LA 的授權(quán)。因此也有個(gè)最主要的問(wèn)題:H.264 不是免費(fèi)的。

對(duì)于消費(fèi)者來(lái)說(shuō),它當(dāng)然是免費(fèi)的。大部分開(kāi)發(fā)人員都不用擔(dān)心授權(quán)問(wèn)題(目前)。但是,視頻分發(fā)網(wǎng)站就不一定了。H.264 專利授權(quán)的來(lái)龍去脈超出了本文的范圍(而且很容易讓人糊涂),只要說(shuō)大家有很多問(wèn)題就夠了。

對(duì)于大多數(shù)開(kāi)發(fā)人員,專利問(wèn)題將很大程度上歸結(jié)于開(kāi)放標(biāo)準(zhǔn)和圖像質(zhì)量之間的哲學(xué)爭(zhēng)論。與 Ogg(參見(jiàn)下文)和VP8 (WebM) 相比,H.264 提供了更高的圖像質(zhì)量和更好的媒體流。由于包括 PC 和移動(dòng)設(shè)備等多種平臺(tái)上都具有硬件加速功能,它還具備性能優(yōu)勢(shì)。

最后,考慮易生產(chǎn)性,這不是一個(gè)無(wú)關(guān)緊要的問(wèn)題。所有主要的視頻編輯器,包括 Final Cut、Adobe Premiere 和 Avid,都導(dǎo)出為 H.264 格式。Ogg Theora 或 VP8 則不行。如果您的商店生產(chǎn)自己的視頻,并且數(shù)量眾多,那么僅使用 H.264 將節(jié)省很多工作。

Ogg Theora

Ogg 是唯一一個(gè)真正沒(méi)有專利負(fù)擔(dān)的標(biāo)準(zhǔn)。但是,也可以說(shuō)是質(zhì)量最低的標(biāo)準(zhǔn),雖然相差其實(shí)不多。與H.264 的多次短兵相接發(fā)現(xiàn),H.264 仍占上風(fēng)。雖然 Ogg 可將內(nèi)容編碼為更緊湊的文件,但它產(chǎn)生的圖像品質(zhì)比 H.264 的要低,并且在媒體流能力上會(huì)更差。

VP8 (WebM)

在高質(zhì)量但存在專利問(wèn)題 (H.264) 和質(zhì)量較差但免費(fèi) (Ogg) 這兩個(gè)極端之間,VP8 占有一席之地,它可能三個(gè)標(biāo)準(zhǔn)中最具爭(zhēng)議的一個(gè)。到目前為止,測(cè)試表明 H.264 提供的視頻品質(zhì)比 VP8 略高,但這種差異在大多數(shù)商業(yè)活動(dòng)中可以忽略不計(jì)。

更大的問(wèn)題在于開(kāi)放標(biāo)準(zhǔn)。一方認(rèn)為,Google 遠(yuǎn)離了 H.264 轉(zhuǎn)而支持其“開(kāi)放”WebM 標(biāo)準(zhǔn),甚至在 Creative Commons 許可證下發(fā)布了 WebM。另一方面,有很多人爭(zhēng)論說(shuō),在這種情況下,“開(kāi)放”可能不是真正意義上的“開(kāi)放”。以 JPEG 訴訟為例,Microsoft 指出,即使 WebM 不會(huì)出現(xiàn) Google 引起的專利問(wèn)題,如果沒(méi)有 Google 明確的用戶免責(zé)申明,許多公司和個(gè)人部署 WebM 視頻時(shí),都有可能讓自己面臨 MPEG LA 的專利侵權(quán)訴訟。

總之,在大多數(shù)情況下,沒(méi)有一種辦法能滿足所有情況下所有項(xiàng)目的需要。但對(duì)于大多數(shù)情況下的大多數(shù)項(xiàng)目,您可能都希望使用 H.264。它不僅僅是生產(chǎn)和消費(fèi)端使用最廣泛的格式,而且由于硬件加速而具有明顯的性能優(yōu)勢(shì)。對(duì)于商業(yè)的視頻網(wǎng)站,為了開(kāi)拓新市場(chǎng),可能必須咬緊牙關(guān)支付龐大的許可費(fèi)。

但是,這場(chǎng)辯論往往由于一個(gè)主要因素而無(wú)果而終:現(xiàn)在或在不久的將來(lái),所有瀏覽器是否都支持 HTML5。但是,并非所有瀏覽器都支持所有編解碼器。就像您不會(huì)編寫(xiě)在 IE 中看起來(lái)不錯(cuò),但在 Firefox 中一團(tuán)糟的樣式表一樣,您希望創(chuàng)建跨平臺(tái)兼容的視頻標(biāo)簽。

視頻轉(zhuǎn)換器

對(duì)于開(kāi)發(fā)人員,這意味著在實(shí)際情況下需要將視頻內(nèi)容至少編碼為兩種視頻格式(最好是三個(gè))才能符合 HTML5 規(guī)范的要求。幸運(yùn)的是,有幾個(gè)工具隨時(shí)可以幫助您完成此任務(wù)。

Miro Video Converter:您的主要工具,此開(kāi)放源代碼轉(zhuǎn)換器有 Mac 和 Windows 版本,可以將幾乎所有視頻源轉(zhuǎn)換為所有可能要使用的 HTML5 格式,以及幾個(gè)其他設(shè)備和平臺(tái)特定的格式。

Handbrake:另一種用于 Mac 和 Windows(和 Linux)的開(kāi)放源代碼轉(zhuǎn)換器,Handbrake 是專門(mén)轉(zhuǎn)換為 H.264 的出色工具。

MPEG Streamclip ():MPEG Streamclip 雖然是不開(kāi)放源代碼,但Mac 和 Windows 用戶可以免費(fèi)使用。它也處理 lH.264,同時(shí)它也可以轉(zhuǎn)換為 HTML5 規(guī)范之外的許多其他有用格式。

Firefogg:一種專業(yè)工具,F(xiàn)irefogg 是一個(gè) Firefox 擴(kuò)展,只能將視頻轉(zhuǎn)換為 Ogg 的格式,并因此得名。要使用它,需要先下載 Firefox,然后再安裝擴(kuò)展。

<video>標(biāo)記

您應(yīng)該會(huì)記得,HTML5 在嵌入視頻時(shí)本質(zhì)上歸結(jié)為使用一個(gè)標(biāo)記:<video>。但正如其他 HTML 標(biāo)記一樣,有很多參數(shù)選項(xiàng)。以下是標(biāo)記本身中的一些要點(diǎn):

src:視頻源的位置和名稱,它的工作原理與 <img> 標(biāo)記的 src 參數(shù)相同。但是要注意,在這里不是識(shí)別視頻源,您可以并且也應(yīng)該在標(biāo)記外部識(shí)別(參見(jiàn)下文)。

<video id=”sampleMovie” src=”HTML5Sample.mov”></video>

width和height:(可選)視頻的尺寸。更準(zhǔn)確地說(shuō),這是視頻幀寬度和高度,而不是視頻本身。與 <img> 相似,省去此選項(xiàng)將導(dǎo)致瀏覽器使用視頻源的默認(rèn)尺寸。但是與 <img> 不同的是,使用與源不同的大小將縮放視頻,而不是扭曲它。換句話說(shuō),嵌入的視頻將保留其源的比率。如果您指定的大小小于源,整個(gè)視頻將會(huì)縮小。但是,如果您指定的大小大于源,視頻將以其原始大小顯示,所指定尺寸的其余部分將使用空白區(qū)域填充。

<video id=”sampleMovie” src=”HTML5Sample.mov” width=”640” height=”360”></video>

controls:添加默認(rèn)視頻控件覆蓋。如果您不想創(chuàng)建自己的自定義控件,這是非常有用的。但是,如果想深入研究自定義播放器控件,可以使用 JavaScript 和 CSS。該規(guī)范允許操作 play ()、pause()、currentTime、volume、muted 等方法和屬性。

<video id=”sampleMovie” src=”HTML5Sample.mov” controls></video>

preload:只要用戶點(diǎn)擊頁(yè)面就開(kāi)始下載視頻。要指示預(yù)加載視頻,只需包括該屬性。要指示其不預(yù)加載,將該屬性設(shè)置為等于”none”。

<video id=”sampleMovie” src=”HTML5Sample.mov” preload></video>

<video id=”sampleMovie” src=”HTML5Sample.mov” preload=”none”></video>

autoplay:流氓參數(shù)。該參數(shù)指示瀏覽器加載頁(yè)面時(shí)就播放視頻。不要使用它。

<video id=”sampleMovie” src=”HTML5Sample.mov” autoplay></video>

接下來(lái)是見(jiàn)證奇跡的時(shí)刻。HTML5 規(guī)范包括一個(gè)方便的古怪功能,可以彌補(bǔ)當(dāng)前圍繞視頻格式所發(fā)生的瀏覽器功能障礙。不使用 src 屬性指定視頻源,您可以在<video> 標(biāo)記中嵌套多個(gè)標(biāo)記,每個(gè)都有不同的視頻源。瀏覽器將自動(dòng)瀏覽列表并選擇第一個(gè)能夠播放的視頻。例如:

<video id=”sampleMovie” width=”640″ height=”360″ preload controls>

<source src=”HTML5Sample_H264.mov” />

<source src=”HTML5Sample_Ogg.ogv” />

<source src=”HTML5Sample_WebM.webm” />

</video>

如果在 Chrome 中測(cè)試該代碼,將獲得 H.264 視頻。但是在 Firefox 中運(yùn)行它,會(huì)在相同的地方看到 Ogg 視頻。

理想情況下,雖然不是所有瀏覽器都絕對(duì)需要,您應(yīng)該在 type 參數(shù)中包括 MIME 類型,確保與所有的瀏覽器兼容。此參數(shù)應(yīng)指定視頻類型,以及視頻和音頻編解碼器。參數(shù)的細(xì)節(jié)取決于視頻的編碼方式。在這里可以找到很多可能的方案:http://wiki./wiki/Video_type_parameters。

<video id=”sampleMovie” width=”640″ height=”360″ preload controls>

<source src=”HTML5Sample_H264.mov” type=’video/mp4; codecs=”avc1.42E01E, mp4a.40.2″‘ />

<source src=”HTML5Sample_Ogg.ogv” type=’video/ogg; codecs=”theora, vorbis”‘ />

<source src=”HTML5Sample_WebM.webm” type=’video/webm; codecs=”vp8, vorbis”‘ />

</video>

有關(guān)正在使用的所有三種視頻類型的示例,請(qǐng)?jiān)L問(wèn)我的站點(diǎn)。

在此頁(yè)面上,您會(huì)看到三個(gè)不同視頻的源代碼:H.264、Ogg 和 WebPM。視頻本身標(biāo)有它們的編解碼器,以便您查看瀏覽器中顯示的內(nèi)容。

關(guān)于 MIME 類型的一個(gè)小竅門(mén):您的服務(wù)器需要配置為可識(shí)別各種類型。對(duì)于 Windows Server,這意味著將不同的 MIME 類型項(xiàng)添加到 IIS。對(duì)于 Apache 服務(wù)器,您需要將 AddType 指令添加到 httpd.conf 或本地 .htaccess 文件中:

AddType video/ogg .ogv

AddType video/mp4 .mp4

AddType video/webm .webm

優(yōu)雅降級(jí)

雖然完整的多源 <video> 標(biāo)記可在多個(gè) HTML5 就緒的瀏覽器上工作,但它仍然沒(méi)有解決舊的、HTML5 之前的瀏覽器問(wèn)題。幸運(yùn)的是,該規(guī)范包括一個(gè)向下兼容機(jī)制。

將目前正在使用的任何<object> 標(biāo)記,或者將使用的 HTML5 之前的標(biāo)記,添加到 <source> 參數(shù)列表的底部。通常情況下,此對(duì)象將指定您使用的播放器(假定是第三方插件),以及該播放器的參數(shù)和源。下例使用流行的免費(fèi)第三方播放器 Flowplayer。

<video id=”sampleMovie” width=”640″ height=”360″ preload controls>

<source src=”HTML5Sample_H264.mov” type=’video/mp4; codecs=”avc1.42E01E, mp4a.40.2″‘ />

<source src=”HTML5Sample_Ogg.ogv” type=’video/ogg; codecs=”theora, vorbis”‘ />

<source src=”HTML5Sample_WebM.webm” type=’video/webm; codecs=”vp8, vorbis”‘ />

<object type=”application/x-shockwave-flash” data=”http://releases./swf/flowplayer-3.2.1.swf” width=”640″ height=”360″>

<param name=”movie” value=”http://releases./swf/flowplayer-3.2.1.swf” />

<param name=”allowFullScreen” value=”true” />

<param name=”wmode” value=”transparent” />

<param name=”flashvars” value=’config={“clip”:{“url”:”HTML5Sample_flv.flv”,”autoPlay”:false,”autoBuffering”:true}}’ />

</object>

</video>

這篇精彩文章更詳細(xì)地解釋了這一點(diǎn):Kroc Camen “Video for Everybody“。您還可以從這里查找包含所有三種視頻格式和 flash 對(duì)象的代碼生成器:Jonathan Neal 的 “Video for Everybody Generator”。

資源

查看以下內(nèi)容,了解HTML5 視頻的更多信息,包括特定編解碼器的復(fù)雜性:

via:Justin Whitney

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲国产av国产av| 九九热九九热九九热九九热| 国产精品夜色一区二区三区不卡| 办公室丝袜高跟秘书国产| 视频一区中文字幕日韩| 加勒比日本欧美在线观看| 高清免费在线不卡视频| 黄片在线观看一区二区三区| 青草草在线视频免费视频| 护士又紧又深又湿又爽的视频| 亚洲第一区二区三区女厕偷拍 | 国产91人妻精品一区二区三区 | 日韩精品视频高清在线观看| 免费高清欧美一区二区视频| 国产成人精品久久二区二区| 黄色片一区二区在线观看| 日本免费一级黄色录像| 九九热视频网在线观看| 国产一区二区三区色噜噜| 国产高清在线不卡一区| 日韩中文字幕有码午夜美女| 午夜精品久久久免费视频| 国产精品偷拍视频一区| 天海翼高清二区三区在线| 日本精品视频一二三区| 日本一二三区不卡免费| 日韩夫妻午夜性生活视频| 99精品国产自在现线观看| 中国少妇精品偷拍视频 | 偷拍洗澡一区二区三区| 国产亚洲欧美日韩国亚语| 中文字幕91在线观看| 亚洲一区二区精品久久av| 国产精品一级香蕉一区| 欧美六区视频在线观看| 亚洲另类欧美综合日韩精品| 日本成人中文字幕一区| 91人人妻人人爽人人狠狠| 亚洲性生活一区二区三区| 日韩色婷婷综合在线观看| 欧美日韩视频中文字幕|