このプロジェクトについて

# 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でライブストリーミング、ビデオ会議、ブロードキャストアプリを構築する開発者に最適であり、堅牢なプロトコルサポートと柔軟なエンコードオプションを提供します。