请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

新模拟器共享论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1 2

最近看过此主题的会员

查看: 196|回复: 6

OBS + 搭建nginx-rtmp流媒体服务器 实现多平台同时直播

  [复制链接]

签到天数: 83 天

[LV.6]常住居民II

评论头像(9)

发表于 2020-5-26 09:54:58 | 显示全部楼层 |阅读模式
1、下载nginx

下载链接: http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip,下载完成后解压到需要盘符, 将解压后的目录命名为nginx-1.7.11.3-Gryphon

2、下载nginx-rtmp-module插件

下载地址https://github.com/arut/nginx-rtmp-module/

下载完成后解压到刚刚解压的nginx-1.7.11.3-Gryphon目录中

3、配置nginx-1.7.11.3-Gryphon文件下 conf\nginx-win-rtmp.conf 内容如下:
  1. #user  nobody;
  2. # multiple workers works !
  3. worker_processes  2;

  4. #error_log  logs/error.log;
  5. #error_log  logs/error.log  notice;
  6. #error_log  logs/error.log  info;

  7. #pid        logs/nginx.pid;

  8. events {
  9.     worker_connections  8192;
  10.     # max value 32768, nginx recycling connections+registry optimization =
  11.     #   this.value * 20 = max concurrent connections currently tested with one worker
  12.     #   C1000K should be possible depending there is enough ram/cpu power
  13.     # multi_accept on;
  14. }

  15. rtmp {
  16.     server {
  17.         listen 1935;
  18.         chunk_size 4000;
  19.         application live {
  20.              live on;

  21.              # record first 1K of stream
  22.              record all;
  23.              record_path /tmp/av;
  24.              record_max_size 1K;

  25.              # append current timestamp to each flv
  26.              record_unique on;

  27.              # publish only from localhost
  28.              allow publish 127.0.0.1;
  29.              deny publish all;

  30.              #allow play all;
  31.         }
  32.     }
  33. }

  34. http {
  35.     #include      /nginx/conf/naxsi_core.rules;
  36.     include       mime.types;
  37.     default_type  application/octet-stream;

  38.     #log_format  main  '$remote_addr:$remote_port - $remote_user [$time_local] "$request" '
  39.     #                  '$status $body_bytes_sent "$http_referer" '
  40.     #                  '"$http_user_agent" "$http_x_forwarded_for"';

  41.     #access_log  logs/access.log  main;

  42. #     # loadbalancing PHP
  43. #     upstream myLoadBalancer {
  44. #         server 127.0.0.1:9001 weight=1 fail_timeout=5;
  45. #         server 127.0.0.1:9002 weight=1 fail_timeout=5;
  46. #         server 127.0.0.1:9003 weight=1 fail_timeout=5;
  47. #         server 127.0.0.1:9004 weight=1 fail_timeout=5;
  48. #         server 127.0.0.1:9005 weight=1 fail_timeout=5;
  49. #         server 127.0.0.1:9006 weight=1 fail_timeout=5;
  50. #         server 127.0.0.1:9007 weight=1 fail_timeout=5;
  51. #         server 127.0.0.1:9008 weight=1 fail_timeout=5;
  52. #         server 127.0.0.1:9009 weight=1 fail_timeout=5;
  53. #         server 127.0.0.1:9010 weight=1 fail_timeout=5;
  54. #         least_conn;
  55. #     }

  56.     sendfile        off;
  57.     #tcp_nopush     on;

  58.     server_names_hash_bucket_size 128;

  59. ## Start: Timeouts ##
  60.     client_body_timeout   10;
  61.     client_header_timeout 10;
  62.     keepalive_timeout     30;
  63.     send_timeout          10;
  64.     keepalive_requests    10;
  65. ## End: Timeouts ##

  66.     #gzip  on;

  67.     server {
  68.         listen       80;
  69.         server_name  localhost;


  70.         location /stat {
  71.             rtmp_stat all;
  72.             rtmp_stat_stylesheet stat.xsl;
  73.         }
  74.         location /stat.xsl {
  75.             root nginx-rtmp-module/;
  76.         }
  77.         location /control {
  78.             rtmp_control all;
  79.         }

  80.         #charset koi8-r;
  81.         #access_log  logs/host.access.log  main;

  82.         ## Caching Static Files, put before first location
  83.         #location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
  84.         #    expires 14d;
  85.         #    add_header Vary Accept-Encoding;
  86.         #}

  87. # For Naxsi remove the single # line for learn mode, or the ## lines for full WAF mode
  88.         location / {
  89.             #include    /nginx/conf/mysite.rules; # see also http block naxsi include line
  90.             ##SecRulesEnabled;
  91.          ##DeniedUrl "/RequestDenied";
  92.          ##CheckRule "$SQL >= 8" BLOCK;
  93.          ##CheckRule "$RFI >= 8" BLOCK;
  94.          ##CheckRule "$TRAVERSAL >= 4" BLOCK;
  95.          ##CheckRule "$XSS >= 8" BLOCK;
  96.             root   html;
  97.             index  index.html index.htm;
  98.         }

  99. # For Naxsi remove the ## lines for full WAF mode, redirect location block used by naxsi
  100.         ##location /RequestDenied {
  101.         ##    return 412;
  102.         ##}

  103. ## Lua examples !
  104. #         location /robots.txt {
  105. #           rewrite_by_lua '
  106. #             if ngx.var.http_host ~= "localhost" then
  107. #               return ngx.exec("/robots_disallow.txt");
  108. #             end
  109. #           ';
  110. #         }
  111.         #error_page  404              /404.html;
  112.         # redirect server error pages to the static page /50x.html
  113.         #
  114.         error_page   500 502 503 504  /50x.html;
  115.         location = /50x.html {
  116.             root   html;
  117.         }
  118.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  119.         #
  120.         #location ~ \.php$ {
  121.         #    proxy_pass   http://127.0.0.1;
  122.         #}
  123.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  124.         #
  125.         #location ~ \.php$ {
  126.         #    root           html;
  127.         #    fastcgi_pass   127.0.0.1:9000; # single backend process
  128.         #    fastcgi_pass   myLoadBalancer; # or multiple, see example above
  129.         #    fastcgi_index  index.php;
  130.         #    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  131.         #    include        fastcgi_params;
  132.         #}
  133.         # deny access to .htaccess files, if Apache's document root
  134.         # concurs with nginx's one
  135.         #
  136.         #location ~ /\.ht {
  137.         #    deny  all;
  138.         #}
  139.     }
  140.     # another virtual host using mix of IP-, name-, and port-based configuration
  141.     #
  142.     #server {
  143.     #    listen       8000;
  144.     #    listen       somename:8080;
  145.     #    server_name  somename  alias  another.alias;
  146.     #    location / {
  147.     #        root   html;
  148.     #        index  index.html index.htm;
  149.     #    }
  150.     #}
  151.     # HTTPS server
  152.     #
  153.     #server {
  154.     #    listen       443 ssl spdy;
  155.     #    server_name  localhost;
  156.     #    ssl                  on;
  157.     #    ssl_certificate      cert.pem;
  158.     #    ssl_certificate_key  cert.key;
  159.     #    ssl_session_timeout  5m;
  160.     #    ssl_prefer_server_ciphers On;
  161.     #    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  162.     #    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:ECDH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!eNULL:!MD5:!DSS:!EXP:!ADH:!LOW:!MEDIUM;
  163.     #    location / {
  164.     #        root   html;
  165.     #        index  index.html index.htm;
  166.     #    }
  167.     #}
  168. }
