2012-12-06 54 views
1

我的工作是建立这样的系统:VideoJS不会加载视频在Chrome

文件(DB)< - > ContentServer < - >网页

说我有一个链接一个视频,然后有人点击该链接,内容服务器找到请求的文件,生成一个Guid来表示该文件,然后构建一个使用Guid作为“文件”的页面。此Guid没有文件扩展名(自然)。

在IE和Firefox中使用VideoJS时,这似乎工作得很好。但是在Chrome中它根本不起作用。视频似乎甚至没有加载,更不用说加载和播放。以下是我如何设置它的一个例子。任何人有任何想法,我怎么可以使这项工作在Chrome上?

<html> 
    <head> 
    <link href="/Video/video-js.css" rel="stylesheet" type="text/css"> 
    <script src="/Video/video.js"></script> 
    </head> 
    <body> 
    <video id="video" class="video-js vjs-default-skin" controls preload="auto" width="640" height="264"> 
     <source type="video/mp4" src="/content/7cb55f87-b240-45e0-9890-ec383fd019c9"/> 
    </video> 
    </body> 
</html> 
+0

如果您将视频文件的完整URL直接粘贴到Chrome中,会发生什么情况?它玩吗? – brianchirls

+0

你确定视频是以正确的MIME类型提供的吗?它应该是'Content-Type:video/mp4' –

+0

罪魁祸首似乎是src标签中的相对url。将其更改为绝对网址并且正在工作。 – Bardicer

回答

0

看来问题出在苹果产品和谷歌浏览器与ASP.Net不能很好地搭配。 Chrome和Apple产品首先发送前两个字节内容的请求。如果他们没有收到这两个字节 - 它们会失败。 ASP.Net不具备处理字节范围请求的能力,无论它所在的服务器是否可以。因此,如果您使用ASP.Net并且您打算使用视频,则应考虑到您必须推出自己的字节范围请求处理程序,或者使用其中的少数第三方扩展之一。