这一晚,搭建Nginx + rtmp流媒体服务器
安装环境
1、安装nginx服务器
2、配置nginx服务器
2.1、开启点播视频服务
2.2、配置直播视频服务
安装环境
操作系统:deepin 15.5桌面版(为什么要用这个?支持国产!)
nginx版本: nginx-1.10.3
RTMP:nginx-rtmp-module
1、安装nginx服务器
- 下载安装 nginx 和 nginx-rtmp 编译依赖工具
sudo apt-get install build-essential libpcre3 libpcre3-dev openssl libssl-dev
- 创建一个目录,为了将下载的资源放至此处
mkdir ~/server
cd ~/server - 下载 nginx 和 nginx-rtmp源码
wget http://nginx.org/download/nginx-1.10.3.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip - 安装unzip工具,解压下载的安装包(如果已安装 请忽略此步)
sudo apt-get install unzip
- 解压 nginx 和 nginx-rtmp安装包 并切换到 nginx目录
tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip
cd nginx-1.7.5 添加 nginx-rtmp 模板编译到 nginx
./configure --add-module=../nginx-rtmp-module-master --with-http_ssl_module
注意:../nginx-rtmp-module-master 这是配置的刚才解压master.zip后的文件夹路径,注意是否正确 否则会报错,导致以下不能继续;–with-http_ssl_module 我这里需要加上才能成功,如果你的报错,就把它去掉,然后再执行一遍。
编译安装
make
sudo make install运行测试一下nginx(以上步骤如果没有报错的话)
cd /usr/local/nginx
./sbin/nginx注意:以后所有的命令都在/usr/local/nginx目录运行,和nginx配置文件的相对目录。
打开浏览器在地址栏输入:localhost。如下图所示,就证明您的nginx服务器搭建成功了。
2、配置nginx服务器
2.1、开启点播视频服务
打开配置文件/usr/local/nginx/conf/nginx.conf,添加RTMP的配置:
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
#my start 点播视频 服务器的配置
#播放地址示例: rtmp://localhost/vod/qq.mp4 注意不支持中文视频名称
rtmp { #RTMP服务
server {
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小
application vod {
play /home/sange/Videos; #//视频文件存放位置。
}
}
}
#my end
http {
....// 由于此处内容太长,故省略。
}
注意:
(1)可以看到,主要是添加了rtmp{ } 括号的内容;
(2)请使用支持rtmp协议的视频播放器来播放,RTMP URL 格式:rtmp://rtmp.example.com/app[/name]
就是 协议:// +IP地址或域名/ + application名称 + /文件名[可选]
(3)app 就是上面配置的 vod; 里面的play 配置的是视频文件所在的路径,可以添加自己的路径,不用和我的一样。但注意不要有中文,否则无法播放!
现在我们测试一下吧
保存好文件重启nginx
sudo ./sbin/nginx -s reload
我这里使用的是VLC media player 客户端(开源免费的播放器,支持rtmp),在菜单栏,选择“媒体”——“打开网络串流” 弹出对话框;
输入rtmp://localhost/vod/qq.mp4,点击“播放”,即可看到我们点播的视频。
2.2、配置直播视频服务
直接看文件吧!
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
#my start 点播视频 直播视频 服务器的配置
#播放地址示例: rtmp://localhost/vod/qq.mp4 注意不支持中文视频名称
rtmp { #RTMP服务
server {
listen 1935; #//服务端口
chunk_size 4096; #//数据传输块的大小
application vod {
play /home/sange/Videos; #//视频文件存放位置。
}
application live{ #1、添加直播字段
live on;
}
}
}
#my end
http {
...// 此处省略
server {
listen 80;
server_name localhost;
location /stat { #2、添加location字段。
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl { #3、添加location字段。
root /usr/local/nginx/nginx-rtmp-module/;
}
... // 此处省略
}
}
可以看到,总共又添加了三小段。
保存好文件重启nginx 测试一下
sudo ./sbin/nginx -s reload
接下来用Android设备 推流到服务器!!!!!
待续…
感谢
在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器
利用nginx搭建RTMP视频点播、直播、HLS服务器