搜索

首页  >  问答  >  正文

linux - Nginx做视频缓存,怎样边回源边响应给用户

用Nginx的proxy功能,在客户请求一个70mb的文件时,Nginx用1mb/s的速度去视频网站下载这个mp4文件,客户那里一直黑屏,直到70s后,Nginx以8mb/s的速度将完整的mp4文件传给了用户,视频才播放起来。 这样做的话,面对一个未缓存的新视频,第一个访问的用户要等70s才能看,有点麻烦。请问有什么好的解决方案吗?目前想的是用爬虫来假装第一个用户,但这样也只是解决了热门视频的问题。 请不吝赐教

大家讲道理大家讲道理2795 天前806

全部回复(1)我来回复

  • 巴扎黑

    巴扎黑2017-04-17 14:56:16

    proxy_buffering off

    nginx默认开启proxy_buffering ,它会尽量读取responses数据并暂存下来,等接收完之后再发送给客户。
    关闭proxy_buffering 后,nginx会将获取的mp4数据立即发送给客户,客户收集到足够播放的元数据后即可开始播放,一般会很快(如果文件本身不适合流媒体播放那又是另一回事了,但这种情况已经很少见了)

    SF首答,本弱鸡如果错漏还望指正。

    参考文档:http://nginx.org/en/docs/http...

    回复
    0
  • 取消回复