Use a Raspberry Pi with Speedify Channel Bonding Technology
If you came to this page, it means that you’re ether already doing IRL live streaming, or you’re thinking of starting. And you’re right – it’s a lot of fun, but it can be expensive to get the equipment necessary to keep a stable HD stream going while you’re out and about.
First thing that comes into mind when taking about IRL streaming gear is the famous Gunrun backpack, based on the LiveU Solo device. That has proven its reliability for many streamers so far. But the price tag starts somewhere at around $1,600.
Here at Connectify, we managed to put together an alternative to that for only $600 – and that includes the video camera as well! Watch the video below and read to see how it’s done.
What You Should Look at when Choosing Your IRL Streaming Gear
First – for the “computer” core of the streaming gear, you should make sure it can combine multiple connections at once. Look for channel bonding or link aggregations.
In our example, we installed Speedify on a Raspberry Pi 4. With Speedify, we have the only VPN capable of software channel bonding, so we were able to incorporate the bonding part of the technology right off the bat.
Then, there are 3 main processes you have to get working:
- Getting video from the camera into the main streaming device.
- Turning that raw live video footage into a streamable format.
- Broadcasting it over the Internet using channel bonding technology. You also have to make sure you can control the stream without a user interface.
IRL Streaming Gear: Components List
Below you’ll find a sample list of components we used in our IRL streaming gear budget alternative. As long as you find similar hardware with the same functionalities, you should be good to go.
The total budget for this IRL streaming gear is about $600. This is still $1000 cheaper than the Gunrun backpack. Plus – you may not need to purchase all of this equipment if you already have similar items available.
IRL Streaming Gear – Software You Need
As mentioned before, one of the core elements of this live streaming gear is the Speedify channel bonding VPN. You can easily set up Speedify on any Windows, macOS, iOS, Android or Linux device. For Raspberry Pi use the instructions here.
Along with that, on our Pi setup we’re using ffmpeg, which is a fast, lightweight, very configurable open-source software suite available on Linux for video and audio encoding and decoding. We installed ffmpeg by following these compilation steps https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu. We installed every third party library listed except for libaom, since it is unstable and not necessary for our setup.
And then – depending on the operating system your main device uses – you can install various software like OBS, etc.
We also needed to set up the Circuit Playground Express to work as a remote to control the stream. This involved writing a couple of Python scripts so that one button starts the live stream, one button stops it, and the switch reboots the Pi if needed. We have our code to set up the streaming buttons available on Github with more detailed setup instructions here: https://github.com/speedify/rpi-streaming-experiment.
Get the IRL Streaming Gear Live
After you assemble all the hardware parts and install the required software, you should be ready to go for IRL live streaming. As mentioned earlier, it depends on the device how you can get started.
In our example, we spent some time testing a ffmpeg command that would stream high quality video as reliably as we can to Twitch on the Pi, which we programmed into the Circuit Playground Express remote (see the GitHub link above):
ffmpeg_command = “/home/pi/bin/ffmpeg -nostdin -re -f v4l2 -s ‘1280×720’ -framerate 24 -i /dev/video0 -f alsa -ac 2 -i hw:CARD=Link,DEV=0 -vcodec libx264 -framerate 24 -rtbufsize 1500k -s 1280×720 -preset ultrafast -pix_fmt yuv420p -crf 17 -force_key_frames ‘expr:gte(t,n_forced*2)’ -minrate 850k -maxrate 1000k -b:v 1000k -bufsize 1000k -acodec libmp3lame -rtbufsize 1500k -b 96k -ar 44100 -f flv – | ffmpeg -f flv -i – -c copy -f flv -drop_pkts_on_overflow 1 -attempt_recovery 1 -recovery_wait_time 1 rtmp://live.twitch.tv/app/live_” + streamKey + “‘\n”
This command lets us stream live to Twitch, in 720p at 24 frames per second, which is about as good as the Pi can handle. We’ve also tested it at 1080p and up to 60 frames per second, but the performance is not as reliable and the Pi is more at risk of overheating. If you’re using the Psynaps cloud streaming servers recommended by the Gunrun Backpack, you’re capped at 720p regardless.
With our gear, Speedify bonding is set to automatic start so it runs as soon as the Pi boots up. This way, we don’t need a UI for the Pi once we get everything together.
And that’s all there is to it! Ready to try our IRL streaming gear alternative?