环境:
运行ps4broadcast的机器,
一个openwrt路由器运行了uu插件,
ps4\ps5 的网关设置为openwrt,要求openwrt路由器能通过ip访问到ps4broadcast,方式不限。
设置方法:
- 为openwrt安装python3
- 将coverUU.py 复制到openwrt的某一个路径下,我们假设为/app/coverUU.py
- 修改coverUU.py中的192.168.8.11到你运行ps4broadcast的机器的ip
- 修改openwrt的/etc/rc.local ,在exit 0之前增加一行语句: /usr/bin/python /app/coverUU.py &
- 别省略上一行的 &
- 重启openwrt
- 这之后,就可以在uu同时使用ps4broadcast进行直播了。
如果希望讨论游戏,我们有一个qq群: 855457801 当然,不论xbox、ps、switch、pc或者其他游戏平台,都可以进群聊啊,游戏才是我们共同的、永久的话题。
PS5、XBOX Series X依然支持rtmp方式直播,所以ps4broadcast也支持PS5和XBOX Series X(XBOX无弹幕支持)。
PS5上使用ps4broadcast的效果非常好,自带录像功能也支持了1080p@60fps,并且PS5与PS4的弹幕重定向功能是相同协议,所以弹幕也支持。
鉴于PS4暂时没有直播到国内直播平台的功能,所以用了一些手段拦截twitch的RTMP内容与IRC聊天室内容,并且转发到斗鱼(将来可能会增加其他的国内直播平台。) 另外,这只是个折中手段,没准过几天PS4官方支持国内的直播平台推流了,起码国行机器是有这个可能的,这个谁说的准呢?所以这个方案只是个临时的,没有办法的办法。
分享,是网络的基础。
-
Windows操作系统做网络转发太不直接了,而且要形成脚本还挺不好写。而且作者只会Linux方式的iptables配置。
-
再有,作者自己用的是树莓派3(类似单片机的超小型电脑),所以Windows也不好用。
-
再再有,如果有大拿愿意移植到openwrt,让路由器实现这个功能,用我这个方案也是可以的。
一些Linux的基础知识,一些shell脚本以及目录知识。
如果不会这些,请直接使用镜像教程: https://www.psnine.com/topic/32642
最新的镜像release: https://github.com/Tilerphy/ps4broadcast/releases
如果Twitch绑定不上需要科学上网,请去qq群383701265找我,我能提供一个临时的代理。
Debian 8 或者 Raspbian(树莓派操作系统,debian的ARM编译)的电脑或者树莓派或者虚拟机,这台电脑的ip假设是192.168.0.8
一台其他的电脑或者虚拟机的运行机器
Nodejs 6+ 建议直接到Nodejs v8.7.0
执行ifconfig获取到当前的网卡地址,一般是eth0也有一些是eth1,或者enp0s3什么的, 类似
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.8 netmask 255.255.0.0 broadcast 192.168.255.255
inet6 fe80::2e0:66ff:fee7:e31b prefixlen 64 scopeid 0x20<link>
ether 00:e0:86:f7:e3:1b txqueuelen 1000 (Ethernet)
RX packets 20558634 bytes 16007006847 (14.9 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17867778 bytes 15731185654 (14.6 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0
就是网卡的设备号
192.168.0.8
就是这台机器的真实IP
- 执行
apt-get install -y git sudo tar libnet-ifconfig-wrapper-perl xz-utils
安装工具,sudo的用处是以管理员身份来执行命令。 - 为了方便起见在
/
目录下创建一个目录mkdir /ps4broadcast
- 进入这个目录
cd /ps4broadcast
git clone https://github.com/Tilerphy/ps4broadcast.git
- 下载最新的nodejs源代码,并且编译安装
wget https://nodejs.org/dist/v8.7.0/node-v8.7.0.tar.gz
tar -xvf node-v8.7.0.tar.gz
cd node-v8.7.0
sudo ./configure
sudo make && sudo make install
执行 node -v
得到的结果应该是v8.7.0
或者其他版本号。
此时目录结构应该是
/ps4broadcast
/ps4broadcast/node-v8.7.0
/ps4broadcast/ps4broadcast
更改脚本的执行权限
cd /ps4broadcast/ps4broadcast
sudo chmod 777 install.sh
sudo chmod 777 start-web.sh
执行安装脚本
sudo ./install.sh
sudo npm install
- Twitch
在什么都没做的情况下,在PS4上开一个游戏,按手柄的share键,选择“播放游玩画面”,选择twitch,如果之前没有进行过twitch直播,此时会要求你注册一个twitch账号。请根据提示一步步注册一个账号,并且记住你的twitchid
- 斗鱼
首先打开要去直播的网站,目前只有斗鱼,进入自己的直播间,在自己的直播屏幕上方有一个“直播开关”,点一下on。 然后界面会刷新,然后再自己的直播间屏幕左上方会找到一个“直播码”的按钮,按一下,会弹出一个框。
其中rtmp地址我们称之为 url
直播码我们称之为 code
- 我们的服务器
这里需要用到设备号,假设之前获取到的设备号是eth0
cd /ps4broadcast/ps4broadcast
sudo ./start-web.sh eth0
- Control Panel
填入Twitch ID
(Twitch的登录名),与 Douyu Room Id
(斗鱼直播间号)
将斗鱼那边得到的 url
和 code
填入后,点击reset live
如果得到LIVING STATUS: true
说明一切运行正常(更新的版本显示的是n channels.
)
- PS4
设置->网络->LAN或者无线->自定
按照这样设置:
IP: 192.168.200.45
掩码(Netmask): 255.255.255.0
网关(Gateway): 192.168.200.1
Primary DNS: 114.114.114.114
然后一路下一步。
找到个游戏,按手柄的share键,选择“播放游玩画面”,选择twitch,一路下一步。
如果斗鱼那头没有效果,可能是斗鱼的直播码过期,毕竟只有5分钟有效期,过期不用就作废,所以请重新申请url
和code
,填入Control Panel,点击reset live
,然后重新再PS4上开始直播。