pedroSG94/RootEncoder

RootEncoder for Android (rtmp-rtsp-stream-client-java) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP, SRT and UDP with...

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 22nd, 2026
Created on January 21st, 2017
Open Issues & Pull Requests: 74 (+0)
GitHub issues: Enabled
Number of forks: 944
Total Stargazers: 3,041 (+0)
Total Subscribers: 79 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.5 hours
Mean response time: 6.5 days
90th percentile: 2.6 days
Tracked items: 417

How this project is maintained

About 3% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 77% of issues opened in the past year have been closed, leaving a working backlog. Three people close 63% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 51
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 412 days
Stale 30+ days: 48
Stale 90+ days: 44

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • enhancement (17)
  • bug (8)
  • help wanted (2)
  • question (1)
  • unable to reproduce (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

RootEncoder for Android is a stream encoder library that pushes video and audio to media servers using RTMP, RTSP, SRT, and UDP protocols with implementations in Java and Kotlin.

The library solves the problem of encoding and streaming media from Android devices to remote servers. It captures video from camera APIs or alternative sources like files and screen content, applies optional real-time filters and transformations, encodes the streams using hardware or software codecs, and transmits them via multiple streaming protocols. The encoder supports both buffer-to-buffer and surface-to-buffer encoding modes, allowing flexibility in how video data flows through the pipeline.

Developers building Android streaming applications should choose this tool if they need multi-protocol support and codec flexibility. It suits projects ranging from simple camera streaming to complex scenarios involving screen capture, file playback, or dynamic bitrate adjustment during active streams. The library supports a wide range of video codecs including H264, H265, VP8, VP9, and AV1, along with audio codecs such as AAC, HE-AAC, G711, and OPUS. Additional capabilities include real-time OpenGL filters, MP4 recording while streaming, audio processing with noise suppression and echo cancellation, and the ability to switch cameras or disable video and audio without interrupting the stream. An iOS version exists for cross-platform projects.

The project maintains active development with regular updates to the codebase. The maintainer responds to issues and pull requests, indicating ongoing engagement with the user community. Documentation is provided through a project wiki covering configuration and advanced features like real-time filters and file streaming. The library has been actively refined over time, including a rename from its original title to better reflect its expanded protocol support.