このプロジェクトについて
# 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/`ディレクトリにあります。
## ドキュメントとサポート
- リアルタイムフィルタを含む詳細なガイドは[Wiki](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.