使用FreeBSD和nginx-rtmp-module来构建流媒体服务器
总结
使用nginx-rtmp-module建立一个可以实现类似niconico直播的流媒体服务器的方法。
提前准备的事项
-
- FreeBSD 10.0 RELEASEがインストールされたサーバ
-
- sudo
-
- wget
-
- pcre
-
- git
- vim
在这里,我们会使用tcsh作为命令行壳。 , huì tcsh .)
建造方式
在开始构建之前
使用这个评论中的方法安装Nginx更容易。
非常感谢@owata提供的评论。
下载nginx。
切换到当前登录用户的主目录。
cd ~
请下载最新版本的nginx-1.7.3。
wget http://nginx.org/download/nginx-1.7.3.tar.gz
下载 nginx-rtmp-module插件。
sudo git clone https://github.com/arut/nginx-rtmp-module.git
3. 解压下载的nginx文件。
tar zxvf nginx-1.7.3.tar.gz
移动到解压的nginx目录中。
cd nginx-1.7.3
编译并安装nginx。
./configure --add-module=/home/ユーザ名/nginx-rtmp-module
make
sudo make install
6. 编辑nginx.conf文件
sudo vim /usr/local/nginx/conf/nginx.conf
在删除已经存在的字符串后,输入以下字符串。
worker_processes 1;
error_log logs/error.log crit;
events {
worker_connections 10;
}
rtmp {
server {
listen 1935;
access_log logs/rtmp_access.log;
ping 10s;
ping_timeout 10s;
chunk_size 8192;
drop_idle_publisher 8s;
application src {
live on;
wait_video on;
}
}
}
worker_connections和chunk_size可以根据您的喜好来设置。
7. 启动 Nginx
从源代码安装Nginx|FreeBSD|@ OMAKASE
请参考上述网站,在/etc/rc.d/nginx下创建nginx的启动脚本。
完成后,将/etc/rc.d/nginx的权限更改为555。
sudo chmod 555 /etc/rc.d/nginx
当更改完成后,请在/etc/rc.conf文件中添加以下设置以使nginx自动启动。
nginx_enable="YES"
追加工作完成后,试着使用以下命令启动nginx。
sudo /etc/rc.d/nginx start
进行测试直播
请使用开放式广播软件等直播软件,进行测试直播。
以下为中文的选项:
流媒体服务器的URL是什么?
rtmp://[IPアドレス]/src
如上所述。
最终,
最后
只有注册会员才能观看,只有特定的人才能进行发布的设置可以通过结合nginx.conf和PHP进行实现。如果有需求的话,我会再做详细的说明。