Android app for streaming screen via rtmp

Job ID: 36265788

Budget: $250 – $750 USD

Need to create Android app that will capture screen and stream it via rtmp.

General requirements:
Run under Android 11 and later

UI requirements:
When running, half transparent UI element must be shown over all other apps for quick start/stop streaming at any moment without need to switch app for this.
Push and hold start/stop UI element shows context menu with additional actions.


App will be used for two scenarios:
1. Streming over LAN. Priorities: maximum video quality and CPU load under 50%. Bitrate may grow up to 10Mbps.
2. Streaming over Internet. Priorities: maximum quality that can be achieved with CPU load under 50% and choosen bitrate (usualy 3Mbps).

Streaming requirements:
Encoding must be lightweight and not consume lot of CPU resources (under 50% CPU load). Using GPU for encoding acceleration would be nice, but without sacrificing of stability and running on any device.
H.264 codec must be used.
Near zero latency.
If streaming destination can't be connected, it should continue trying over and over.
If streaming fails due any reason, connection should be re-established and continue streaming.

Settings screen:
1. rtmp url
2. image size: Original / 1080p (Default) / 720p. When choosed 1080p or 720p, image must be downsized to fit 1920x1080 or 1280x720 accordingly, maintaining aspect ratio when scaling.
3. Bitrate: 10M (Default) / 5M / 3M / 2M / 1M
4. Audio: Yes / No (Default)

After saving these settings should be saved as profile with name example: "1080p, 5Mbit, no Audio to rtmp_url"
Profiles history should be saved for easy switch between them later.