給HTML5 Video 設置多語言字幕文件

如今各類支持HTML5的瀏覽器都可以播放html5視頻了,可是對於字幕的支持卻不多,咱們期待像DVD那樣強大的字幕。javascript

每每咱們還不得不經過js來作,着實是一件痛苦的事情。html

如今IE10率先對HTML5 Video 字幕給與內置的支持,並且還支持多語言,可任意切換,真是太給力了。html5

示例代碼以下:java

 

[html]  view plain  copy
 
  1. <video id="mainvideo" controls autoplay loop>  
  2.   <track src="en_track.vtt" srclang="en" label="English" kind="caption" default>  
  3.   <track src="cn_track.vtt" srclang="zh-cn" label="簡體中文" kind="caption">  
  4. </video>  

經過兩個<track>標籤分別指定了一個英文字幕文件、一箇中文字幕文件,默認爲中文字幕,用戶能夠切換,也能夠由程序腳本切換。
IE10支持2種字幕文件格式:瀏覽器

 

 

  • WebVTT : Web Video Text Track  (Web視頻文本軌道)
  • TTML : Timed Text Markup Language (時序文本標記語言)

 

WebVTT

WebVTT是UTF-8編碼格式的文本文件,內容示例以下:服務器

 

[plain]  view plain  copy
 
  1. WEBVTT  
  2.   
  3. 00:00:01.878 --> 00:00:05.334  
  4. 曾經有一份真誠的愛情放在我面前,  
  5.   
  6. 00:00:08.608 --> 00:00:15.296  
  7. 我沒有珍惜,等我失去的時候我才後悔莫及,   
  8. 人世間最痛苦的事莫過於此。  

 

第一行必需是WEBVTT,接着空行,接下來是一行時間範圍+一行或多行字幕內容+空行,一行時間範圍+一行或多行字幕內容+空行,……app

 

時間格式是HH:MM:SS.sss,時:分:秒.毫秒, 開始時間 --> 結束時間,-->的兩邊各有一個空格,這兩個時間必需寫在同一行。ide

時間都是相對於視頻開始的時間間隔。oop

時間以後是字幕文本,時間和字幕文本之間不能有空行,字幕文本能夠是一行或多行,字幕文本中不能有空行。WebVTT字幕文件的MIME類型約定是"text/vtt",須要在IIS或者Apache等Web服務器中配置.ui

TTML

TTML是xml格式的文件,內容示例以下:

 

[html]  view plain  copy
 
  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <tt xmlns='http://www.w3.org/ns/ttml' xml:lang='en' >  
  3. <body>  
  4. <div>  
  5.   
  6. <begin="00:00:01.878" end="00:00:05.334" >曾經有一份真誠的愛情放在我面前,</p>  
  7. <begin="00:00:08.608" end="00:00:15.296" >我沒有珍惜,等我失去的時候我才後悔莫及,<br/>人世間最痛苦的事莫過於此。</p>  
  8. </div>  
  9.   
  10. </body>  
  11. </tt>  

結構很明確了,分別是tt標籤,body標籤,div標籤,p標籤,br標籤,和HTML很像啊!p元素的begin/end屬性指定了字幕的起止時間。
TTML文件的MIME類型約定爲application/ttml+xml

 

經過在video標籤內使用1個或多個track標籤來指定1個或多個語言的字幕文件,每一個track元素對應一個字幕文件。

track標籤的屬性主要有4個,以下表:

 

屬性 描述

kind

定義字幕內容類型,只能是這五種之一: subtitles, captions, descriptions, chapters, metadata.

src

字幕文件的URL地址

srclang

字幕文件的語言類型,標識信息的做用,播放器不使用這個屬性。

label

字幕標籤,每一個字幕元素必需設置一個惟一不重複的標籤,切換字幕時顯示的名稱。

default

指定是不是默認字幕。若是每一個都不指定,將不會自動顯示字幕.

 

 能夠經過javascript方式訪問每個字幕元素,甚至其中的每一句臺詞。這一部分代碼比較多,我就不展開了,有興趣的能夠本身看原文。

參考連接: http://msdn.microsoft.com/en-us/library/ie/hh673566(v=vs.85).aspx

相關文章
相關標籤/搜索