عن المشروع

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.