Open StreamerApp, go to Settings (gear icon) → Stream tab, and either log in with your Twitch account (recommended — the app fetches your stream key automatically) or paste your own RTMP/SRT URL and stream key from Twitch, Kick, YouTube, or any other platform. Then return to the main screen and press GO LIVE. Press the same button again to stop.
Settings only save when you tap Save Settings at the bottom — navigating back without saving discards your changes.
Stream Destination
Set from Settings → Stream tab. This controls where and how your video leaves the phone.
Protocol: RTMP or SRT — RTMP works everywhere (Twitch/YouTube/Kick/TikTok). SRT is a lower-latency option for your own server (e.g. MediaMTX) and requires an SRT-compatible receiver.
Sign in with Twitch — log in on the Chat tab, then enable "Stream directly via logged-in Twitch account". Your stream key is fetched automatically before every Go Live, and the URL/key fields lock because they're managed for you. This is Twitch-only — Kick and YouTube don't offer this.
Streaming to Kick or YouTube — for the main destination you paste the full RTMP URL and stream key yourself: on Kick, open your Creator Dashboard → Stream, copy the RTMP URL and stream key shown there; on YouTube, open YouTube Studio → Go Live, copy the Stream URL and Stream key. Logging into Kick or YouTube on the Chat tab is separate — it only enables chat and (for Kick) automatic title/category updates, it does not fetch a stream key the way Twitch login does.
Saved connections — save frequently used URL+key pairs as a named shortcut so you don't have to retype them.
Network buffer — buffers already-encoded data before sending, absorbing brief network drops without cutting the stream, at the cost of a little extra latency.
"⚡ Low latency" preset — one tap sets SRT latency to 120ms and buffer to 200ms for near-real-time streaming.
SRTLA bonding — combines Wi-Fi and mobile data into one stronger connection to an SRTLA-compatible server (needs a server address/port). If only one network is available, streaming continues on that one alone. The HUD can show the live Wi-Fi/Cellular split while bonding is active.
If you're using a manually entered stream key, double-check it doesn't have an accidental extra space or line break — the most common cause of a failed connection.
Video
Resolution, bitrate, fps — higher bitrate means better quality but needs a stronger network connection. Adaptive bitrate (ABR, Settings → Network) adjusts this automatically based on network conditions, with your own min/max range.
Anti-flicker — prevents flickering caused by fluorescent/LED lighting; pick your local power grid frequency (50Hz/60Hz).
Detected cameras — lists every physical lens on the phone (front/back/wide/tele) — useful for confirming what your specific device actually exposes to the app.
Composition guides — horizon-level guide and a safe-margin overlay (preview-only, never shown to viewers). The 3×3 grid is a separate one-tap toggle in the Quick Menu.
Double-tap to flip camera — optional double-tap anywhere on the preview to cycle lenses.
Volume key action — set the physical volume buttons to do nothing, start/stop the stream, zoom, or flip the camera.
Battery-critical auto-stop — automatically ends the stream if the battery gets critically low, instead of the phone just dying mid-broadcast.
Thermal warning — warns if the phone overheats during a long stream, with a separate CPU/GPU/battery/surface temperature readout. Optionally, the app can automatically lower quality until the temperature settles.
Idle timeout — automatically shuts the app's background service down after 1, 2, or 5 minutes of no streaming and no recording, so it doesn't keep running (and draining battery) if you forget to close it. Off by default.
Dynamic FPS (EXPERIMENTAL) — lets the camera slow the actual frame rate in low light to capture more light per frame for a cleaner image, at the cost of visible stutter in dim conditions. Off by default.
Noise reduction — reduces graininess in low light using the camera's own hardware noise reduction. If your video looks corrupted or glitchy after enabling it, turn it back off — a few devices react badly to it. Off by default.
Front camera mirroring, 180° rotation, EIS, and OIS moved to the Quick Menu (⋮ button) — they're instant on/off switches, not something you'd review before saving, so they no longer live here. See Quick Menu.
⚠ Dynamic FPS is experimental and directly affects what viewers see — while it's on, the stream can visibly stutter in low light. Off by default; test it yourself before relying on it for a real broadcast.
Audio
Microphone picker — switch between the built-in mic, Bluetooth, and USB/wireless devices, with a refresh button if a device doesn't appear right away.
Bitrate, sample rate, channels, input gain — defaults work for most people; raise the gain slider only if your mic sounds too quiet.
Wireless microphone (e.g. DJI Mic) — detects a USB-connected wireless mic kit automatically, with its own connection status and, for dual-channel kits, a mix mode picker.
AGC — Android's own automatic gain control. Automatically skipped when a USB or Bluetooth mic is active, since those already do their own processing. Echo cancellation (AEC) and noise suppression (NS) moved to the Quick Menu — see Quick Menu.
Noise suppression (RNNoise) — a more advanced, ML-based background noise removal (wind, air conditioning) than Android's built-in option.
High-pass filter — cuts very low frequencies (rumble, wind gusts on the mic) for a cleaner sound.
Browser Source audio directly into stream (EXPERIMENTAL, off by default) — normally, sound from a Browser Source (StreamElements alerts, Streamlabs, any web overlay) reaches viewers because the phone plays it out loud and the microphone picks it up. If you use a wireless/lavalier mic that's physically too far from the phone to hear its speaker, that sound never reaches the stream no matter what mic settings you try. Turning this on captures it digitally instead and mixes it straight into the stream's audio, alongside your mic. Adjust its volume with the slider that appears once it's on. Requires Android 10 or newer, and it's experimental — test it yourself before relying on it for a real broadcast.
About the permission popup: Android will ask for a recording permission every single time you go live, and the wording ("record entire screen" / "record a single app") sounds like it's asking about video. It isn't — this feature only ever touches audio. Nothing about your screen, camera preview, or any app's visual content is captured, recorded, or sent anywhere. That popup is Android's own generic screen-recording consent dialog; it's the only way any app can be granted access to system audio, even when video is never involved, and there's no lighter "audio only" version of it. The only thing you'll notice locally is a small recording-status icon in your notification area while it's active — viewers never see it and it has nothing to do with what's shown on stream.
TTS volume — separate volume slider for the text-to-speech chat readout, independent of your other audio levels.
Mic level warning — alerts you if no signal is coming from the microphone at all — usually a sign the wrong audio device is selected or the mic is muted.
Fix crackling — a dedicated round button (next to the zoom controls, and also in Quick Settings and the Dashboard) that immediately re-negotiates the microphone connection. A toast confirms it ran. Worth trying if audio starts crackling or breaking up mid-stream, especially with Bluetooth mics — but we don't have solid evidence it reliably fixes the problem, so treat it as a quick thing to try rather than a guaranteed solution. If crackling keeps coming back, try a different microphone or connection instead.
⚠ Browser Source audio capture is experimental. Test it before relying on it for a real broadcast — if it misbehaves, the only effect is that your Browser Source alert sounds won't reach viewers; nothing else about your stream is affected.
Chat & Platforms
Twitch — log in to view/send authenticated chat messages, automatically update your stream title/category when you go live, and fetch the channels you follow for raid targeting.
Kick — same idea as Twitch: once logged in, title/category update automatically when streaming to Kick.
YouTube — add your channel handle to see YouTube's live chat in the same list as the other platforms (chat-only, read access).
Unified chat feed — messages from every logged-in platform appear in the same list on the main screen, with a small platform icon next to each message once more than one platform is active.
Chat overlay (visible in the stream) — a separate, viewer-facing chat window over your stream. Customizable font size, background opacity, width/height, max message count and display duration, badges, and blocked/allowed user lists. Keep the font size large enough to read on a phone screen and the background opaque enough to stay legible over a bright scene — a background that looks fine over a dark room can vanish against daylight or sky.
Text-to-speech (TTS) — reads chat messages aloud, with an ignore list for bots/specific users, a "force English" option, and a speed slider. Add your bot accounts (Nightbot, StreamElements, etc.) to the ignore list first, or TTS will read out every automated bot message too. Turn on "force English" if your chat mixes languages and the phone's voice keeps mispronouncing non-English words.
Raid targeting — a raid sends everyone currently watching your stream straight over to another Twitch channel, the moment you end your own broadcast. It's how streamers pass a burst of viewers to a friend or someone they want to support, instead of everyone just closing the tab when you go offline. Search and save channels here so you don't have to hunt for them later, and check the live online/offline status first — raiding a channel that isn't currently live just sends your viewers to an empty screen with nothing happening. When you're ready to end your session, tap "Raid Now" in Quick Settings — Twitch handles the actual redirect. See Quick Menu.
Third-party emotes — 7TV, BetterTTV, and FrankerFaceZ emotes render automatically in both the on-screen chat feed and the chat overlay, alongside the platform's own emotes and badges. No setup needed — this works automatically for any channel that has them.
Overlays
Elements placed on top of the video. Most can be dragged into place (and pinch-resized where supported) using the lock buttons on the left edge of the main screen — tap once to unlock and move, tap again to lock in place.
Logo / watermark — your own image or text, always visible in the stream, freely repositionable. Keep it small and tucked into a corner so it never covers chat, subtitles, or anything else important on screen.
QR code — displays any text/link you set as a QR code — handy for showing your own social links or a donation link. Give it a moment on screen (or keep it always visible) — viewers need time to actually scan it with their phone.
Map — shows your location on a map in the stream. A separate "visible to viewers" toggle lets you keep GPS tracking running and see the map yourself without showing it publicly. See GPS, Weather & Maps.
Weather — a small widget with your current local weather and time. See GPS, Weather & Maps.
Browser source — up to 5 independent slots for embedding any webpage/widget as part of the stream, similar to OBS's Browser Source. Each has its own size, greenscreen/chroma-key option, separate toggles for audio-to-stream, video-to-viewers, and local-only preview, and its own volume slider. Works well for StreamElements/Streamlabs-style alert widgets.
Privacy blur — blurs the whole picture with an optional caption, for stepping away briefly without fully switching to BRB.
BRB ("Be Right Back") — covers the whole picture with an image/text of your choice while you step away, without cutting the stream. Also mutes the mic.
Picture-in-picture (PIP) — on devices that support concurrent dual cameras, shows a second camera in a small corner over the main source. Swappable, resizable, and available in rounded rectangle, circle, or wide (sharp corners) shape, cycled with the shape button next to PIP swap.
Stats (HUD) — shows duration, bitrate, FPS, viewer count, and SRTLA bonding split, each individually shown/hidden. Worth keeping bitrate/FPS visible whenever you're on an unreliable connection — a dropping number is your own early warning of a weakening connection, before viewers notice any stutter. Settings → General
Wireless camera (DJI/GoPro/Insta360) — currently unavailable — this feature is temporarily hidden from Settings while we keep working on it. During testing, the incoming camera feed didn't reliably start showing up in the actual stream on real hardware, and we'd rather pull it out of Settings entirely than leave something in that looks like it should work but silently doesn't. It'll come back once that's sorted out properly.
Speedometer & trip meter — a draggable widget showing your current speed and/or total distance traveled during the stream, handy for rally/car/bike streams. Requires GPS. Settings → GPS → turn on GPS, then Settings → Weather → Speedometer
Go to Settings → Weather tab, scroll to Speedometer, and turn it on.
Choose whether to show Speed, Trip distance, or both, with their own switches.
To move it on screen: on the main screen, tap the lock icon for the speedometer on the left edge to unlock it, drag it where you want, then tap the lock again to lock it in place.
To reset the trip distance back to zero: go to Settings → Weather tab and press Reset next to the trip distance number.
Heart rate monitor — shows your live heart rate (BPM) on stream from a BLE chest strap (Suunto, Polar H10/H9, and most others using the standard Heart Rate service — no brand-specific setup needed). Settings → Video → Heart rate monitor
Put on the strap and make sure it's active (most need skin contact to turn on).
Tap Scan — nearby straps appear in a list as they're found.
Tap your strap in the list to pair it. This is remembered for next time.
Turn on Enabled to connect.
Turn on Show BPM on stream to display the live reading as an overlay.
Camera Controls
Open the camera controls panel from the secondary button row (tap the "+" more-buttons toggle, then the camera-controls icon) for quick adjustments without leaving the stream:
Exposure (EV) — brightness slider within your device's supported range.
Zoom — slider up to your device's maximum, in addition to the fixed +/− buttons on the right edge of the screen.
White balance — Auto plus whatever modes your device's camera supports (e.g. Daylight, Cloudy).
Manual focus — a slider to set the focus distance yourself instead of relying on autofocus, shown only on lenses that report a supported range (fixed-focus lenses won't show it). Switching back to Auto hands control back to the camera.
AE/AF/AWB lock — locks exposure, focus, and white balance together by tapping a spot in the frame, useful when lighting keeps changing and you want a stable look.
GPS, Weather & Maps
Three connected Settings tabs — Weather and Maps both build on GPS being enabled.
GPS tab — master enable toggle (requests location permission), update interval, location name language, and detail level (city vs. district).
Weather tab — enable the weather overlay, add your own free OpenWeatherMap API key (a direct link to get one is provided), update interval, clock format, and widget colors.
Maps tab — "always show map" toggle, a local-preview-only toggle (saves data/battery when off-stream), zoom level, map size, and a chat command (default !missä) that lets viewers make the map appear briefly on demand. Choose from several map providers (OpenStreetMap, Stadia, Carto, Mapbox), some of which need their own API key.
Alerts & Donation Links
StreamElements alerts — enter your own JWT token from your StreamElements account (Settings → Overlays) to show live tip/cheer/sub/follow/host/raid alerts on-screen — visible to viewers, not just to you. No StreamerApp backend is involved; the connection goes directly from your phone to StreamElements.
Donation links — a dedicated screen (Settings → Overlays → "Manage donation links") for saving your own payment handles: Ko-fi, PayPal.me, Buy Me a Coffee, Patreon, GitHub Sponsors, Venmo, Cash App, Revolut, StreamElements Tip, Vipps, Swish, MobilePay, Bizum, or a custom URL. A Share button sends the whole list through Android's normal share sheet as plain text. StreamerApp never touches or takes a cut of any payment — it's just a shortcut for sharing your existing links.
Recordings & Dashboard
Local recording — the round Record button (secondary row) saves an MP4 to your phone's own Movies/StreamerApp folder alongside streaming, with a live on-screen timer.
Recordings browser — a dedicated screen (Settings → Overlays → "Recordings") lists every local recording with its date and size, and lets you share or delete each one.
Snapshot — captures a still image from the current feed, saved locally.
Dashboard — a separate panel (opened independently of Quick Settings) with a native Status tab showing live/offline state, duration, bitrate, FPS, a health score (0–100) while live, viewer counts per platform, network/battery/temperature status, current GPS location and weather, and overlay on/off states. The score starts at 100 and drops when your delivered bitrate falls short of your target or the phone starts thermally throttling — watch it as an early warning before viewers actually notice freezing or buffering. After you intentionally stop a stream, it shows a session summary instead — total duration, average bitrate, the lowest health score reached, and how many automatic reconnects happened; a summary with several reconnects or a low minimum score is worth investigating (weaker network, phone overheating) before your next stream. The Dashboard also has embedded tabs for your own Streamlabs, StreamElements, Toonation, and Twitch Stream Manager pages, each loading only when you open it.
Multi-Destination Streaming
Settings → Network → Additional destinations — for streaming to more than one platform at the same time (e.g. your main destination is Twitch, and you also want a simultaneous copy going to Kick and YouTube).
Adding a destination — tap "Add destination", then pick the platform (Twitch, YouTube, TikTok, Kick, or Custom) from the dropdown. Choosing a known platform auto-fills its RTMP URL for you — you only need to paste the stream key (from that platform's own dashboard, same places listed under Stream Destination). Choose Custom if the target isn't in the list, and enter both the URL and key yourself. Each destination has its own on/off switch, so you can temporarily disable one without deleting it.
Per-platform bitrate limits — the app automatically caps your bitrate to the lowest limit among all your active destinations (Twitch 6000 kbps, YouTube 9000 kbps, Kick 8000 kbps), so you don't get silently degraded by a platform re-encoding an over-limit stream.
Independent reconnects — if one secondary destination's connection drops, only that one retries in the background (with an increasing wait, capped at 30 seconds) until it reconnects — your main stream and other destinations keep running the whole time.
Automatic title/category updates and chat only follow your main destination's logged-in account (Twitch or Kick, see Chat & Platforms) — secondary destinations added here are a raw video/audio feed only, with no title sync of their own.
OBS Remote Control
If OBS Studio is running on your computer on the same network, your phone can control it remotely through OBS's own WebSocket interface.
Connecting — enable "WebSocket Server" in OBS (Tools menu), then enter the host computer's IP address, port, and password in Settings. Settings → Network → OBS WebSocket
Reconnect button — if the connection drops (e.g. the computer went to sleep), the OBS panel on the main screen has its own retry button — no need to touch Settings.
Quick Menu & On-Screen Controls
The ⋮ button on the main screen opens Quick Settings — fast toggles without interrupting the stream or opening full Settings.
Control
What it does
Microphone picker
Switch input device on the fly, with a refresh button
Round button rail — every button is numbered and explained with real screenshots on a separate visual button guide page.
Lens chips and PIP controls — above the main button row when available (lens switching, PIP toggle/swap/shape) — also covered on the same button guide page.
Screen lock — from the left sidebar, locks the screen against accidental touches; unlock with Volume Down.
Screen dimmer — dims the phone's own display to save battery/heat without affecting the actual stream; tap anywhere to restore it.
Scenes — a row of one-tap preset buttons above the main round buttons (shown whenever any are defined). Each scene switches camera lens, PIP, mute, and BRB together in a single tap. The built-in set is Walking, Talking, Dual cam, and BRB — not currently user-editable.
Gamepad & Hardware Buttons
A connected Bluetooth/USB gamepad's digital buttons can control basic streaming actions without touching the screen.
Button
Action
A
Mute / unmute
Y
Switch lens
R1 / L1
Zoom in / out
Only digital buttons are supported — analog sticks are not.
The physical Volume Up/Down buttons follow whatever you set under Settings → Video → "Volume key action" (None / Start-Stop / Zoom / Flip camera) — except while the screen is locked, when Volume Down always unlocks it. On phones with a dedicated camera button, a short press switches lenses and a long press mutes the mic.
Managing Settings
Export / import — save your entire configuration to a file and restore it later or on another device — handy when switching phones. Settings → General → Export/Import Settings
Language — the app supports Finnish, English, Swedish, Norwegian, Danish, and German, with an "Auto" option that follows your phone's system language.
Encrypted storage — sensitive fields (stream key, Twitch/Kick login tokens, OBS password, map provider API keys) are encrypted on-device using Android's own Keystore before being saved, so they aren't stored in plain text.
Troubleshooting
Connection won't establish — check your internet connection, check the stream key for extra characters, and confirm the selected protocol (RTMP/SRT) matches what the destination requires.
Picture freezes during a long stream — the app tries to recover automatically if the connection has been poor for too long. If it persists, try a smaller network buffer or a lower bitrate.
Audio crackling or breaking up — the Fix crackling button is a quick thing to try first (though not a confirmed fix); if it keeps happening with a Bluetooth mic specifically, that's a known area we're still improving.
Twitch direct-stream key not updating — log out and back in on the Chat tab; an older login may not include the newest required permission.
Phone gets hot — long streaming sessions put real load on a phone — use a ventilated mount, avoid direct sunlight, and consider the thermal warning's automatic bitrate reduction for long broadcasts.
Some camera lenses missing (e.g. only 2 of 5 shown) — some phone manufacturers restrict which physical lenses third-party apps are allowed to see at the operating-system level, on specific models/firmware. This isn't something an app can work around — the "Detected cameras" list in Settings → Video shows exactly what your phone is exposing.
Stream cuts out whenever you switch to another app or lock the screen — this is almost always the phone manufacturer's own aggressive battery saver killing the app in the background, not StreamerApp itself. Disable it for StreamerApp specifically:
DJI, GoPro, and Insta360 are trademarks of their respective owners. StreamerApp is not affiliated with, endorsed by, or sponsored by DJI, GoPro, or Insta360 — brand names are used only to describe device compatibility.