我有一个1T的移动硬盘,里面存了一堆你懂的资源。这些东西还是用手机看比较好,毕竟电脑动静太大了,而且人来人往的,也挺不好意思的。每次想看都得拷到手机里,这太不方便了,于是想出了用电脑搭建一个流媒体服务器,通过连接入局域网的手机直接点播的需求。
开始考虑的是只用Django来进行读取视频文件返回给用户。这样只有文件下载完成之后才能播放,更不爽的是不能拖动进度条。通过一通搜索大法,发现Nginx可以作为一个流媒体服务器来使用,支持flv和mp4格式的视频。好了,不扯了,下面开始发车。
下载windows版的Nginx。
http://nginx.org/en/download.html
解压随便放个地方,修改配置文件nginx.conf,增加下面一几段。
location ~ \.mp4{
root H://;
}
我的视频都放在了H盘下,所以增加后缀为.mp4文件的根目录为H://。
这样就可以通过*http://127.0.0.1/文件的路径*
进行访问H盘下的mp4文件咯,在浏览器支持的情况下可以直接播放并且可以在未缓存完成的情况下拖动进度条哦。
能正常播放后,就要解决文件浏览的问题,我们不可能把硬盘下所有的文件路径都手动输入吧。Nginx有开启目录浏览的功能,加入下面的代码:
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
这样就可以在浏览器上查看文件内容了,而点击mp4文件也能播放了,是不是很开心呀!
到这里是不是怀疑这还关django什么事,直接用nginx就可以完成了呀?别急,这时候你会发现。。。点开所有中文的文件都会发生500错误,机智的你查看error.log,会发现刚才的请求发生了以下错误:
ailed (1113: No m