不能在chrome中寻找html5视频或音频

时间:2012-05-14 13:05:48

标签: html5 google-chrome html5-video html5-audio

我已经花了几周的时间来摆弄HTML5视频/音频的地狱。通常是一段时间后出现失败的原因,但我一直都无法找到为什么我会在Chrome中转发和重新排列问题。

...总之

当请求视频或音频文件时,视频或音频标签正在加载到extjs面板中。这些文件作为流发送,它们在IE和Firefox中正常工作(在响应头添加持续时间之后) safari有一个问题,但显然整个网站都运行在HTTPS中(现在正在进行)。

在chrome(这是我的问题并且是最新版本)中,视频和音频加载得很好,但我无法倒带或前进。当试图寻找视频时,请继续几秒钟,直到它到达流的末尾。音频也播放得很好但是多次尝试倒带(或前进)只会打破进度条并停止播放音频。

我不完全确定从服务器发送了什么,但我想知道这是否可能是由于响应中缺少数据引起的。如果不是其他任何指向我修复的东西也同样受欢迎。我想我已经覆盖了整个设置,我确保每个浏览器都有一个源标签。

编辑:这是javascript为其中一个文件生成的代码:

<video width="1889" height="2" preload="auto" autoplay="1" controls="1" id="videoPlayer" style="width: 1889px; height: 233px; ">
<source src="http://localhost:8080/epaServer/epa/documents/496.ds_webm?sessionId=5616fde4-50af-43d6-a57c-f06540b64fcb" type="video/webm">
<source src="http://localhost:8080/epaServer/epa/documents/496.ds_mp4?sessionId=5616fde4-50af-43d6-a57c-f06540b64fcb" type="video/mp4">
<div>Your browser doesn't support html5 video. <a>Upgrade Chrome</a></div>
</video>

我还发现,即使我将其与应用程序分开打开,也无法找到任何文件。

我试图自己找到更多信息,这些是网络标签中的标题chrome显示:

  

请求网址:https:// localhost:8443 / epaServer / epa / documents / 496.ds_webm?sessionId = 5616fde4-50af-43d6-a57c-f06540​​b64fcb

     

请求方法:GET

     

状态代码:200 OK

     

请求标题

     

接受: /   接收字符集:ISO-8859-1,utf-8; Q = 0.7,*; Q = 0.3

     

Accept-Encoding:identity; q = 1,*; q = 0

     

接受语言:EN-US,EN; Q = 0.8

     

连接:保活

     

的Cookie:的sessionId = 5616fde4-50af-43d6-a57c-f06540​​b64fcb

     

主机:本地主机:8443

     

User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 535.19(KHTML,与Gecko一样)Chrome / 18.0.1025.168 Safari / 535.19

     

查询字符串参数视图URL编码

     

的sessionId:5616fde4-50af-43d6-a57c-f06540​​b64fcb

     

响应标题

     

缓存控制:私人

     

的Content-Length:1588816

     

内容类型:视频/ WEBM

     

日期:2012年5月14日星期一14:23:02 GMT

     

到期:周四,1970年1月1日01:00:00 CET

     

服务器:Apache-狼/ 1.1

     

X-内容持续时间:17.31

&GT;

2 个答案:

答案 0 :(得分:22)

我找到了解决这个问题的原因:

HTML5 video will not loop

我们的服务器现在无法理解部分内容。 因此,Chrome会发送无法解答的内容请求,从而使我们的视频和音频无法搜索(并且无法浏览)。

答案 1 :(得分:2)

您必须处理Chrome将发送到流式传输服务器的req.headers ['range']。

请参阅下面的我的代码。它在Chrome,Firefox,Edge和IE上运行良好。我尚未在Safari上对其进行测试,但希望它也能正常工作。

我使用Sails / Nodejs后端和gridFS / mongodb数据库将视频文件存储为块。

@SchemaValidation(type = SchemaValidationType.OUT)