写的有点仓促,有问题的话可以随时留言~
客户端环境:
系统:WIN 10
推流软件:OBS Studio
PC测试浏览器:Chrome
Android测试浏览器:QQ内置
服务器环境:
系统:Centos 7
代理:Nginx
( http+rtmp
)
浏览器播放器:ckplayer
1. 安装 Nginx
具体过程参考 Centos 7 下配置 Nginx...
2. 安装编译 rtmp 模块
# 下载 rtmp 模块压缩包(最好和 Nginx 的安装包在同一目录下)
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
# 解压
unzip nginx-rtmp-module-master.zip
# 得到 nginx-rtmp-module-master
# 进入 Nginx 安装包文件夹
cd nginx-1.12.2
# 编译安装 rtmp
./configure --add-module=/root/nginx-rtmp-module && make && make install
# 注意将 /root/nginx-rtmp-module 替换成你 rtmp 包所在的位置
3. 配置 Nginx 的 rtmp 和 http 模块
- 在
Nginx
配置目录(一般为:usr/local/nginx/conf
)下编辑live_rtmp.conf
文件如下
#user nobody;
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application mylive {
live on;
record all;
record_path /home/live_record;
record_max_size 200M;
hls on;
# 注意此地址设置,hls_path 代表 hls 目录及.m3u8文件的保存目录
hls_path /var/www/html/hls;
hls_fragment 1s;
hls_playlist_length 5;
allow play all;
}
}
}
http {
server {
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# Copy stat.xsl wherever you want
# and put the full directory path here
root /usr/local/nginx/html/;
}
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /var/www/html/hls;
add_header Cache-Control no-cache;
}
# http 根目录
location / {
root /var/www/html;
}
}
}
验证配置文件正确性:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/live_rtmp.conf
配置文件说明:
hls
开启后产生的m3u8
文件会存在hls_path
下,播放端调用 404 的时候先去看看m3u8
有没有生成。stat.xsl
要从nginx-rtmp
的源代码根目录中考出来,考到配置的那个文件夹。
4. 启动 Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/live_rtmp.conf
- 推流地址:
rtmp://服务器ip/mylive/xxxxx
- 播放地址:
rtmp://服务器ip/mylive/xxxxx
- hls地址:
http://服务器ip:8080/hls/xxxxx.m3u8
- 状态查看地址:
http://服务器ip:8080/stat
- xxxx代表你在
OBS
设置的流名称
5. 客户端下载并配置 OBS
下载地址:OBS官网
6. 下载配置 ckplayer rtmp
浏览器播放器
下载地址:clpalyer官网
下载后找到最里层的 ckplayer
文件夹通过 FTP
上传到服务器(或直接 wget
下载) http
根目录下
按照 官网示例 编辑一个 index.html
文件放在刚刚上传的 ckplayer
目录下。
7. 开启 OBS 推流访问网页查看直播(监控)
- 访问
http://服务器ip:8080/ckplayer/index.html
- 即可查看推流情况(贴图看疗效)
- 理论上服务器带宽越高,推流的
FPS
越小你的直播越流畅