Windows下nginx-http-flv-module编译

音视频应用开发系列文章目录

准备

nginx源码

工具集

1.mingw

2.perl,安装时添加到环境变量

3.nasm,安装完将nasm.exe所在的目录添加到环境变量

4.sed,安装完将sed.exe所在的目录添加到环境变量

三方库

1.rtmp插件,nginx-rtmp-module或者nginx-http-flv-module (here use nginx-http-flv-module)

2.openssl

3.zlib

4.pcre

nginx源码+工具集+三方库快捷通道

编译器

MSVC(here use VS2015 x86)

编译

1.新建文件夹nginx-flv并解压nginx源码到nginx-flv下

2.在nginx-flv下新建文件夹build,进入build,在build下新建文件夹3rdlib和output

3.将nginx-http-flv-module,openssl,zlib,pcre解压缩到nginx-flv/build/3rdlib目录下

4.在nginx-flv目录下新建build.bat文件并输入以下脚本

auto/configure --with-cc=cl --builddir=build/output --prefix= \
--conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \
--http-log-path=logs/access.log --error-log-path=logs/error.log \
--sbin-path=nginx-flv.exe --http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--http-scgi-temp-path=temp/scgi_temp \
--http-uwsgi-temp-path=temp/uwsgi_temp \
--with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=build/3rdlib/pcre-8.34 \
--with-zlib=build/3rdlib/zlib-1.2.11 --with-openssl=build/3rdlib/openssl-1.0.1u \
--with-select_module --with-http_ssl_module \
--add-module=build/3rdlib/nginx-http-flv-module-master

5.最终整个编译工程的目录构架如下

nginx-flv
├─auto
├─build
│  ├─3rdlib
│  │  ├─nginx-http-flv-module-master 
│  │  ├─openssl-1.0.1u
│  │  ├─pcre-8.34   
│  │  └─zlib-1.2.11
│  └─output
├─conf   
├─contrib           
├─docs        
├─misc   
├─src 
└─build.bat

6.打开mingw命令行工具进入nginx-flv目录执行build.bat

cd F:/nginx-flv // 这里不是Windows风格的命令,必须使用F:/nginx-flv,而不能使用F:\nginx-flv

build.bat // 运行build.bat文件,这个挺耗时的,大约几分钟吧,结束后会在nginx-flv/build/output目录下生成Makefile,运行结束如下图

7.以管理员身份打开VS2015本机工具命令提示符x86进入nginx-flv目录进行nmake

F: // 进入F盘

cd nginx-flv // 进入nginx-flv

nmake /f build/output/Makefile // nmake makefile编译

编译完成后会在nginx-flv/build/output目录下生成nginx.exe

错误解决

如果在编译过程中出现"将警告视为错误"的error,可以打开nginx-flv/build/output/Makefile(-WX -> -WX-)

将CFLAGS =  -O2  -W4 -WX -nologo -MT -Zi -Fdbuild/output/nginx.pdb -DFD_SETSIZE=1024 -DNO_SYS_TYPES_H

改CFLAGS =  -O2  -W4 -WX- -nologo -MT -Zi -Fdbuild/output/nginx.pdb -DFD_SETSIZE=1024 -DNO_SYS_TYPES_H

举一反三

如果想编译nginx-rtmp-module插件,只需要将nginx-rtmp-module代码替换nginx-http-flv-module代码,然后更新对应的build.bat文件即可。两者的差别如下图,引用<https://github.com/winshining/nginx-http-flv-module>

服务器部署

Windows下nginx-http-flv-module服务部署

下载本文部署好的戳这里

参考

https://www.cnblogs.com/KendoCross/p/7585654.html

 

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值