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>
首先,我的 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>