عن المشروع
# RootEncoder لأندرويد
RootEncoder (المعروفة سابقًا باسم rtmp-rtsp-stream-client-java) هي مكتبة ترميز بث شاملة لأندرويد، تتيح للمطورين دفع الفيديو والصوت إلى خوادم الوسائط باستخدام بروتوكولات متعددة: RTMP وRTSP وSRT وUDP وWHIP (نسخة تجريبية). جميع الأكواد مكتوبة بلغة Java/Kotlin، مما يجعلها حلًا أصليًا لتطبيقات البث على أندرويد.
## الميزات الرئيسية
- **البروتوكولات**: تدعم RTMP (بما في ذلك RTMPS وRTMPT وRTMPTS)، وRTSP (TCP/UDP وRTSPS)، وSRT (مع التشفير وإعادة إرسال الحزم)، وUDP (أحادي البث ومتعدد البث والبث العام وMPEG2-TS)، وWHIP (نسخة تجريبية مع مصادقة رمز الحامل).
- **الترميزات**: ترميز عتادي/برمجي لـ AV1 وH264 وH265 وVP8 وVP9 وG711 وAAC وHE-AAC وOPUS.
- **مصادر الفيديو**: واجهات Camera1 وCamera2، والتقاط الشاشة (API 21+)، وبث الملفات (mp4 وwebm وmp3 وغيرها).
- **معالجة فورية**: فلاتر OpenGL، وتراكبات الصور/صور GIF/النصوص، وكبت ضوضاء الصوت/إلغاء الصدى.
- **تحكم ديناميكي**: تمكين/تعطيل الفيديو/الصوت أثناء البث، وتبديل الكاميرات، وتغيير معدل البت أثناء التشغيل (API 19+)، وتسجيل MP4 أثناء البث (API 18+).
- **التوافق**: الحد الأدنى Android API 16؛ مصادر الفيديو الإضافية تتطلب API 21+.
## التثبيت
أضف مستودع JitPack والاعتمادية في ملف build.gradle الخاص بك:
```gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation "com.github.pedroSG94.RootEncoder:library:2.8.1"
// اختياري لـ CameraXSource وCameraUvcSource
implementation "com.github.pedroSG94.RootEncoder:extra-sources:2.8.1"
}
```
للإصدارات الأقدم (≤2.2.6)، استخدم `rtplibrary` بدلاً من ذلك.
## الأذونات
أضف إلى AndroidManifest.xml:
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
```
## أمثلة الاستخدام
- **التدوير**: الطريقة الموصى بها التي تدعم دوران الشاشة والاتجاه والفلاتر وتغييرات المصدر الديناميكية.
- **بث الشاشة**: بث شاشة الجهاز عبر خدمة خلفية.
- **بث الملفات**: استخدام ملفات الفيديو كمصادر.
- **الواجهة القديمة**: للأجهزة ذات API المنخفض (16+).
جميع الأمثلة موجودة في مجلد `app/src/main/java/com/pedro/streamer/`.
## التوثيق والدعم
- [الويكي](https://github.com/pedroSG94/RootEncoder/wiki) للحصول على أدلة مفصلة، بما في ذلك الفلاتر الفورية.
- [التوثيق](https://pedroSG94.github.io/RootEncoder) لمرجع API.
- نسخة iOS متاحة على [RootEncoder-iOS](https://github.com/pedroSG94/RootEncoder-iOS).
## الرعاية
المكتبة مدعومة من Stream (واجهات برمجة تطبيقات الدردشة/الخلاصات) وRecall.ai (حزمة تطوير برمجيات تسجيل الهاتف المحمول). التبرعات مرحب بها عبر GitHub Sponsors أو PayPal لدعم الاختبار والتطوير.
## مشاريع ذات صلة
- [RTSP-Server](https://github.com/pedroSG94/RTSP-Server) لتطبيق جانب الخادم.
- امتدادات طرف ثالث مثل [recordcontrollers](https://github.com/FunnyDevs/rtmp-rtsp-stream-client-java-recordcontrollers).
تعد RootEncoder مثالية للمطورين الذين يبنون تطبيقات بث مباشر أو مؤتمرات فيديو أو بث تلفزيوني على أندرويد، حيث توفر دعمًا قويًا للبروتوكولات وخيارات ترميز مرنة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.