عن المشروع

rtmp-rs هي مكتبة خادم وعميل RTMP غير متزامن مكتوبة بلغة Rust ومبنية فوق نظام Tokio. تتيح للمطورين استيعاب البث المباشر من برامج الترميز مثل OBS أو FFmpeg، وإعادة توجيهه للمشاهدين، أو سحب البث من خوادم خارجية، أو نشره إلى نقاط نهاية RTMPS مثل YouTube وTwitch. تدعم المكتبة كلاً من RTMP التقليدي (H.264 وAAC) وEnhanced RTMP v2، مما يتيح استخدام مشغِّلات حديثة مثل HEVC وAV1 وVP9 وVP8 وOpus وFLAC وAC-3 وE-AC-3. وهي مصممة للتعامل بليونة مع شذوذات المشغِّلات الواقعية، بما في ذلك أسماء التطبيقات الفارغة وانحدارات الطوابع الزمنية. من بين الميزات الرئيسية: - تخزين GOP: يوفر إطار المفتاح فوراً للمشاهدين المنضمين لاحقاً. - التعامل مع الضغط العكسي: إسقاط إطارات الفيديو للمشتركين بطيئي الأداء مع الحفاظ على استمرارية الصوت. - مشاركة خالية من النسخ: تمرير حمولات الوسائط كبيانات bytes::Bytes لمشاركة الإطارات بين المشتركين دون نسخ. - دعم RTMPS: نقل RTMP آمن عبر TLS باستخدام rustls وwebpki-roots. - استدعاءات قابلة للتوسيع: يوفر trait RtmpHandler نقاط ربط مخصصة للمصادقة، وتحليل البيانات الوصفية، ومعالجة كل إطار.