复制代码
4.、打开cmd窗口进入D:\Program Files (x86)\nginx-1.7.11.3-Gryphon目录输入
  1. nginx.exe -c conf\nginx-win-rtmp.conf
复制代码

启动服务器

5、打开浏览器输入http://localhost出现下图就说明启动成功

6、nginx常用命令(需要进入到nginx安装目录执行命令)

1)、启动:start nginx或nginx.exe

2)、停止:nginx.exe -s stop或nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3)、重新载入Nginx:nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令
7、配置nginx-win-rtmp.conf文件实现多平台推送。
在rtmp 节点加入
push rtmp://server/串游戏码;
每个平台一行,多个多行!
配好后,重启nginx.

8、配置OBS,将以下地址作为rtmp服务器地址即可。

  1. rtmp://127.0.0.1:1935/live
复制代码



9、如果配置正确,你可以看到多个平台同时有你的直播图像(根据网络,电脑等原因,可能会有延迟或多平台画面不同步等问题)

以上就是昨天晚上同时在斗鱼和B站进行直播的设置情况,希望对于想一次直播多平台的人,希望有帮助。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

回复

使用道具 举报

签到天数: 394 天

[LV.9]以坛为家II

评论头像

发表于 2020-5-26 12:55:41 | 显示全部楼层
这个……但千万不能被人举报啊,每个直播平台应该都有规定,不允许多平台直播……
回复 支持 反对

使用道具 举报

签到天数: 394 天

[LV.9]以坛为家II

评论头像

发表于 2020-5-26 12:56:14 | 显示全部楼层
如果只是随便播播,可以这个平台下播 领个平台开播……
回复 支持 反对

使用道具 举报

签到天数: 83 天

[LV.6]常住居民II

评论头像(9)

发表于 2020-5-26 13:37:25 | 显示全部楼层

没有签约,你举报吧
回复 支持 反对

使用道具 举报

签到天数: 394 天

[LV.9]以坛为家II

评论头像

发表于 2020-5-26 15:53:10 | 显示全部楼层

我倒没兴趣……不过同时间段直播不管你签不签约,被发现都要处罚!
回复 支持 反对

使用道具 举报

签到天数: 83 天

[LV.6]常住居民II

评论头像(9)

发表于 2020-5-26 16:00:28 | 显示全部楼层
这到无所谓,反正我也没有几个关注,而且技术就放在这里,想用的拿去用
回复 支持 反对

使用道具 举报

签到天数: 2505 天

[LV.Master]伴坛终老

评论头像(1)

发表于 2020-5-27 07:56:58 | 显示全部楼层
怀旧游戏,人气好像都不是很高。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

新模拟器共享论坛X

翻译WIKI大量成长力和金钱奖励!

访问http://wiki.nesbbs.com,翻译词条到论坛指定区,每一个完成翻译并有采纳的,有成长力等奖励哟...

点击查看详情 

QQ|申请友链|小黑屋|手机版|Archiver|新模拟器共享网 ( 辽ICP备09001055号|繁體中文   

GMT+8, 2020-8-8 10:57 , Processed in 0.124801 second(s), 37 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表