Об этом проекте

moqt-rs — это реализованная на Rust библиотека Media over QUIC Transport (MOQT) с поддержкой Sans-I/O и no_std. Она предоставляет кодеки MOQT / LOC / MSF и конечный автомат сессии, замкнутый на одну 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 управляющих сообщений: ControlMessage обрабатывается в формате Type | Length | Message Body - Инкрементальное декодирование: поскольку границы фреймов 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.