背景
随着直播技术越来越火,自己作为前端开发者也想学习学习关于直播后台的搭建,以及整个直播流程是怎样管理的。自己在网上找了相关的教程,在此进行总结。
环境搭建
- 需要安装Nginx、在安装Nginx的时候把Nginx-rtmp-Module编译进去。安装完成之后使用
nginx -v
进行查看如果里面有如果红色部分就表示安装完成。
- 安装PHP-FPM,这步网上有比较多的教程,这里就不详细介绍了。
- 安装mysql,这里附上一个安装mysql的地址
- 配置Nginx,让Nginx支持直播流,这里需要注意1935端口一定要在防火墙开启具体配置文件如下:
#推流服务器配置
rtmp{
server {
listen 1935; #监听的端口
chunk_size 4096; #数据块传输的大小
#配置直播服务,live为直播的名字
application live {
live on; #开启直播
hls on; #开启实时回放服务器
hls_path /mydata/phpWebRoot/hls; #切片保存路径
hls_fragment 5s; #切片时长
hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟
hls_continuous on; #连续模式
hls_cleanup on; #对多余的切片进行删除
hls_nested on; #嵌套模式
publish_notify on; #开启推流状态通知
on_play http://localhost/live/api/roomplaying.php; #用户端开始播放
on_play_done http://localhost/live/api/roomplaydone.php; #用户端播放结束
}
#配置推流服务,push为推流名字
application push{
live on; #开启直播
push rtmp://127.0.0.1:1935/live; #推流到当前的live上面
publish_notify on; #开启推流状态通知
on_publish http://localhost/live/api/roompushing.php; #开始推流通知地址
on_publish_done http://localhost/live/api/roompushdone.php; #推流停止
}
}
}
- 配置完成之后就可以进行测试了
rtmp://服务器地址/push/xxx
测试是否能够推流,然后使用rtmp://服务器地址/live/xxx
在VLC播放器上面是否能够播放。