IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    相对优雅的PS4直播

    Shawphy发表于 2020-04-26 19:14:24
    love 0

    网上PS直播有很多文章,但大多需要编译和修改路由表。实际上PS4直播的时候,不一定需要自己编译NGINX,直接改HOSTS也不是不可以。本文就是用了这种方式,相对优雅,当然只是相对而已。

    警告,本文并非0基础教程,需要相当多的Linux操作经验,慎入。

    0.准备工作

    • 一台支持openwrt的路由器
    • 一个Linux系统,可以是虚拟机也可以是WSL,我推荐用虚拟机装个Debian/Ubuntu,且虚拟机桥接。也可以用树莓派之类的。
    • 需要会在Linux里编辑文件

    1.安装NGINX+RTMP模块

    现代的Debian/Ubuntu等系统都已经自带了RTMP模块了,所以直接apt-get安装就行了。

    sudo apt-get install nginx libnginx-mod-rtmp

    2.配置NGINX

    先搞定xsl文件

    cp /usr/share/doc/libnginx-mod-rtmp/examples/stat.xsl.gz /var/www/html
    gzip -d /var/www/html/stat.xsl.gz

    然后编辑nginx配置文件,在http之前添加rtmp,在http内部添加一个server。如果有 include /etc/nginx/sites-enabled/*;,就在这行前面加个# 井号注释掉。最终看起来文件是这样的。

    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    include /etc/nginx/modules-enabled/*.conf
    
    events {
        worker_connections  1024;
    }
    
    rtmp {
        server {
            listen 1935;
            application app {
                live on;
            }
        }
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile           on;
        keepalive_timeout  65;
    
        server {
            # 改一下监听端口
            listen       80;
            server_name  localhost;
    
            location / {
                rtmp_stat all;
                rtmp_stat_stylesheet stat.xsl;
            }
    
            location /stat.xsl {
                root /var/www/html;
            }
        }
    }

    编辑完之后,就重启nginx试试,如果没任何提示就说明成功了。

    sudo systemctl restart nginx

    3.配置路由器

    现在twitch有很多服务器, 根据这份列表,把里边的前三个推荐的加入到路由器里。如果你是用了openwrt,启用了dnsmasq的话,可以直接在 网络-DHCP/DNS 菜单下添加。我直接下了猛药,所有服务器都劫持了。设置了一个额外的HOSTS文件,文件内容如下:

    192.168.11.221	live.twitch.tv
    192.168.11.221	live-fra02.twitch.tv
    192.168.11.221	live-dfw.twitch.tv
    192.168.11.221	live-bkk.twitch.tv
    192.168.11.221	live-ord02.twitch.tv
    192.168.11.221	live-sin.twitch.tv
    192.168.11.221	live-qro.twitch.tv
    192.168.11.221	live-hel.twitch.tv
    192.168.11.221	live-osl.twitch.tv
    192.168.11.221	live-sjc.twitch.tv
    192.168.11.221	live-slc.twitch.tv
    192.168.11.221	live-arn.twitch.tv
    192.168.11.221	live-sea.twitch.tv
    192.168.11.221	live-ymq.twitch.tv
    192.168.11.221	live-tpe01.twitch.tv
    192.168.11.221	live-mia.twitch.tv
    192.168.11.221	live-sao.twitch.tv
    192.168.11.221	live-lhr03.twitch.tv
    192.168.11.221	live-lax.twitch.tv
    192.168.11.221	live-hkg.twitch.tv
    192.168.11.221	live-mrs.twitch.tv
    192.168.11.221	live-iad03.twitch.tv
    192.168.11.221	live-iad05.twitch.tv
    192.168.11.221	live-phx.twitch.tv
    192.168.11.221	live-atl.twitch.tv
    192.168.11.221	live-sel03.twitch.tv
    192.168.11.221	live-sfo.twitch.tv
    192.168.11.221	live-tyo.twitch.tv
    192.168.11.221	live-prg.twitch.tv
    192.168.11.221	live-jfk.twitch.tv
    192.168.11.221	live-den.twitch.tv
    192.168.11.221	live-mad.twitch.tv
    192.168.11.221	live-sel01.twitch.tv
    192.168.11.221	live-ams.twitch.tv
    192.168.11.221	live-tpe03.twitch.tv
    192.168.11.221	live-mil.twitch.tv
    192.168.11.221	live-hou.twitch.tv
    192.168.11.221	live-cph.twitch.tv
    192.168.11.221	live-fra05.twitch.tv
    192.168.11.221	live-pdx.twitch.tv
    192.168.11.221	live-lhr04.twitch.tv
    192.168.11.221	live-yto.twitch.tv
    192.168.11.221	live-cdg.twitch.tv
    192.168.11.221	live-waw.twitch.tv
    192.168.11.221	live-ber.twitch.tv
    192.168.11.221	live-syd.twitch.tv
    192.168.11.221	live-ord03.twitch.tv
    192.168.11.221	live-rio.twitch.tv
    192.168.11.221	live-vie.twitch.tv
     

    其中,192.168.11.221是我Linux服务器的地址,你可以在Linux系统的终端下输入 ip addr 来找到你的ip

    保存后openwrt会自动重启一下dnsmasq服务,这就算完成了。

    4.PS4上开始直播

    PS4上点击share按键,就可以开始直播了。注意这里有个坑,有可能连不上twitch服务器,这时候需要路由器自带梯子。这里不再具体介绍方法。

    5.拿到数据流

    访问 http://192.168.11.221/ 也就是Linux主机的ip,默认就可以看到是[EMPTY]的或者是[live_xxxxx]一堆。如果 app 写的是[EMPTY]的话那么 rtmp 地址就是rtmp://192.168.11.221:1935/app/
    否则应该是rtmp://192.168.11.221:1935/app/live_xxxxx

    然后进obs,把这个作为媒体源添加进来,就可以直播了。

    6.参考

    如何科学的直播 PS4

    Ubuntu 16.04简易安装Nginx-rtmp-module

    7.后记

    https://github.com/winshining/nginx-http-flv-module



沪ICP备19023445号-2号
友情链接