इस प्रोजेक्ट के बारे में
# 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" />
```
## उपयोग उदाहरण
- **रोटेशन**: अनुशंसित तरीका जो स्क्रीन रोटेशन, ओरिएंटेशन, फ़िल्टर और गतिशील स्रोत परिवर्तनों का समर्थन करता है।
- **स्क्रीन स्ट्रीमिंग**: पृष्ठभूमि सेवा के माध्यम से डिवाइस स्क्रीन स्ट्रीम करें।
- **फ़ाइल स्ट्रीमिंग**: वीडियो फ़ाइलों को स्रोत के रूप में उपयोग करें।
- **पुराना API**: कम-API डिवाइसों (16+) के लिए।
सभी उदाहरण `app/src/main/java/com/pedro/streamer/` निर्देशिका में हैं।
## दस्तावेज़ीकरण और समर्थन
- विस्तृत गाइड के लिए [विकी](https://github.com/pedroSG94/RootEncoder/wiki), जिसमें रीयल-टाइम फ़िल्टर शामिल हैं।
- API संदर्भ के लिए [दस्तावेज़ीकरण](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 उन डेवलपर्स के लिए आदर्श है जो Android पर लाइव स्ट्रीमिंग, वीडियो कॉन्फ्रेंसिंग या प्रसारण ऐप बना रहे हैं, जो मजबूत प्रोटोकॉल समर्थन और लचीले एन्कोडिंग विकल्प प्रदान करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.