I’d like to share with you a new library from the Membrane team - Boombox. It’s a simple streaming tool built on top of Membrane. It’s not as flexible as Membrane, but simpler to learn
For example, receiving an RTMP stream and broadcasting it via HLS is as simple as
Boombox also allows you to interact with media in the Elixir code using a Stream-based API. For example, here’s how to generate a video and send it to a browser over WebRTC using Boombox and Image:
I have a locally-running project that’s using MediaMTX to convert some IP camera RTSP streams to WebRTC (WHEP), which I then display in-browser using LiveView JS hooks. It looks like Boombox doesn’t quite replace this yet, but I’m looking forward to the day when I can plug something like this into my application and Phoenix router and have everything done in Elixir-land.
Fantastic! Does Boombox support transcoding RTMP input to include multiple resolutions in the HLS output? Perhaps offloading the transcoding job to a different server/service?