PUSH your playstation 5 living to any platform, e.g. Huya, bilibili, youtube, Twitch, DouTV .
10K+
PS5 的在线直播功能只能支持 Youtbue,Twitch。国内的小伙伴大都使用视频采集卡的方式,外配电脑,然后在国内平台直播。但是我是个穷逼,一直想琢磨怎么能省钱,利用系统的直播功能。
另外一个功能是希望直播的过程中,录制成本地文件,恰好这个 nginx 的 rtmp 就能做,于是就制作了这个镜像
后来在 A9VG 论坛看到 @Lumi-Kumi 的帖子:PS5直接推流 使用Linux+支持DNSMasq的路由器 国内直播平台教程 。其实这个帖子已经很简单很精准了。但是奈何这个是要自己重头配置,很多人就劝退了,所以我就做成一个 docker,方便大家。
特别是使用群晖的朋友,这个镜像会比较方便~~~~
必需,PS5 可以科学上网
必需,在 PS5 上Twitch 账户已经登录
必需,DNS服务器,需要劫持域名。别担心,你可以自建一个
没必要但是可选,电脑一台,OBS。完全用不到,后面会解释为啥要写上
会使用 vi 编辑文件
我这里解释一下原因:
PS5 玩游戏过程中,当你点击了直播按钮之后,例如你点击 Twitch,
PS5 会连接 api.twitch.tv, ingest.twitch.tv ,这 2 个域名必须要科学上网
因为需要验证你的账户。你愿意的话,也可以自建机器做个反代。。。
总之,科学上网是必须的
这应该是最难的一步,却又是最简单的一步
一旦你的 PS5 访问了 api.twitch.tv 、验证过你的账户后,就会访问 *.contribute.live-video.net:1935 ,这就是直播地址,我们需要做的就是劫持这个地址,指向你的 docker 所在的那台主机,如果你用的是群晖,那就指向群晖。此处我们统一假设你的群晖 IP是 192.168.50.60 ,也就是你运行 docer 的 IP,后面就不啰嗦了。
打开你的 DNS 服务器,添加一个 DNS 重写记录
*.contribute.live-video.net 192.168.50.60
关于 DNS 服务器,如果你使用的是科学上网插件,它们本身就是一个DNS 服务器,
通常它们是 DNSmasq 做的,自建添加一条记录即可,例如:
address=/contribute.live-video.ne/192.168.50.60
请下载 Adguard Home ,适用于 windows/Mac/Linux 系统 然后在 Adguard Home 的 “过滤器” -- “DNS重写” -- “添加 DNS 重写” 中添加:
*.contribute.live-video.net 192.168.50.60
这是最简单的部分
很简单,创建一个容器 Container,注意映射 80 端口(web 页面), 1935 端口(推流端口)
如果你使用命令行,则:
docker run -d -it -p 80:80 -p 1935:1935 --restart always --name ps5living bao3/playstation
如果你使用的是群晖,则对应到群晖的端口上即可。
要注意: *1935 只能映射成 1935 * ,但是 80 你可以随意映射,只是个 web 端观察用的。
非常简单:
A. 打开浏览器,http://192.168.50.60,可以看到 web 页面
B. 玩游戏时,点击 Twitch 直播,说明文字里面自己随便输入点什么,点击开始
C. 观察浏览器的流量,特别是 app 字段下面应该可以看到你的 PS5 publising ,还会有一个 ⚠️ live_XXXXXXXXXX的 ID,这个就是你的 Twitch 直播 ID(保密)
D. 如果你有 VLC (免费开源),打开软件,输入 Network 地址 http://192.168.50.60/app/live_XXXXXXXXXX ,此时你应该就可以看到直/转播图像了。
目前这个状况只是已经可以接收 PS5 1080P@60fps 的视频,下面我们要做的就是发送到不同平台
这个其实完全没必要,但是如果你愿意,你可以用电脑,打开 OBS 直播软件,添加 PS5 的直播为直播源,然后推送到你希望的直播平台。这个方式不推荐,但是却可以通过 OBS 给自己加一些漂亮的背景之类的,HOHO
直播源地址
http://192.168.50.60/app/live_XXXXXXXXXX。注意⚠️live_XXXXXXXXXX就是你在 web 上看到的 TwitchID。
十分推荐,只要你上传带宽够,你可以同时推送到多个平台(我就是同时推送虎牙、Youtube、Twitch),你只要修改一下 nginx.conf 就行了,但是有点麻烦。
使用 docker exec -it ps5living vi /etc/nginx/nginx.conf ,然后你看文件的最后几行,去掉注释并替换成自己的。注意:结尾必须有分号 ;
allow publish all;
# push rtmp://tx.direct.huya.com/huyalive/4287173141-2898249214-0-XXXXXXXXX-15287-U-XXXXXXXXX-1?seq=XXXXXXXXXXXX&type=simple
# push rtmp://live.twitch.tv/app/live_111111111_XXXXXXXXXXXXXXXXXXXXXXXXXXXX;
# push rtmp://a.rtmp.youtube.com/live2/XXXXXXXXXXXXXXXXXXXXXXX;
详情通过命令行启动要注意,群晖里面,vi 要保存,需要按 ctrl+[ 代替 Escape。
其实修改 nginx.conf,把 record off 改成 on /all 就可以录制了,方便后期剪辑。不过这一版镜像没有安装 ffmpeg,所以以后再加入吧。
祝你好运
Content type
Image
Digest
Size
3.4 MB
Last updated
about 5 years ago
docker pull bao3/playstation