yzprofile's Notebook

All Posts| Note| Books| About
17 Sep 2011

compile nginx h264 streaming server module

nginx的模块支持是非常好的,如果想要部署一个简单的点播流媒体服务器,nginx通过添加模块也能支持,并且可以借助nginx的http协议解析来做防盗链一类的工作或者负载均衡什么的。

你可以从这里下载到modulehttp://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz

但是解压缩之后有必要打个patch上去,不然可能编译不能通过

# vi nginxpatch.diff
--- ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c.orig	2010-05-24 18:04:43.000000000 +0400
+++ ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c	2010-05-24 18:05:02.000000000 +0400
@@ -155,10 +155,6 @@
   }

   /* TODO: Win32 */
-  if (r->zero_in_uri)
-  {
-    return NGX_DECLINED;
-  }

   rc = ngx_http_discard_request_body(r);
patch -p1 < nginxpatch.diff

当然了,改动不多,自己手动把那几行删除掉也行

#编译添加nginx模块:
./configure --add-module=YOURPATH/nginx_mod_h264_streaming-2.2.7 
#当然了mac下别忘记添加  --with-cc-opt="-Wno-deprecated-declarations" 作为参数
make
make install

在nginx.conf中配置对于*.mp4文件的支持:

location ~ \.mp4$ {
    mp4;
}

将一个名片mp4文件复制到html目录下面 启动nginx,浏览器访问url。

呐,现在就可以在浏览器中播放了吧。

hava fun. : )

EOF