I am pleased to announce an initial release of the Membrane Framework - an Elixir-based framework with special focus on processing multimedia streams.
It is heavily inspired by architecture of GStreamer but aims at providing implementation of way higher reliability and scalability as well as to avoid many of its shortcomings.
We have just released v0.1 which contains just small set of elements that can be used to do simple audio processing, but a great effort was put into its core in order to lay down a good architecture for developing it further. v0.2 is planned to be available in 2-3 months and it should support video processing including patterns for easily implementing hardware acceleration and tons of other improvements.
I hope in the long run we’re going to provide a seamless experience for developers involved in multimedia processing and another boost for the quickly growing Elixir community.
It is already being used in production in broadcasting software that aims at 24/7 availability for a few months.
Indeed. We’re working on WebRTC. Currently we have a working signalling server, so you can set up a peer to peer video chat in the browser, and we’re preparing Membrane to be able to act as a peer.
Can Membrane be used in a Nerves system to broadcast the video from the PiCam over the network and maybe to online streaming services? Like an always-on-stream?
Let us use this opportunity to wish you all the best in 2020! Enjoy exciting projects, new ventures, happy users and most of all - enjoy using Membrane!
Hi @smolcatgirl! The Membrane.ParentSpec struct has been introduced in version 0.5.0 of Membrane Core. Bump the dependency and your code should work fine
Hi @mspanc, I was wondering if you had completed work enabling Membrane Elements to be WebRTC peers - I noticed your team’s work here which seems like preparation for it.
Is there anywhere I can track that work (a repo, etc.)? We’re evaluating Membrane for a large many party audio conferencing solution and I’d love to take a look, contribute, etc.
Really enjoyed your talk at the BEAM conference last year, thanks so much for your work!
Hi @ben-pr-p, we’re closer than ever to be able to use Membrane as WebRTC peers. Many parallel elements (SRTP, Opus etc…) are in progress, and most of them are in the very last stage.
Right now, we do not have any publicly available tracker that would have clearly shown progress when it comes to the WebRTC but I think we might prepare such summary soon.
Hi people, sorry if it was already explained or pointed out but am planning to create a web app that enables people to created a room, add people and play using video and audio. I don’t want to go for any of the actual solutions and would like to make my own server to process media. How can I see an example using Membrane?
Hi @gastonrey, if the app is supposed to work in the browser, you most likely need to use WebRTC protocol. If the rooms you mentioned are going to be quite small (at most up to ~10 people) and you need no server-side processing, Membrane WebRTC signalling server is a way to go. Otherwise, you need a WebRTC gate to connect the server as a peer. The gate is quite a big thing and we’re still working on it. For now, you can try to integrate a non-membrane solution, such as Janus, however it may be quite cumbersome.