这个项目能做什么
moqt-rs是用Rust实现的Sans-I/O且支持no_std的Media over QUIC Transport (MOQT)库。它提供MOQT / LOC / MSF的codec,以及封闭在单个Transport Session内的会话状态机。
主要特点:
- Sans-I/O设计,不包含I/O、异步处理及relay功能
- 支持no_std,依赖仅有hashbrown / noflate / nojson三个
- 带缓冲的增量解码器 (MessageDecoder / SubgroupStreamDecoder / FetchStreamDecoder)
- FETCH响应的增量压缩编码器 (FetchStreamEncoder)
- 支持的规范:MOQT draft-21、LOC draft-04、MSF draft-01
使用方法:
- 控制消息的encode/decode:以Type | Length | Message Body形式处理ControlMessage
- 增量解码:由于QUIC/WebTransport的帧边界与消息边界不一致,采用push + try_decode模式进行解码
- 会话:Session是不持有I/O的纯状态机。通过new_client / new_server生成,用poll_event()获取事件
- 目录与时间线:MSF的目录文档及媒体/事件时间线与JSON相互转换,支持gzip压缩
作为示例,同捆提供了moqt-publisher、moqt-subscriber、moqt-transport,使用了Tokio、s2n-quic、shiguredo_http3。
还同捆了Agent Skills形式的技能,可安装到AI代理中以帮助理解API和规范。
许可证为Apache License 2.0。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。