mirror of
https://github.com/HiMeditator/auto-caption.git
synced 2026-02-04 12:24:42 +08:00
feat(engine): 优化字幕引擎通信和控制逻辑,优化窗口信息展示
- 优化错误处理和引擎重启逻辑 - 添加字幕引擎强制终止功能 - 调整通知和错误提示的显示位置 - 优化日志记录精度到毫秒级
This commit is contained in:
@@ -1,17 +1,63 @@
|
||||
# caption engine api-doc
|
||||
|
||||
本文档主要 Electron 主进程和字幕引擎进程的通信约定。
|
||||
本文档主要介绍字幕引擎和 Electron 主进程进程的通信约定。
|
||||
|
||||
## 原理说明
|
||||
|
||||
本项目的 Python 进程通过标准输出向 Electron 主进程发送数据。
|
||||
本项目的 Python 进程通过标准输出向 Electron 主进程发送数据。Python 进程标准输出 (`sys.stdout`) 的内容一定为一行一行的字符串。且每行字符串均可以解释为一个 JSON 对象。每个 JSON 对象一定有 `command` 参数。
|
||||
|
||||
Python 进程标准输出 (`sys.stdout`) 的内容一定为一行一行的字符串。且每行字符串均可以解释为一个 JSON 对象。每个 JSON 对象一定有 `command` 参数。
|
||||
Electron 主进程通过 WebSocket 向 Python 进程发送数据。发送的数据均是转化为字符串的对象,对象格式一定为:
|
||||
|
||||
## 输出约定
|
||||
```js
|
||||
{
|
||||
command: string,
|
||||
content: string
|
||||
}
|
||||
```
|
||||
|
||||
## 标准输出约定
|
||||
|
||||
> 数据传递方向:字幕引擎进程 => Electron 主进程
|
||||
|
||||
当 JSON 对象的 `command` 参数为下列值时,表示的对应的含义:
|
||||
|
||||
### `connect`
|
||||
|
||||
```js
|
||||
{
|
||||
command: "connect",
|
||||
content: ""
|
||||
}
|
||||
```
|
||||
|
||||
字幕引擎 WebSocket 服务已经准备好,命令 Electron 主进程连接字幕引擎 WebSocket 服务
|
||||
|
||||
### `kill`
|
||||
|
||||
```js
|
||||
{
|
||||
command: "connect",
|
||||
content: ""
|
||||
}
|
||||
```
|
||||
|
||||
命令 Electron 主进程强制结束字幕引擎进程。
|
||||
|
||||
### `caption`
|
||||
|
||||
```js
|
||||
{
|
||||
command: "caption",
|
||||
index: number,
|
||||
time_s: string,
|
||||
time_t: string,
|
||||
text: string,
|
||||
translation: string
|
||||
}
|
||||
```
|
||||
|
||||
Python 端监听到的音频流转换为的字幕数据。
|
||||
|
||||
### `print`
|
||||
|
||||
```js
|
||||
@@ -45,18 +91,12 @@ Python 端打印的提示信息,比起 `print`,该信息更希望 Electron
|
||||
|
||||
Gummy 字幕引擎结束时打印计费消耗信息。
|
||||
|
||||
## WebSocket
|
||||
|
||||
### `caption`
|
||||
> 数据传递方向:Electron 主进程 => 字幕引擎进程
|
||||
|
||||
```js
|
||||
{
|
||||
command: "caption",
|
||||
index: number,
|
||||
time_s: string,
|
||||
time_t: string,
|
||||
text: string,
|
||||
translation: string
|
||||
}
|
||||
```
|
||||
当 JSON 对象的 `command` 参数为下列值时,表示的对应的含义:
|
||||
|
||||
Python 端监听到的音频流转换为的字幕数据。
|
||||
### `stop`
|
||||
|
||||
命令当前字幕引擎停止监听并结束任务。
|
||||
Reference in New Issue
Block a user