在Ubuntu上安装Nginx with nginx-http-flv-module

有个项目现场视频流直播和点播回放的需要,具体是,将项目现场多路视频流通过转发和录制,实现在不同网络上的实时播放、存储以及历史视频的点播。因为对Nginx比较熟悉,它是一款高性能Web以及反向代理服务,其优越特性使其成为很多视频直播和点播网站的首选框架,所以仍然选择Nginx作为这次的流媒体服务器。

由于主流浏览器逐渐不再支持flash的播放,从前的rtmp直播也日渐式微,因此,为了兼容最新版本的浏览器,决定使用http直播协议。这就需要安装一个第三方模块:nginx-http-flv-module

该模块包含了nginx-rtmp-module(https://github.com/arut/nginx-rtmp-module)的所有功能,其他功能的对比如下:

在Ubuntu上安装Nginx with nginx-http-flv-module_第1张图片

简洁起见,本篇只写nginx的安装,下一篇再介绍直播和点播的配置。

Nginx源码下载地址: http://nginx.org/en/download.html

nginx-http-flv-module的下载地址:https://github.com/winshining/nginx-http-flv-module

其他依赖(来自nginx-http-flv-module模块说明):

  • * 在类Unix系统上,需要GNU make,用于调用编译器来编译软件。
  • * 在类Unix系统上,需要GCC。或者在Windows上,需要MSVC,用于编译软件。
  • * 在类Unix系统上,需要GDB,用于调试软件(可选)。
  • * [FFmpeg](http://ffmpeg.org)或者[OBS](https://obsproject.com),用于发布媒体流。
  • * [VLC](http://www.videolan.org)(推荐)或者[flv.js](https://github.com/Bilibili/flv.js)(推荐),用于播放媒体流。
  • * 如果NGINX要支持正则表达式,需要[PCRE库](http://www.pcre.org)。
  • * 如果NGINX要支持加密访问,需要[OpenSSL库](https://www.openssl.org)。
  • * 如果NGINX要支持压缩,需要[zlib库](http://www.zlib.net)。

我先安装了pcre库、openssl库和zlib库:

sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install zlib1g-dev

将下载的Nginx源码和nginx-http-flv-module放到Ubuntu机器上,配置添加nginx-http-flv-module (我的是两个目录并列的,大家也可以按照自己的存放方式,配置时指定nginx-http-flv-module的路径)。

./configure --add-module=../nginx-http-flv-module

如果想配置自定义安装路径,也可以配置,如:

./configure --prefix=/usr/local/muyangnv/nginx
--sbin-path=/usr/local/muyangnv/nginx/nginx 
--conf-path=/usr/local/muyangnv/nginx/nginx.conf 
--pid-path=/usr/local/muyangnv/nginx/nginx.pid 
--add-module=../nginx-http-flv-module

本次安装,我是直接按照默认路径安装的,也就是只执行了--add-module=../nginx-http-flv-module这句。

执行配置完成后,依次执行make和make install,完成安装。

安装完成后,可以看到默认安装路径是:/usr/local/nginx

为了不要每次启动nginx的时候都要带上/usr/local/nginx/sbin路径,可以把nginx可执行文件加入到位于环境变量的路径:

sudo cp /usr/local/nginx/sbin/nginx /usr/local/bin

或者直接把usr/local/nginx/sbin添加到环境变量,在/etc/profile中添加如下语句:

export PATH=/usr/local/nginx/sbin:$PATH

执行source /etc/profile即可。

完成后,在任意目录执行nginx,启动服务。

在外部PC浏览器上输入服务器地址,如果显示如下界面,就证明nginx服务在正常工作。

在Ubuntu上安装Nginx with nginx-http-flv-module_第2张图片

你可能感兴趣的:(流媒体)