首先,我的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
请注意,上面的响应主体没有换行符(文件确实有,可能是firefox控制台显示忽略换行符。)
Linux中的Chrome可以成功播放视频和副标题。
firefox只播放没有字幕的视频。并且控制台没有显示任何警告或错误。
我可以知道我该怎么做才能知道为什么我的Firefox在我的情况下没有显示任何内容?检查任何调试日志等的任何提示或程序都非常有用。
感谢。
答案 0 :(得分:1)
我在同一条船上。对我有用的是使用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>