2012-04-20 31 views
4

我需要在带有HTML5视频标签的ASP MVC 4网站(如果支持的话)上播放视频,否则需要播放JW Player。现在,我使用WCF REST方法来获得访问的视频文件以下列方式:WCF REST Streaming for video playback

[OperationContract] 
    [WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "GET")] 
    public Stream Download(string id, bool isTemp) 
    { 
     //File.OpenRead(path) works inside FileBlo.Fownload 
     Stream download = FileInfoBlo.Download(id, isTemp); 
     if (WebOperationContext.Current != null) 
     { 
      //Specifing any other mime type doesn't help 
      WebOperationContext.Current.OutgoingResponse.ContentType = "video/*"; 
     } 
     return download; 
    } 

所以链接到文件就像

http://localhost/app-api/Apiservice.svc/download?id=8&isTemp=false

的问题是:
1. HTML5播放 - 只有Chrome浏览器可以播放视频,但不能做其他任何操作 - 停止播放ain,seek等。其他浏览器根本不播放它。在访问已只是一个链接文件到文件中像

“HTTP://localhost/app/file.mp4”

它可以播放。


2. JW播放器播放 - 错误发生 -

错误卖出队列未能在第5步:播放列表无法加载:播放列表文件不包含一个有效的播放列表

使用链接访问文件时(如上所示) - 它至少可以播放它。

据我了解这类“WCF流”的不适合视频播放。 可能WCF在这里不是一个选项? 因此任何帮助和建议\正确的视频流在IIS(7 +/Server 2008)的例子将大大appriciated。

谢谢。

回答

0

您需要设置响应标头。具体来说: 内容 - 范围 X-Content-Duration 内容长度