irl streaming setup
moblin, larix, prism, kick go live — cellular network foundations, encoder settings, and field gotchas
what irl streaming is
irl streaming means broadcasting live from wherever you happen to be walking, driving, or standing — usually from a phone or a backpack rig, over cellular. everything hard about it is the network. everything else is a solved problem.
a stationary streamer with fiber has a boring network story: point the encoder at the ingest and the packets arrive in order. an irl streamer is trying to hold a live rtmp or srt session together while their phone hops between three cell towers, walks into a starbucks that has captive-portal wifi, and loses one of two bonded connections when they turn a corner. the software choices (moblin, larix, prism, kick go live) matter mainly in how gracefully they handle those failures. get the network foundation right first and the app choice becomes preference.
network foundation
- protocol: srt when the platform accepts it, rtmp only as fallback
- bonding: combine 2–4 cellular connections with speedify, belabox, or peplink so single-modem drops don’t drop your stream
- sim cards: two different carriers minimum. same-carrier bonding buys you nothing when one tower is congested
- modems: a mifi hotspot or a proper belabox with external antennas is worth more than a better camera
- battery: your phone is not enough. carry a bank rated for 20+ Wh
01srt vs rtmp on cellular
rtmp is over tcp. tcp is fine when packet loss is a rounding error; cellular is not that. when a packet drops on rtmp, tcp waits for a retransmit and blocks everything after it in the queue — the classic “stream buffers, then dumps 15 seconds of frames” behavior. srt runs over udp with its own reliability layer that tracks per-packet acks and re-sends what it needs to without stalling the pipeline. on a jittery network, srt is usually the difference between a viewer noticing a hiccup and the stream dropping entirely.
02bonding
bonding is combining multiple network connections into one logical link. the two things this actually buys you: (1) more bandwidth than any single connection, (2) failover when one connection dies. speedify is the software route — runs on your phone, bonds wifi + cellular + a second hotspot. belabox is the hardware route — a small linux device you carry with 2–4 modems inside. peplink is the enterprise/production route. for a solo streamer starting out, speedify + your phone + one external mifi hotspot on a different carrier is the 80% solution.
03testing before you leave
a real stress test looks like: walk the route you plan to stream, running speedtest every 30 seconds, logging results. if any segment shows sustained upload below 3 mbps on your combined bonded link, that segment will drop frames at 1080p. lower your target bitrate or reroute.
moblin (ios)
- free, open source, ios only
- native bonded cellular via a paid moblink service or via belabox integration
- full srt support with configurable latency
- on-device chat overlay and scene switching — no separate laptop needed
- battery-friendly compared to prism / kick go live
moblin is the app that made high-quality solo irl streaming from a phone actually reasonable. it’s free, actively developed on github, and unlike the polished commercial options it exposes the settings you actually need to tune when your network is unstable. the tradeoff is a learning curve — it doesn’t hide anything.
01first-time configuration
- resolution
- 1920×1080 (bump to 720p if bonded upload < 4 mbps sustained)
- fps
- 30 (60 only if you have consistent 8+ mbps up)
- codec
- h.265 (hevc) if your platform supports it, else h.264
- bitrate mode
- cbr
- video bitrate
- 4000–6000 kbps
- audio bitrate
- 160 kbps aac
- keyframe interval
- 2 s
- protocol
- srt if available, else rtmp
- srt latency
- 3000 ms (cellular is jittery; give it room)
02scenes, overlays, chat
moblin scenes work like a mini-obs: sources stacked, front camera / back camera / browser widget / chat overlay. the chat overlay pulls directly from twitch, youtube, or kick via api and renders on-screen — huge for irl because you can actually read chat without holding another device. the browser-source support lets you drop streamlabs or streamelements widgets in for alerts.
03moblink and remote encoders
moblink is a companion feature that lets you offload encoding to a second device (a mac at home) and stream from that. useful if you want quality above what a phone can encode, or if you want to layer chat / overlays from a proper obs / meld pc while the phone acts as a camera + microphone. requires a stable low-latency connection between the phone and the remote encoder, which usually means a vpn or tailscale tunnel.
larix broadcaster
- ios and android, freemium (pro features paid)
- the industry workhorse — rock solid, boring, does exactly what a broadcast encoder should
- native srt support with adaptive bitrate
- no on-device scene / overlay system — larix is a pure encoder, not a production suite
- pair it with a laptop or belabox for scenes; use it as the last mile
larix is the app professionals reach for when they don’t care about features and do care about not dropping the stream. no chat overlay, no scenes, no fancy effects — just a solid encoder with excellent srt support and an adaptive bitrate mode that responds to network conditions faster than most competitors. use it when the phone is a camera + encoder feeding a production somewhere else, or when your priority is “stream must not die.”
01recipe
- connection type
- srt caller (matches most ingests)
- video codec
- h.265 preferred, h.264 fallback
- resolution
- 1920×1080
- fps
- 30
- video bitrate
- 4500 kbps
- adaptive bitrate
- on — set floor to 1500 kbps
- keyframe interval
- 2 s
- srt latency
- 2000 ms
- audio
- aac 128 kbps stereo
02adaptive bitrate
larix’s adaptive bitrate mode is the reason people pay for the pro version. it watches the srt round-trip time and packet loss stats and drops the encoder bitrate before packets are actually lost, then ramps back up as conditions recover. this alone is worth the price if you stream while moving.
prism live studio
- ios / android / desktop, free with paid features
- built-in multistream (post to twitch + youtube + facebook simultaneously without a restream service)
- pretty on-screen effects, filters, virtual backgrounds — polished but heavy
- no native srt in the mobile version at time of writing — rtmp only
- best fit: creators who care about polish and multi-platform reach more than resilience
prism is the “influencer” pick. it looks great, ships with a huge library of overlays and effects, and its multistream is the easiest way to fan out to multiple platforms from a phone. the tradeoff is weight: it burns battery and cpu faster than moblin or larix, and it can’t use srt on mobile, which limits what you can do about a rough cellular connection. good in urban environments with solid coverage; frustrating in cars or rural stretches.
01recipe
- protocol
- rtmp (with a bonding app underneath if you have one)
- resolution
- 1280×720 for mobile-first cellular, 1080p only if network is stable
- fps
- 30
- bitrate
- 3500 kbps — leave headroom for prism’s overlay overhead
- keyframe interval
- 2 s
- audio
- aac 128 kbps
- multistream
- on if you actually monitor multiple platforms; off if you can’t
kick go live app
- ios and android, free, kick-only
- the fastest way to go live on kick from your phone — three taps
- very little control: no protocol choice, no encoder tuning, no scene system, no overlays
- chat, tips, and channel controls integrated directly
- use for the “grab your phone and stream now” case, not as your main setup
kick’s first-party app is exactly what a platform app should be: it makes going live effortless, integrates the channel dashboard so you can see chat and moderate without opening another app, and gets out of the way. what it deliberately doesn’t give you is the tuning knobs you’d want for a hostile network. treat it as the “wake up, something is happening, stream it right now” app — for planned irl streams where quality and resilience matter, use one of the other three.
01when to use it
breaking news near you. a spontaneous meetup. a quick tour of somewhere. the trip from your gate to the airport lounge. anywhere you’d rather be live in 10 seconds at lower quality than not live at all. don’t plan a 4-hour drive stream around it.
bitrate ladder & cellular budgeting
bitrate is a budget. your bonded upload capacity minus a safety margin equals your bitrate ceiling. never set the encoder bitrate to your peak measured upload — peaks aren’t sustained. shoot for 60–70% of your worst-case-observed sustained upload during a walk of your route.
| situation | resolution | bitrate | notes |
|---|---|---|---|
| walking, urban, bonded 2 sims | 1080p30 | 4000–5000 kbps | most common irl config |
| driving, highway, bonded 3+ sims | 1080p30 | 3500–4500 kbps | expect tower handoffs; keep buffer bigger |
| rural / low signal, single sim | 720p30 | 2000–3000 kbps | hevc if platform supports |
| walking, stable public wifi | 1080p60 | 6000 kbps | rare in the wild; enjoy it |
| static setup, tripod, restaurant wifi | 1080p30 | 4500 kbps | rtmp is fine here |
field gotchas
- heat throttles hardware encoders long before the phone feels “too hot” — a passive cooler + case cutout matters more than a bigger battery
- tower handoffs on cellular drop frames for 200–800 ms even on srt — expect them at highway intersections and don’t narrate through them
- captive portal wifi (starbucks, hotels) will silently kill your stream when your phone auto-joins — disable auto-join for public wifi during irl streams
- battery banks with pass-through charging save you when a bank dies mid-stream; ones without pass-through force a disconnect
- audio: cellular latency + a lav mic on the phone’s aux jack introduces echo when talking to people on the same platform — use bone-conduction or ir headphones for monitoring
- backup phone with a dead-simple app (kick go live) primed and logged in — if your main rig fails, you swap in under 15 seconds
- timezone drift: log your streams in local time in a notes file. reviewing footage months later without timestamps is misery
- ram / storage: 4k recording burns roughly 400 mb/min; keep 30 GB free for a 3-hour stream
privacy & safety
irl streaming is one of the few forms of content where you routinely broadcast the exact location of strangers who did not consent. some practical guardrails i’d recommend to anyone streaming irl regularly:
- never stream from your home’s exterior — even brief clips are enough for someone to geolocate you
- delay chat by 20–30 seconds where the platform supports it, so you can react to hostile messages before they influence your route
- never announce your route in advance. if viewers know where you’ll be in 20 minutes, someone will be there
- don’t point the camera at other people’s screens, badges, license plates, or house numbers
- set the vod to delete or restrict after the stream if location context matters
- have a “kill switch” hotkey or phrase that ends the stream immediately if something goes wrong — practice using it
- local laws vary on filming strangers in public. know your jurisdiction; some countries treat it as harassment even in public spaces