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
作者
ShizukuNanami
发布于
2025年03月26日
许可协议