我遇到了在iOS设备上播放正确编码视频的问题。以下是一些背景/信息:
通过Zencoder的支持人员的一些调查和一些帮助,我们认为问题可能与标题有关(顶部是视频不起作用,底部工作正常):
$ curl -I http://fraternity.computol.com/~/media/Fraternity/mp4/leadership_zen.mp4
HTTP/1.1 200 OK
Date: Wed, 29 Jun 2011 16:30:29 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Content-Disposition: attachment; filename="leadership_zen.mp4"
Transfer-Encoding: chunked
Set-Cookie: fraternity#sc_wede=1; path=/
Cache-Control: public, max-age=604800
Expires: Wed, 06 Jul 2011 16:30:29 GMT
Last-Modified: Wed, 29 Jun 2011 16:28:26 GMT
ETag: 9cba9593424645bfb372a01bfe522f97
Content-Type: application/octet-stream
$ curl -I http://www.rhythmonthevine.org/videos/SHR_ROTV_Dierks_v02.mp4
HTTP/1.1 200 OK
Content-Length: 16091772
Content-Type: video/mpeg
Last-Modified: Thu, 24 Mar 2011 14:05:49 GMT
Accept-Ranges: bytes
ETag: "8374ff932ceacb1:335c"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 29 Jun 2011 16:30:32 GMT
有没有人知道这个问题是否真的与标题相关?如果是这样,有没有办法让sitecore正确地为媒体提供服务?
编辑:此外,如果它有任何不同,我们在IIS6上。
编辑:特别麻烦的区别是:
答案 0 :(得分:4)
我有一个类似的问题,我在SDN上发布了。它大约是getting videos to play on the iPad,可以从媒体库中获得。有用的响应是Sitecore媒体请求HTTP处理程序(sitecore_media.ashx
)以块(HTTP transport, Transfer-Encoding: chunked
)传递媒体响应,这与Apple协议冲突(响应必须在一个块中传递给客户端) 。您可能想要尝试查看是否可以覆盖MediaRequestHandler。
答案 1 :(得分:3)
我遇到了同样的问题,并且能够通过以下几点来解决这个问题:
我将mime-type添加到MimeType.config中,如下所示:
<mediaType extensions="mp4"><mimeType>video/mp4</mimeType></mediaType>
进入媒体库中的项目,并将项目的Mime类型更改为&#34; video / mp4&#34;。
进入服务器,并删除&#34; C:\ inetpub \ wwwroot \ Sitecore62 \ Website \ App_Data \ MediaCache&#34;
我在Curl下有不同的标题值,但错误的mime类型与你的一致。一旦我完成了上述所有操作,就会正确返回mime-type并播放视频 - 下面的HTML:
<video class="video-js" width="640" height="360" autoplay controls loop>
<source src="http://<server>/~/media/client/videos/video.mp4" type="video/mp4" />
</video>
答案 2 :(得分:0)
我给马克+1了,但我也会提供另一种选择,你是否可以通过在CDN(如Akamai)上镜像提供内容或将其完全托管在视频CDN(如奔跑的比特(http://www.longtailvideo.com/bits-on-the-run/)?
这可能会带来更低的带宽成本和更好的性能,而不是不断地从Sitecore提供视频。