Firefox 36.0 / Linux 无法从我自己的本地服务器播放 WebVTT

Firefox 36.0 / Linux Does not play WebVTT from my own local server

首先,我的 firefox 可以为我测试的所有在线 html5 视频示例播放 webvtt 字幕。

我有一个媒体服务器:127.0.0.1:20001,媒体路径是, http://127.0.0.1:20001/file/abc.mp4

webvtt路径为: http://127.0.0.1/20001/file/abc.vtt

我的测试html就像,

<video controls width="480" height="270" crossorigin="anonymous">
   <source src='http://127.0.0.1:20001/file/132416.mp4' />
   <track label="English" kind="subtitles" srclang="en" src='http://127.0.0.1:20001/file/132416.vtt' />
   This video format is not supported.
</video>

我的 firefox 确实请求了 vtt 文件和视频。从控制台日志,它是这样的,

Request URL:    http://127.0.0.1:20001/file/132416.vtt
Request Method:     GET
Status Code:    HTTP/1.0 200 OK

Request Headers 06:41:56.000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0
Host:   127.0.0.1:20001
Connection: keep-alive
Cache-Control:  max-age=0
Accept-Language:    en-US,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Response Headers Δ0ms
Content-Type:   text/vtt
Content-Range:  bytes 0-120/121
Content-Length: 121
Access-Control-Allow-Origin:    *

Response Body Δ0ms
WEBVTT 1 00:00:00.000 --> 00:00:00.903 abc 2 00:00:00.903 --> 00:00:05.553 def

注意,上面的response body没有换行(文件是有的,可能是firefox控制台显示忽略了换行)。

我的Chrome在Linux可以成功播放视频和字幕。

firefox 只播放没有字幕的视频。并且控制台没有显示任何警告或错误。

请问我应该怎么做才能知道为什么我的 Firefox 在我的情况下不显示任何内容?任何检查任何调试日志等的提示或程序都非常有帮助。

谢谢。

我在同一条船上。对我有用的是结合使用 default 属性并从 track 元素中删除尾部斜杠(注意到 Mozilla 在他们的 WebVTT 博客中省略了它):

<video controls width="480" height="270" crossorigin="anonymous">        
    <source src='http://127.0.0.1:20001/file/132416.mp4' /> 
    <track label="English" kind="subtitles" srclang="en" src='http://127.0.0.1:20001/file/132416.vtt' default> 
    This video format is not supported. 
</video>