快速搭建基於rmtp協議的直播平臺
環境
- client端 win10
- server端(直播) Ubuntu16.04
準備
- 先在server端將目錄建好, 假設我們所有的文件都放在
root/live
中
$ cd /root
$ mkdir live
$ mkdir nginx
$ mkdir video
$ cd live
client端
server端
- nginx下載地址: nginx
- ffmepg安裝教程: ffmepg
- nginx-rtmp-module下載地址: nginx-rtmp-module
$ wget http://nginx.org/download/nginx-1.8.1.tar.gz
$ wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
安裝
- client端就不用說了, exe文件一直點擊安裝就行
server端
-
假設我的目錄文件都放在
root/live
下面 -
解壓
nginx
,nginx-rtmp-module
$ tar -zxvf nginx-1.8.1.tar.gz -C ./ $ tar -zxvf nginx-rtmp-module-1.2.1.tar -C ./
-
給
nginx-rtmp-module-1.2.1
重新命名nginx-rtmp-module-master
$ mv nginx-rtmp-module-1.2.1 nginx-rtmp-module-master
-
安裝
nginx
$ cd nginx-1.8.1 $ ./configure --add-module=../nginx-rtmp-module-master --prefix=/root/live/nginx $ make $ make install
-
檢查nginx安裝成功
$ cd /root/live/nginx && ./sbin/nginx
-
瀏覽器訪問你的服務端ip地址, 假設是
1.2.3.4
, 將出現nginx的歡迎頁面nginx 默認是
80
端口
配置
Server端
- 修改
nginx
的訪問端口推流
,拉流
端口和location
配置, 端口這裏假設爲18080和18081, 用阿里雲的朋友記得給端口開放權限$ cd /root/live/nginx $ vim conf/nginx.conf
重點
看下面的配置, 需要修改的地方都加了TODO
http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { # TODO from 80 -> 18080 listen 18080; server_name 0.0.0.0; #charset koi8-r; #access_log logs/host.access.log main; # TODO add location /stat location /stat{ rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } # TODO add location /stat.xsl location /stat.xsl{ root /root/live/nginx-rtmp-module-master/; } location / { root html; index index.html index.htm; } ... ...
運行
Server端
-
重啓
nginx
$ cd /root/live/nginx $ ./sbin/nginx -s reload
然後還是可以通過訪問1.2.3.4:18080來確定nginx成功重啓
-
瀏覽器訪問
1.2.3.4:18080/stat
, 會出現如下圖
-
創建直播
推流
, 需要在/root/live/video
目錄下放好一個audio.mp4
文件(可以使用scp進行遠程傳輸)$ cd /root/live/video $ ffmpeg -re -i ./audio.mp4 -vcodec copy -acodec copy -f flv rtmp://1.2.3.4:18081/live/audio
live
是我們在nginx配置文件中配置的application,audio
隨便寫的, 可以換成別的成功
的話將會出現以下信息
Client端
- 這個時候我們可以打開之前下載的CLV工具了, 選擇如下:
- Media->Open Network Stream
- 輸入我們的
rtmp
地址rtmp://1.2.3.4:18081/live/audio
- 等待幾秒, 我們的直播平臺就搭建好了!
參考
[1] RTMP官方文檔
[2] nginx-rtmp-module
[3] nginx官方文檔
[4] 使用nginx-rtmp-module搭建RTMP直播服務器
[5] 如何從零開始搭建高性能直播平臺