vault backup: 2023-08-08 10:26:27

This commit is contained in:
BlueRose 2023-08-08 10:26:27 +08:00
parent 968580a740
commit 582360f5f5
2 changed files with 60 additions and 1 deletions

View File

@ -142,6 +142,14 @@
"lastUpdated": 1691299621696 "lastUpdated": 1691299621696
} }
} }
},
"VMC推流": {
"VMC推流": {
"currentFile": {
"count": 1,
"lastUpdated": 1691401283233
}
}
} }
} }
} }

View File

@ -5,4 +5,55 @@
## 迭代动画状态机方案 ## 迭代动画状态机方案
1. 由ChatGPT模型AI使用之前录制动画素材拼凑出N组排列组合。 1. 由ChatGPT模型AI使用之前录制动画素材拼凑出N组排列组合。
2. 动画资产以及排列数据进行定期热更新。(自动 | 人工) 2. 动画资产以及排列数据进行定期热更新。(自动 | 人工)
3. 实时直播时由ChatGPT发送指定排列组合的名称或者ID给客户端之后客户端播放对应的排列组合动画。 3. 实时直播时由ChatGPT发送指定排列组合的名称或者ID给客户端之后客户端播放对应的排列组合动画。
# 推流方案
推流视频:
- https://www.bilibili.com/video/BV1ub4y1Y74K/?spm_id_from=333.337.search-card.all.click&vd_source=d47c0bb42f9c72fd7d74562185cee290
- https://www.youtube.com/watch?v=ufU9me5pDYE&t=2s
## VMC
## OSC
一种远程控制协议
- https://docs.unrealengine.com/5.1/en-US/osc-plugin-overview-for-unreal-engine/
- http://openstagecontrol.ammd.net/docs/getting-started/introduction/
- https://www.youtube.com/watch?v=42eDMmvokMM
- https://www.youtube.com/watch?v=9CkKPCBys44
### 协议分析
一种基于UDP的协议传输的数据主要分为Bundle 与 Message。
- https://protocol.vmc.info/specification
- performer-spec:https://protocol.vmc.info/performer-spec
- marionette-spec:https://protocol.vmc.info/marionette-spec
VMC协议基本上实现了开放声音控制OSC单向UDP通信来进行通信。
具体沟通规定如下:
- 通信时使用适当类型的 OSC。
- 字符串采用 UTF-8 编码,可以用日语发送。
- 至于端口号Marionette 将监听端口39539而 Performer 将监听端口39540但从 UX 角度来看,我们建议您更改发送地址
和接收端口。
- 数据包在适当的范围内1500 字节以内)进行捆绑,并且应由接收方进行适当的处​​理。
- 传输周期以发送方的任意间隔执行。并非所有消息都会在每个周期发送。
另外,发送方应该能够调整发送周期的间隔,或者以足够低的频率发送。
- 接收方应丢弃不必要的消息。您不必处理所有消息。
- 发送或接收哪些消息取决于两者的实现。
- 未知地址,应忽略太多参数。
- 如果您发现参数太少或类型与扩展规范中定义的参数不同,请将它们视为错误或忽略它们。
![](https://protocol.vmc.info/flow.gif)
![](https://protocol.vmc.info/layer.png)
### 数据类型
数据以结构体形式进行序列化/反系列化。可携带的数据类型为:
- int32、int64、uint64
- float32
- String
- blob
## UE Remote Control
https://docs.unrealengine.com/5.1/en-US/remote-control-for-unreal-engine/
基于WebSocket