This commit is contained in:
eric
2026-03-24 14:47:03 -05:00
parent b914f0947a
commit efcec61d36
64 changed files with 22242 additions and 32 deletions

View File

@@ -8,6 +8,48 @@
[![Latest Release](https://img.shields.io/github/v/release/ihmily/DouyinLiveRecorder)](https://github.com/ihmily/DouyinLiveRecorder/releases/latest)
[![Downloads](https://img.shields.io/github/downloads/ihmily/DouyinLiveRecorder/total)](https://github.com/ihmily/DouyinLiveRecorder/releases/latest)
---
## 本分支扩展Electron 控制台 · 抖音 → YouTube
在上游 **DouyinLiveRecorder** 能力之上,本仓库增加了 **Windows Electron 客户端**、**web2 FastAPI 控制台**、**EasyTier 远程访问**、**本地 SQLite 工作台**、**微信 Chatbot 桥接** 等。
### 架构概览
| 层级 | 说明 |
|------|------|
| Python / FFmpeg | 多平台录制主逻辑;`douyin_youtube_ffplay.py` 将抖音流推至 YouTubeRTMPS`web2.py` 提供进程管理、配置读写、`/client/overview` 工作台数据、网络/代理/系统指标、YouTube OAuth 与微信代理 API。 |
| Electron 主进程 | 启动 uvicorn内置 **EasyTier**`easytier-core` + `easytier-cli`**sql.js** 持久化 `client-data.sqlite`(直播事件、用户操作、运行日志、快照);**YouTube Studio 侧窗** 注入与油猴脚本 [YouTube Studio Auto Dismiss](https://greasyfork.org/en/scripts/557378-youtube-studio-auto-dismiss) 等价的自动 Dismiss 逻辑。 |
| 渲染进程 | Verge 风格 UI录制、网络远程绑定 + 测速)、代理、系统、微信、**工作台**(频道 / EasyTier / 微信 / 快照 / 事件表)。 |
### 配置与数据路径
| 路径 | 用途 |
|------|------|
| `config/youtube.ini` | 单路串流密钥等(与上游一致)。 |
| `config/youtube_channels.json` | **多路一对一**:每条为 `douyinUrl` + `youtubeKey`(不同抖音 ↔ 不同 YouTube见 example**禁止**同一抖音绑多个 YouTube、**禁止**多路共用一个密钥。未使用该文件时退化为单路 `youtube.ini` + `URL_config.ini`。 |
| `config/easytier_network.json` | 组网名、密钥、peer 引导节点。 |
| `config/wechat_chatbot.json` | 微信代理 API 配置(与 openclaw-wechat 兼容)。 |
| `%AppData%`/应用用户数据目录下的 `client-data.sqlite` | Electron 工作台 SQLite。 |
### 功能摘要
- **工作台**:展示 **YouTube 频道(名称 : 密钥预览)**、**EasyTier `easytier-cli peer list` 解析的节点数(含手机/RN 等)**、**微信是否已配置 / 昵称与 wcId / 代理在线状态**;直播事件表含 **relay_intent**(抖音房间 → YouTube key 后缀)、**relay_session**(转播时长秒数)等。
- **多路 Pro**:多组并行「抖音直播间 → YouTube 串流」,每组**唯一配对**(禁止一抖音多推、禁止多抖音同密钥)。录制页开关仅存偏好;**多进程推流引擎仍在开发**。
- **Tampermonkey**:默认用 Electron 内建注入实现 Studio 自动 Dismiss无需强制安装油猴扩展若需完整 Tampermonkey可自行使用 `session.loadExtension` 加载扩展目录。
- **SRS**[SRS](https://github.com/ossrs/srs) 计划在 `third_party/srs` 集成,具体能力待定(占位说明见该目录 `README.txt`)。
### Electron 开发
```bash
cd electron
pnpm install
pnpm run prepare-easytier # 下载 Windows easytier 二进制(可选,见 package.json
pnpm dev
```
---
一款**简易**的可循环值守的直播录制工具基于FFmpeg实现多平台直播源录制支持自定义配置录制以及直播状态推送。
</div>