背景
隨著直播技術越來越火,自己作為前端開發者也想學習學習關于直播后臺的搭建,以及整個直播流程是怎樣管理的。自己在網上找了相關的教程,在此進行總結。
環境搭建
- 需要安裝Nginx、在安裝Nginx的時候把Nginx-rtmp-Module編譯進去。安裝完成之后使用
nginx -v
進行查看如果里面有如果紅色部分就表示安裝完成。
nginx詳細信息 - 安裝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播放器上面是否能夠播放。