প্রকল্প সম্পর্কে

# Android-এর জন্য RootEncoder RootEncoder (পূর্বে rtmp-rtsp-stream-client-java) হল Android-এর জন্য একটি বিস্তৃত স্ট্রিম এনকোডার লাইব্রেরি, যা ডেভেলপারদের একাধিক প্রোটোকল ব্যবহার করে মিডিয়া সার্ভারে ভিডিও এবং অডিও পাঠাতে সক্ষম করে: RTMP, RTSP, SRT, UDP এবং WHIP (বিটা)। সমস্ত কোড Java/Kotlin-এ লেখা, যা এটিকে Android স্ট্রিমিং অ্যাপ্লিকেশনের জন্য একটি নেটিভ সমাধান করে তোলে। ## মূল বৈশিষ্ট্য - **প্রোটোকল**: 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, স্ক্রিন ক্যাপচার (API 21+), এবং ফাইল স্ট্রিমিং (mp4, webm, mp3 ইত্যাদি)। - **রিয়েল-টাইম প্রসেসিং**: OpenGL ফিল্টার, ছবি/GIF/টেক্সট ওভারলে, এবং অডিও নয়েজ সাপ্রেশন/ইকো ক্যানসেলেশন। - **ডায়নামিক কন্ট্রোল**: স্ট্রিমিং চলাকালীন ভিডিও/অডিও সক্ষম/অক্ষম করা, ক্যামেরা পরিবর্তন করা, ফ্লাইতে বিটরেট পরিবর্তন করা (API 19+), এবং স্ট্রিমিং চলাকালীন MP4 রেকর্ড করা (API 18+)। - **সামঞ্জস্য**: ন্যূনতম Android API 16; অতিরিক্ত ভিডিও উৎসের জন্য API 21+ প্রয়োজন। ## ইনস্টলেশন আপনার build.gradle-এ JitPack রিপোজিটরি এবং ডিপেন্ডেন্সি যোগ করুন: ```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" /> ``` ## ব্যবহারের উদাহরণ - **Rotation**: স্ক্রিন রোটেশন, ওরিয়েন্টেশন, ফিল্টার এবং ডায়নামিক উৎস পরিবর্তন সমর্থনকারী প্রস্তাবিত উপায়। - **Screen Streaming**: একটি ব্যাকগ্রাউন্ড সার্ভিসের মাধ্যমে ডিভাইস স্ক্রিন স্ট্রিম করুন। - **File Streaming**: ভিডিও ফাইলকে উৎস হিসেবে ব্যবহার করুন। - **Old API**: লো-API ডিভাইসের (16+) জন্য। সব উদাহরণ `app/src/main/java/com/pedro/streamer/` ডিরেক্টরিতে রয়েছে। ## ডকুমেন্টেশন ও সাপোর্ট - বিস্তারিত গাইডের জন্য [Wiki](https://github.com/pedroSG94/RootEncoder/wiki), রিয়েল-টাইম ফিল্টার সহ। - API রেফারেন্সের জন্য [Documentation](https://pedroSG94.github.io/RootEncoder)। - iOS সংস্করণ [RootEncoder-iOS](https://github.com/pedroSG94/RootEncoder-iOS)-এ উপলব্ধ। ## স্পনসরশিপ লাইব্রেরিটি Stream (চ্যাট/ফিড API) এবং Recall.ai (মোবাইল রেকর্ডিং SDK) দ্বারা স্পনসর করা হয়। টেস্টিং এবং ডেভেলপমেন্ট সমর্থন করতে GitHub Sponsors বা PayPal-এর মাধ্যমে অনুদান স্বাগত। ## সম্পর্কিত প্রকল্প - সার্ভার-সাইড বাস্তবায়নের জন্য [RTSP-Server](https://github.com/pedroSG94/RTSP-Server)। - [recordcontrollers](https://github.com/FunnyDevs/rtmp-rtsp-stream-client-java-recordcontrollers)-এর মতো থার্ড-পার্টি এক্সটেনশন। RootEncoder লাইভ স্ট্রিমিং, ভিডিও কনফারেন্সিং বা ব্রডকাস্টিং অ্যাপ তৈরি করা ডেভেলপারদের জন্য আদর্শ, শক্তিশালী প্রোটোকল সমর্থন এবং নমনীয় এনকোডিং বিকল্প প্রদান করে।