我从服务器获取一些视频文件,并在这样的模板中使用:
<div class="player-block" ng-if='hasSubscription(episode_detail.season)'>
<video ng-if='episode_detail' id="serial-video" class="video-js" controls preload="none" height="450" data-setup="{}">
<source ng-src="{{episode_detail.video_mp}}" type='video/mp4'>
<source ng-src="{{episode_detail.video}}" type='video/webm'>
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
</div>
这就是我的意思,尝试在Google Chrome中回放视频: http://185.143.173.143:8000/media/SPONGEBOB_TRAP_REMIX_KRUSTY_KRAB_Vine_Remix.mp4
结果不适用于chrome倒带,我读到有必要配置服务器以返回部分内容。如何为此配置nginx?
答案 0 :(得分:0)
您将max_ranges
设置为0,这将禁用nginx中的范围请求处理。最简单的方法是删除max_ranges 0
行。但是,如果原点(185.143.173.143)不符合Range请求,那么仍然可能无效。
为了测试origin(185.143.173.143)本身是否支持范围请求,您将需要使用来自nginx机器的curl:
curl -I -r 0-100 http://185.143.173.143/path/to/video
如果Range
请求有效,状态将类似于206 Partial Content
,并且会有一个Content-Range
标头指示请求的范围。在这种情况下,Content-Length
应为101。如果你得到200,那么你的实际来源本身可能不支持范围请求,你必须在那里调试配置。