YT2RTMP 推流工具
前言
这几天苦于Youtube转播到QQ频道直播或者其他带有RTMP直播源的WebGUI工具,所以搓了这么个玩意。估计没什么人用,毕竟团队大一点的转播组都有自己的工具。 当然,这个工具也有部分依靠了Cursor(不是广告 因为我买了一年)。
使用
一个良好的心态
知晓如何与他人讨论的大脑
一台PC or Server ( 最好是Linux环境下 )
默认会使用Node.js 与 Golang 不会教如何安装
默认配置好了 FFmpeg 和 yt-dlp ,并添加到环境变量中
本次演示配置使用 OracleCloud
ARM64 2C12G (aarch64)
Network 2Gbps (Japan-Osaka)
RockyLinux 9
域名
克隆仓库
git clone https://github.com/Shizuku-Nanami/YT2RTMP.git
获取Youtube Cookies.txt
使用浏览器插件 Get-cookies.txt-Locally ( 支持Chrome和FireFox )
记得登录Youtube
点击 Export All Cookies,保留文件备用
修改.env
# 后端.env
cp .env.example .env
vim .env
# 域名配置
DOMAIN_URL=< 你的域名 例如 https://hksstudio.work >
# Cookie文件路径
COOKIES_PATH=< 上面保存了Cookies.txt的路径 例如 /YT2RTMP/cookies.txt >
# 前端.env frontend/.env.example
cp frontend/.env.example frontend/.env
vim frontend/.env
REACT_APP_DOMAIN_URL=< 与上面域名相同 例如 https://hksstudio.work >
.env修改注意点
后端 .env.example 位于根目录下,使用时需要放到backend或backend-go中
前端 .env.example 位于frontend目录下,注意修改。
安装/使用
前端
cd frontend
npm install
npm run server
运行成功会出现下面的提示
Build finished at 16:24:33 by 0.000s
App running at:
- Local: http://localhost:8081/
- Network: unavailable
Note that the development build is not optimized.
To create a production build, run npm run build.
后端
默认已安装Golang
cp .env backend-go
cd backend-go
go mod tidy
go bulid
./yt2rtmp
运行成功会出现下面的提示
[GIN-debug] Listening and serving HTTP on :8000
后续
打开 IP:8081 站点 使用F12查看 WebSocket 连接状态,如果没有连接到则如下图
连接成功则不会有提示。
注意事项
反代相关配置在仓库中的Nginx.conf内。
RTMP地址结尾不要添加 '\',否则会无法添加。
YT2RTMP 推流工具
https://hksstudio.work/archives/YT2RTMP