عن المشروع

# 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 مثالية للمطورين الذين يبنون تطبيقات بث مباشر أو مؤتمرات فيديو أو بث تلفزيوني على أندرويد، حيث توفر دعمًا قويًا للبروتوكولات وخيارات ترميز مرنة.