প্রকল্প সম্পর্কে
# 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 লাইভ স্ট্রিমিং, ভিডিও কনফারেন্সিং বা ব্রডকাস্টিং অ্যাপ তৈরি করা ডেভেলপারদের জন্য আদর্শ, শক্তিশালী প্রোটোকল সমর্থন এবং নমনীয় এনকোডিং বিকল্প প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.