给Html5视频播放器添加字幕

现在各种支持HTML5的浏览器都能够播放html5视频了,但是对于字幕的支持却很少,我们期待像DVD那样强大的字幕。

往往我们还不得不通过js来做,着实是一件痛苦的事情。

现在IE10率先对HTML5 Video 字幕给与内置的支持,而且还支持多语言,可任意切换,真是太给力了。

示例代码如下:

  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编码格式的文本文件,内容示例如下:

  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,接着空行,接下来是一行时间范围+一行或多行字幕内容+空行,一行时间范围+一行或多行字幕内容+空行,……

时间格式是HH:MM:SS.sss,时:分:秒.毫秒, 开始时间 --> 结束时间,-->的两边各有一个空格,这两个时间必需写在同一行。

时间都是相对于视频开始的时间间隔。

时间之后是字幕文本,时间和字幕文本之间不能有空行,字幕文本可以是一行或多行,字幕文本中不能有空行。WebVTT字幕文件的MIME类型约定是"text/vtt",需要在IIS或者Apache等Web服务器中配置.

TTML

TTML是xml格式的文件,内容示例如下:

  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. <p begin="00:00:01.878" end="00:00:05.334" >曾经有一份真诚的爱情放在我面前,</p>  
  7. <p 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

定义字幕内容类型,只能是这五种之一: subtitlescaptionsdescriptionschaptersmetadata.

src

字幕文件的URL地址

srclang

字幕文件的语言类型,标识信息的作用,播放器不使用这个属性。

label

字幕标签,每个字幕元素必需设置一个唯一不重复的标签,切换字幕时显示的名称。

default

指定是否是默认字幕。如果每个都不指定,将不会自动显示字幕.

 可以通过javascript方式访问每一个字幕元素,甚至其中的每一句台词。这一部分代码比较多,我就不展开了,有兴趣的可以自己看原文。

http://blog.csdn.net/cuixiping/article/details/7760845

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5字幕播放器可以使用 HTML5video 标签结合 WebVTT 标签来实现。WebVTT 是一种文本格式,用于在 HTML5 视频中显示字幕、标题和描述等内容。下面是一个示例代码,演示如何在 HTML5 视频添加字幕: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5字幕播放器</title> </head> <body> <video id="myVideo" width="640" height="360"> <source src="video.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en" src="english.vtt" default> <track label="中文" kind="subtitles" srclang="zh" src="chinese.vtt"> </video> </body> </html> ``` 在上面的代码中,`<video>` 标签定义了视频播放器,`<source>` 标签定义了视频文件的路径和类型。`<track>` 标签定义了字幕文件的路径和语言,其中 `kind="subtitles"` 表示这是字幕文件,`srclang` 属性指定了字幕的语言,`default` 属性表示这是默认的字幕。 要创建 WebVTT 字幕文件,可以使用文本编辑器创建一个 `.vtt` 文件,然后按照以下格式添加字幕: ``` WEBVTT 00:00:00.000 --> 00:00:05.000 This is the first subtitle. 00:00:05.000 --> 00:00:10.000 This is the second subtitle. ... ``` 其中,`WEBVTT` 表示这是 WebVTT 文件,时间格式为 `hh:mm:ss.mmm`,`-->` 表示字幕的时间段,然后在 `-->` 后面跟上字幕内容。可以添加多个时间段和字幕内容。 这样,就可以使用 HTML5字幕播放器来播放视频并显示字幕了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值