1. 下载nginxnginx是一个服务器软件,类似于tomcat,用于发布服务器程序 (1)下载地址:在linux下执行 wget http:///download/nginx-1.15.3.tar.gz命令,下载压缩包。 (2)解压,使用tar命令: tar xvf nginx-1.15.3.tar.gz 2. 下载nginx rtmp模块 wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 同样解压tar xvf v1.2.1 3. 编译nginx./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1 4. 修改nginx-rtmp-module中的conf文件cd nginx-rtmp-module-1.2.1打开文件夹,cd test文件夹,修改nginx.conf文件的内容为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application myapp { live on; #record keyframes; #record_path /tmp; #record_max_size 128K; #record_interval 30s; #record_suffix .this.is.flv; #on_publish http://localhost:8080/publish; #on_play http://localhost:8080/play; #on_record_done http://localhost:8080/record_done; } } } http { server { listen 8080; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /path/to/nginx-rtmp-module/; } location /control { rtmp_control all; } #location /publish { # return 201; #} #location /play { # return 202; #} #location /record_done { # return 203; #} location /rtmp-publisher { root /path/to/nginx-rtmp-module/test; } location / { root /path/to/nginx-rtmp-module/test/www; } } } |
到时候推流地址就是 rtmp://IP:PORT/myapp/{abc},其中{abc}中的abc是可选的,一般是一个推流密码,往服务器推送或接收视频流时,可填写一个密码,如abc。rtmp默认服务器端口是1935,如果这个端口被占用,可以杀死占用这个端口的进程,使用如下命令: kill -9 pid (其中pid是进程id)。 然后用这个conf 替换 nginx-1.15.3/bin/conf下的nginx.conf , 使用mv nginx.conf nginx.conf.bak命令重命名原来的nginx.conf,可以不用删除原文件。 5. 启动nginxcd nginx-1.15.3 打开nginx文件夹 /root/nginx-1.15.3/bin/sbin/nginx 启动nginx 6. 验证nginx rtmp流媒体是否部署成功启动后,从浏览器里访问122.112.220.253:8080。 如果打不开, 1. 在服务器上建立安全规则,开发入口规则,把1935,8080这两个端口开启,协议是TCP. 2. nginx-1.15.3/bin/conf下的nginx.conf里最顶部 修改用户: user root; 此时,nginx.conf的内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | user root; worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application myapp { live on; drop_idle_publisher 5s; } } } http { server { listen 8082; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /root/nginx-rtmp-module-1.2.1/; } location /control { rtmp_control all; } location /rtmp-publisher { root /root/nginx-rtmp-module-1.2.1/test; } location / { root /root/nginx-rtmp-module-1.2.1/test/www; } } } |
3. 重启nginx,再次访问122.112.220.253:8082,成功。 下次我们就用一个录屏软件录制电脑屏幕,使用rtmp协议向服务器上推送电脑屏幕画面,同时用播放器来播放服务器上的rtmp直播流。
|