I've gone through a variety of products and options before settling on Belabox. My goal from the start was a small backpack I just turn on, without too much setup. I stream either from my workshop, or walks/hikes/road trips with my dog and it's been pretty reliable so far.
I'm usually running 3-4 modems, and the DJI Osmo Action 4. The core is the encoder, running Belabox. For reliability I try to have redundancy with pretty much everything, spare cables, batteries, my phone is setup to stream, I've got a secondary obs instance, etc.
Additionally check out NOALBS which is a bot to control obs and auto switch, As well as StreamBuddy for chat, commands, and general stream/backpack control.
What is a backpack? It's 4 main parts, Camera, Internet, Encoder, Batteries, and of course something to put all that in. The camera and pack are really up to your preference, The reset is outlined below.
My backpack is built around Belabox which is a video encoder that can take a video feed ( HDMI / USB / RTMP ) and transmit it using bonded internet connections. See https://belabox.net/ for more information. Once setup, You pretty much just connect the power and hit start.
Before you commit to a backpack build like this. Try some of the streaming Apps linked below, or even the Twitch app.
These apps can mimic what my backpack does, by bonding your Wifi and Cell signals using SRTLA similar to how the Belabox does. To do that, You do need a Belabox cloud relay, or other cloud relay server that does SRTLA.
Moblin has some fun features, You can control DJI cams right through the app, and it can show chat on an apple watch. I've used it to run workshop streams with 2 DJI cams. Nice portable setup.
At first glance, there's a ton of icons along the bottom. Take time to learn them, and hide ones you're not using in Display -> Quick Buttons.
- Streams
- Create Custom
- SRTLA
- url: srtla://{your_region}.srt.belabox.net:5000
- streamid: your_stream_id
- After Create
- Enable Background Streaming
- Video Settings
- I use 720/30fps but this is my backup
- Generally I prefer 30fps for live content but to each their own
- Ensure your fps is the same in OBS
- Bitrate 5Mbps
- Key Frame Auto or 2s
- B-Frames On
- Audio
- Bitrate 128 Kbps
- Set the same bitrate in obs
- SRT(LA)
- Latency 2000-2500
- Adaptive Bitrate On
- Other options tweak as needed
- Twitch/Youtbue/Other configuration
- Background Streaming On
- Create Custom
- Scenes
- Like OBS you can have Scenes for stream
- I have the following Setup
- Back Camera
- Front Camera
- DJI Action 4 (wireless rtmp)
- DJI Action 2 (wireless rtmp)
- Screen Capture
- Blank
- Chat
- Setup to your preferences
- Camera
- Setup to your preferences/phone
- RTMP Server
- Enable if using rtmp camera source
- Add Stream for each camera
- OBS Media Source
- See obs section below
For IRL Pro, First Download the app, duh. And get a cloud relay account. From there here are the settings to use.
- Streamer
- your chat name
- chat options
- any other things like streamlabs, SE, etc
- Connections
- url: srtla://{your_region}.srt.belabox.net:5000
- streamid: your_stream_id
- Video
- Resolution / Framerate
- Lowering will use less data, if bitrate is on auto
- I use 720p with variable fps (max 30) but it is my backup, tinker with it
- Ensure your fps is the same in OBS
- HEVC On
- Adaptive Framerate On
- Resolution / Framerate
- Audio
- Play with Echo / Noise Suppressor
- Display
- Show Audio Levels
- Show Grid
- OBS Media Source
- See obs section below
And like I say above, tinker with it. This setup will bond your Wifi and Cell data, and you can watch how much it's using. Find a balance between quality and bitrate that works. You can also pair this with a Wifi HotSpot to do more IRL stuff.
Highly recommended to start here and see if you like it before investing in all the gear. And anything you get to do the above would be reusabled ( batteries, wifi hotspot, data plan, tripods / mounting )
Chat app that allows you to map various actions, use browser sources, view the secret Belabox ui link, monitor bitrate, viewership, and more.
Realtime Chat for iOS or Android, Similar to Stream buddy with fewer features. Have not tried myself
There's not too much benifit to have multiple of the same modem on the same network. Because they will all have equally poor signal, and they're crammed together in the pack which is not ideal for radio signals. That said by using different modems and networks you can get broader coverage.
In the US, You probably want a modem on each major carrier AT&T, TMobile, and Verizon. You do not want to buy lines right from the big carriers though, Try to look for resellers and their promotions to save on costs. I generaly run a mix of 4G and 5G modems, 5G modems being more expensive and often the consumer devices are carrier locked.
Generally when streaming you're using 2-3 gigabytes per hour ( 5k bitrate target ). So if you have 3 plans with 10GB each that's maybe 10-15 hours a month of streaming. Most also allow you to top up, and many are month to month so tweak it based on your usage and needs. I'd suggest going more for deals than maxed out plans when you're just starting, That said some of the cheaper carriers can be goofy.
I've used Mint Mobile, Tello, USMobile, AT&T Prepaid, Visible, and BoostMobile. Each reseller uses a different carrier network or networks, all with different pricing and options. Some plans do limit Hot Spot data so read carefully.
Modems will likely not use up their data evenly, as some networks will be stronger than others wherever you are.
All together I try to balance my networks ( for streaming ) for a base price target around $80 for 4 lines. So total cost for the backpack is around $100 a month once Belabox cloud and the streambuddy app are included.
Modems are the most annoying part to get working in my opinion. I've seen people use all of one brand, and other people like me use all different modems. I currently use 3 modems, with the option to hotspot my iphone and android if needed.
There basically are 3 types of modems to choose from USB, Ethernet, and Hotspot / Wireless. Some modems offer more than one connection option, which can muddle things.
Each modem will have different supported frequencies, And possibly different "CAT" ratings. More frequencies does not equal better as the antenna configuration and the modem's design also affect throughput.
- Different Modems support Different Networks.
- In the US most will support AT&T + TMobile
- Verizon support is harder to find
- Does the modem show up as a Hot Spot to the carrier?
- This can be hard to tell until you get the modem and try it
- HotSpots may be limited to less data by your carrier
- QMI Modems
- Belabox has added support for ModemManager
- Supported modems will show up for configuration right in the Belabox UI
- How easy are the modems to set up?
- Look at their getting started guides
- You should be able to change the subnet ( 192.168.1.1, 192.168.2.1, etc ) so the modems do not conflict
- Ethernet Modems will usually require their own power
- Hotspot / Wireless Modems usually have batteries
- Another thing to charge
- Most have annoying touch screens
- Wifi is nice, use 2.4Ghz for cameras, 5Ghz if just hotspoting
- How many ports does your battery have?
- CHECK REVIEWS, some just outright are crap / don't work
Check the build flow at the top for my current arrangement. I have found the ethernet modems are a bit more reliable, but the LINOVISION does run a bit hot. Phone hotspots can also work in a pinch or as a backup.
Here's a known good reference sheet from Belabox users, FYI Some hardware is EU Specific.
https://github.com/BELABOX/tutorial/wiki/Peripherals,-accessories-and-power-banks
- Intel Wifi cards have had issues for some users. Mine have been fine.
Be mindful of power usage and powering your build, Depending on my use case ( USB / RTMP / HDMI ) I'm averaging from 10-16 watts. The encoder alone will draw from 2 watts (usb/rtmp) to 4.5 watts (hdmi 4k60) in my testing with nothing powered from it. The rest is modems, camera, wifi, fans, etc.
The Orange PI does not have USB Power Delivery, So we only have 5 volts at 3 amps max. Generally used a powered usb hub with this encoder for stablity.
The Rock 5a does support USB Power Delivery, and you may not need a powered hub (depending on your connected devices).
Ideally I would recommend targeting under 10 watts per usb cable from your battery. With the goal simply being stability as power usage will fluctuate on the modems.
If you only want 1 cable to your battery, You can be crazy like me and wire up a USB PD trigger board with a few USB PD charging boards. So I can get 12-20 volts from the battery, and then power each device with whatever it needs.
Please note I have been reusing hardware I had on hand, this can work or be modified for a variety of hardware. Check the choosing parts section above. Prices are at time of writing.
Type | Tested | Part | Cost | Notes |
---|---|---|---|---|
Encoder | 🗸 | Orange Pi 5 Plus 4GB | $107 | |
Encoder | 🗸 | OKDO Rock 5A 4GB | $109 | No HDMI |
Modems | 🗸 | Quectel RM520N-GL | $200+ | USB, 4G/5G Verizon + Tmobile + AT&T, QMI, Needs carrier board, Complicated to setup |
Modems | 🗸 | Quectel EC25-AFX | $40? | USB, 4G Verizon + Tmobile + AT&T, QMI, Needs carrier board, Complicated to setup |
Modems | 🗸 | INSEEGO USB800 | $80 | USB, 4G AT&T, Very Reliable |
Modems | 🗸 | INSEEGO M2000 | $55? | Wifi + USB, 4G/5G Tmobile + AT&T, bought used |
Modems | X | NRadio C2000 | $89 | Ethernet, 4G Verizon + Tmobile + AT&T, WIFI, removed from shell, developed reliablity problems |
Modems | 🗸 | Netgear LM1200 | $150 | Ethernet, 4G Verizon + Tmobile + AT&T, removed from shell |
Modems | Netgear LM1300 | $90 | Ethernet, 4G Verizon + Tmobile + AT&T, untested | |
Modems | 🗸 | Novatel USB730L | $20? | USB, 4G Verizon, bought used |
Modems | 🗸 | ZTE MF833V | $55 | USB, 4G Tmobile + AT&T, There are QMI and Managed versions |
Modems | 🗸 | LINOVISION IOT-R41 | $175 | Ethernet + USB, 4G Tmobile + AT&T, External Antenna |
Wifi | 🗸 | Intel 8265 | $15 | Mini pcie |
Wifi | 🗸 | Intel AX210 | $15 | Mini pcie, only works on my Rock 5A (other users report different) |
Wifi | 🗸 | Intel 9260 | $10 | Mini pcie |
Wifi | 🗸 | Intel 7265 | $10 | Mini pcie, only works on Orange Pi (other users report different) |
Wifi | 🗸 | Realtek RTL8811CU | $14 | USB |
Battery | 🗸 | NiteCore 10000 GEN II | $60 | 10000mah, 2 port, 18W PD |
Battery | 🗸 | NiteCore 10000 GEN III | $65 | 10000mah, 2 port USB-C, Pass Through Charging, 18W PD |
Battery | 🗸 | Charmast Slim | $36 | 3.0 amp, 26800mah, 3 port, power resets when new devices are plugged in |
Battery | 🗸 | Anker 313 | $15 | 2.4 amp, 10000mah, 1 port, backup use |
Battery | 🗸 | Anker 325 | $37 | 2.4 amp, 20000mah, 2 port, not ideal as a primary |
Battery | 🗸 | Anker 337 | $59 | 3.0 amp, 26000mah, 3 port, overheated on me once, only micro usb charge |
Cables | USB C | $10 | Get a quality one for the camera, others can be cheaper. Try to buy appropriate lengths | |
Cables | Cat 6 Slim / Short Ethernet | $10 | You don't need sheilding or high speed for these short runs | |
Storage | SD Card 16GB+ | $15 | Get a Class 10 / V30 or greater | |
Storage | EMMC 16GB+ | $15 | Buy the appropriate one for your encoder | |
Other | Bongo Ties | $9 | Usefull for holding cam, arranging pack, etc | |
Other | 30mm 5v fans | $10 | Not really for cooling the encoder, more to just circulate air in the pack | |
Other | Cocoon Grid-IT | $15 | 10.25" x 5.125" small, Great for organizing and arranging the pack | |
Other | USB C 90 Degree | $7 | Helpful for routing cables | |
Other | Wifi Antenna | $7 | If your mini pcie card did not come with them |
So my setup with the Rock 5A is roughly $650 for the pack. But that includes the $175 Linovision and 4 modems, So you can probably figure something out closer to $450 with 3 more cost effective modems. And then you just need a camera or phone to feed it.
DO NOT PRINT WITH PLA, Use PETG or other higher temperature materials.
My Orange Pi enclosure is based off my nradio/lm1200 cases. Objective was smallest form factor while still having a rigid enough shell for a backpack enviornment. Includes spot for a 3007 fan, press fit.
https://www.printables.com/model/1078542-orange-pi-5-plus-case-v3
The Rock 5A is the same size as a Raspberry Pi 4 so you can use the same cases. I'm using this one, I did edit the mesh slightly to better protect the SD Card. On the Rock 5A it sticks out wayyyyy too far.
https://www.printables.com/model/4074-malolos-screw-less-snap-fit-raspberry-pi-4-model-b
I also made a couple cases for modems to add fans and improve airflow. I also use it for a structure mount usb modems.
https://www.printables.com/model/665497-nradio-c2000-case-shell
https://www.printables.com/model/771215-netgear-lm1200-caseshell
Cable Support to reduce cable strain on the Action 4 Cam. Found myself knocking around the camera cable a lot when livestreaming ergo this little block to help support it better.
https://www.printables.com/model/617365-osmo-action-4-usb-c-cable-support
I'm using the stl below, and just using a hex infill pattern.
https://www.printables.com/model/431773-30mm-fan-guards/files
To install fans. You want to attach the fan cable to pins 4 and 6, it uses a raspberry pi-ish style layout. The normal orange pi fan header is tied to cpu temps and doesn't spin up often. On modems I just soldered onto 5v sources discovered with a multimeter.
You'll need to get the appropriate app for your camera. Generally want the following settings.
- DJI - Rocksteady or Horizon stabilzation on
- Reduce Brightness to save battery
- Sounds Low/Off
- Front screens - Disable to save battery
To Webcam stream on a DJI, connect a usb-c cable, select webcam when it pops up ( only works when encoder is powered on ).
- Note the Action 2 does not support audio over USB.
To RTMP stream, connect to your camera in it's app ( may take a moment ), select livestream, select RTMP, select wifi and stream options, start streaming. Your Belabox must be on a wifi network with your camera for this.
rtmp://belabox.local:1935/publish/live
or
rtmp://your_belabox_ip_on_same_network:1935/publish/live
Also have a look at the cable support 3d print above if you're using a DJI Action 4.
Plug it in...
Belabox has got a lot of nice features to it, be aware of this section specifically https://belabox.net/rk3588/#are-there-known-issues
The encoder supports HDMI, RTMP, USB injest which pretty much covers everything.
To get setup follow the guides from Belabox to flash your sd card using balenaetcher, After install pretty much just copy paste the settings they give you on their cloud site. Their cloud relay service is $10 a month to subscribe to on github. Additionally they allow remote access to your encoder which is super convenient.
https://belabox.net/rk3588/ https://cloud.belabox.net/ https://github.com/BELABOX/tutorial/wiki
To Start Stream, get your various connections working using their guides and the test pattern option. When ready select the appropriate option for your camera feed in the Encoder settings area and start stream.
For bitrate anything between 4k and 6k is probably good.
- Note many settings are only saved when you click "start stream"
Each modem and Sim card will have it's own process to setup.
For the sim cards, follow the steps from the chosen carrier. I have found putting it in a phone to activate is easiest. Then transfering it to the device you'd like to use ( be warned some carriers might lock to the device activating it, read carefully ). I have not tried ESim yet.
On the modem side you want each modem to have it's own subnet ( 192.168.1.1, 192.168.2.1, etc ) so the networking actually networks. Additionally on some modems you may need to set the APN to whatever is suggested by your carrier, if it doesn't auto detect. Do a search like "USMobile APN" or "Tello APN" and you should find what you need.
I also set all my modems to use google or cloudflare dns ( 8.8.8.8 and 1.1.1.1 respectively ) but that's not required.
Test your modems first on a PC to confirm setup, Then once validated connect to the Belabox.
Esentially just add a media source using the SRT URL Belabox cloud provides, should look like the below. Be sure to select your region ( took me a while to notice that option ).
srt://{your_region}.srt.belabox.net:4001?streamid=your_stream_id&timeout=2000000
- OBS Media Source
- srt://{your_region}.srt.belabox.net:4001?streamid=your_stream_id
- Network Buffer 2MB
- Reconnect Delay 2s
- Hardware Decoding Disabled ( previously I enabled this, have seen new advice that it can be problematic on some hardware )
- Restart Playback Disabled
- Use Belabox Cloud Guides if you have trouble
Personally I use NOALBS which is a twitch chat bot that can start / stop, monitor bitrate, and switch scenes automagically. So I have that set to use a Low Bitrate Scene and BRB if injest fails. When using Two cams I also do some trickery so the second cam is full screen on the BRB scene so viewers always see something.
You may also want to setup a remote access tool for your pc just in case, but do that at your own risk.
For redundancy I have a VM on my server and my pc setup for streaming ( just in case ).
NOALBS is a twitch chat bot to control your OBS. It is pretty straightforward, Simply download it and use their guide to put in your twitch OAuth key in the env file. Previously I was using a VPN to access obs via websockets which is a pain as you can't use a VPN and connect your phone to most action cams at the same time.
https://github.com/NOALBS/nginx-obs-automatic-low-bitrate-switching
More info on how i use it in Streaming
The readme for the config.json file has a variety of options to play with. If you do have trouble or the application does not start try the below steps. This should let you see any errors in your config file.
- Open the folder containing noalbs.exe and associated files
- File -> Open Powershell or CMD Window ( no clue where windows 11 moved this... )
- Run "./noalbs.exe"
My configuration is attached,
At first I was running a wireless AP off the Belabox for my RTMP streaming, It works alright but range was limited. Moved to it's own gist if anyone is interested. I would recommend using a device with build in WIFI like the NRadio C2000 I switched to.
If you're running a wireless Camera, Use 2.4 Ghz. Otherwise 5Ghz is fine for short range.
Now when you're live streaming, something key to remember, Audio is more important than video. Bad audio can ruin a stream. And for video, a working feed is always better than a higher resolution feed. So if you are having connection trouble, drop the resolution to a step below 1080p. Belabox and many of the Phone apps to do have dynamic bitrate and other tech to keep things going. But it's not magic.
To start a stream, I first open OBS / NOALBS open on my pc before leaving the house. On my Linux VM I have both apps set to autostart and auto login.
Then using Stream Buddy or chat commands I can start stream with NOALBS to an intro screen.
!switch intro
!start
At that point I plug in the batteries to the encoder / modems, wait about 20 seconds, then connect the cam via USB or RTMP.
The RTMP Target would be
rtmp://your_encoder_ip:1935/publish/live
or
rtmp://belabox.local:1935/publish/live
Otherwise USB mode you just tap the screen to enable the webcam / usb mode.
I then watch Stream Buddy, where I have a tab for the Belabox remote access feature. And I press start once I see everything come online.
At that point I can use another command to swap to my main scene.
!switch mobile
From there noalbs handles the auto switching based on bitrate.
Additionally stopping is easy enough, also noalbs can be configured to auto end on raid. Along with brb screens and the like.
!stop
That's it, have fun with your stream :)
- Wolf