عن المشروع
moqt-rs هي مكتبة Media over QUIC Transport (MOQT) مكتوبة بلغة Rust، تدعم Sans-I/O وno_std. توفر برامج ترميز (codec) لـ MOQT / LOC / MSF وآلة حالة للجلسات مقتصرة على جلسة نقل واحدة.
الميزات الرئيسية:
- تصميم Sans-I/O، لا يشمل الإدخال/الإخراج أو المعالجة غير المتزامنة أو وظائف الترحيل
- دعم no_std، مع ثلاثة تبعيات فقط: hashbrown / noflate / nojson
- مفككات ترميز تدريجية مع مخازن مؤقتة (MessageDecoder / SubgroupStreamDecoder / FetchStreamDecoder)
- مشفر ضغط دلتا لاستجابات FETCH (FetchStreamEncoder)
- المواصفات المدعومة: MOQT draft-21، LOC draft-04، MSF draft-01
طريقة الاستخدام:
- ترميز/فك ترميز رسائل التحكم: التعامل مع ControlMessage بصيغة Type | Length | Message Body
- فك الترميز التدريجي: نظرًا لعدم تطابق حدود إطارات QUIC/WebTransport مع حدود الرسائل، يتم فك الترميز بنمط push + try_decode
- الجلسة: Session هي آلة حالة نقية بدون إدخال/إخراج. يتم إنشاؤها عبر new_client / new_server، ويتم الحصول على الأحداث عبر poll_event()
- الكتالوج والخط الزمني: تحويل مستندات كتالوج MSF أو الخطوط الزمنية للوسائط/الأحداث من وإلى JSON، مع دعم ضغط gzip
كأمثلة، يتم تضمين moqt-publisher وmoqt-subscriber وmoqt-transport، والتي تستخدم Tokio وs2n-quic وshiguredo_http3.
كما يتم تضمين مهارات بصيغة Agent Skills، والتي يمكن تثبيتها على وكلاء الذكاء الاصطناعي لمساعدتهم في فهم واجهات البرمجة والمواصفات.
الترخيص هو Apache License 2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.