PS4/PS5 无采集卡直播推流到 B 站等自定义平台

前提(全部以 PS5 为例,PS4 是一样的)

本教程需要:

  • OpenWrt 固件的路由器
  • PS5 绑定了 twitch 账号,并且可以推流 twitch (只需要能开播就行,不需要稳定推流)
  • 一点基本的 OpenWrt 相关操作常识(比如 ssh 登录,上传文件)

本教程大致分以下步骤:

  • 安装 rtmp-forwarder 到路由器
  • rtmp-forwarder 的简单配置和使用
  • 在 OpenWrt 上配置 1935 端口转发

下载安装 rtmp-forwarder

项目主页:nanpuyue/rtmp-forwarder

预编译下载:Releases · nanpuyue/rtmp-forwarder​

1.png

根据路由器的架构选择下载的文件,目前 GitHub 上为 OpenWrt 预编译了三个版本,可以在路由器执行下面的命令直接判断:

case $(uname -m) in aarch64) echo aarch64;; armv7l) if grep -q 'vfp\|neon' /proc/cpuinfo; then echo armv7hf; else echo armv7; fi;; *) echo unknown; esac

2.png

单个文件大约3M+,如果觉得体积太大可以下载经过 upx 压缩后的版本:

https://pan.quark.cn/s/b7e80bd22772?pwd=UbP6

体积只有1M出头。

文件下载下来后重命名为 rtmp-forwarder,然后上传到路由器 /tmp,可以用 winscp 这类图形化工具,也可以直接使用 scp 命令上传(以 192.168.1.1 为例):

scp -O rtmp-forwarder 192.168.1.1:/tmp/

然后在路由器上执行下面的命令:

mkdir -p /usr/local/bin
mv /tmp/rtmp-forwarder /usr/local/bin/
chmod +x /usr/local/bin/tmp/rtmp-forwarder

cat > /etc/init.d/rtmp-forwarder <<"EOF"
#!/bin/sh /etc/rc.common
# license: GPLv3 https://www.gnu.org/licenses/gpl-3.0.txt
# author: nanpuyue <[email protected]> https://blog.nanpuyue.com

START=95
USE_PROCD=1

start_service() {
    procd_open_instance
    procd_set_param command /usr/local/bin/rtmp-forwarder -c /etc/rtmp-forwarder.json
    procd_set_param respawn
    procd_close_instance
}
EOF
chmod +x /etc/init.d/rtmp-forwarder

到这里 rtmp-forwarder 就安装好了。

rtmp-forwarder 的简单配置

rtmp-forwarder 同时接受命令行参数和配置文件,详情可以参考项目文档:中文说明

这里我们先简单设置一下,首先生成一个默认的配置文件(把 192.168.1.1 替换成路由器 lan 口 IP):

/usr/local/bin/rtmp-forwarder -c /etc/rtmp-forwarder.json -w 192.168.1.1:8080

启动后直接 Ctrl + C 推出即可,此时已经生成了默认的配置文件 /etc/rtmp-forwarder.json:

3.png

其余配置比如 rtmp 监听地址和端口,Web 访问用户名和密码可以自行参考文档修改(也可以不再修改),如果需要使用 OBS 进行推流测试的话,可以把 listen_addr 也改为路由器 lan 口 IP:

vim /etc/rtmp-forwarder.json

确定之后启动 rtmp-forwarder:

/etc/init.d/rtmp-forwarder enable
/etc/init.d/rtmp-forwarder start

如果需要停止 rmtp-forwarder,执行下面的命令:

/etc/init.d/rtmp-forwarder stop

此时就能用浏览器访问 Web 管理界面了 http://192.168.1.1:8080 (注意自己设置的 IP 和端口)

4.png

点击“添加推流目标”,填入推流地址和推流码,保存即可:

5.png

B 站推流码可以使用第三方工具获取,比如 Rsplwe/bili-live-hime​,也可以使用直播姬的“第三方推流模式”。

6.png

配置端口转发
登录路由器管理界面,导航到:网络->防火墙->端口转发->添加

7.png
8.png

名称随意填(我填的 redirect-rtmp)

需要注意的是:

  • “协议”选 tcp
  • “外部端口”填 1935
  • “源区域”选 lan
  • “内部 IP 地址”填 127.0.0.1,如果之前把 listen_addr 改为了 lan 口 IP 就填 lan 口 IP
  • “高级设置”里“源 IP 地址”选 PS5 的 IP 地址(最好给 PS5 设置静态 IP)

如果 PS5 不设置静态 IP,也可以不设置“源 IP 地址”(选任意),改为设置“源 MAC 地址”为 PS5 的 MAC 地址

设置好后点保存,再点保存并应用就好了:

9.png

开启直播

进入游戏后直接选 twitch 开启直播:

10.jpg

右上角提示正在直播就算成功了:

11.jpg

然后登录 rtmp-forwarder Web 管理界面就能看到直播画面预览:

12.jpg

再在 B 站开播(或者使用第三方工具开播,总之保证直播直播间是开播状态),然后点击推流配置下面 B 站对应的推流目标后面的按钮开关就能推流到 B 站了。

13.png
14.jpg

最后,我的直播间我叫胡桃,是土御门家的天​,欢迎关注。

标签: none

添加新评论