Damirados
Damirados
SMSoftware Mansion
Created by Damirados on 11/14/2024 in #membrane-help
SDL plugin fails to initialize
Hi. I am trying to play udp stream via SDL sink but if fails to initialize. I am on archlinux and using hyperland(wayland) which may be the cause of problem. I have attached error and pipeline.
6 replies
SMSoftware Mansion
Created by Damirados on 8/20/2024 in #membrane-help
Lowest latency h264 UDP video stream possible.
Hello, To give some context I am trying to replicate parts of what https://openhd.gitbook.io/open-hd is doing using elixir, nerves and membrane. I have rpi mountend on drone on one side and laptop on the other side connected in network by two specially configured RTL8812AU wifi dongles. Point here is that there is single direct network (no routers, network switches... in between) but signal gets lower with distance and obstructions in the way. That results in varible bandwith, packet loss and sometimes complete signal loss for few seconds. For current prototype I am using RTP stream with RTPSessionBin, but latency is quite high, I need it to be less than 100ms and just jitter buffer is more than that. I treied digging deeper through RTP code but got ovewhelmed quickly. I would like to start from building simplest h264 stream over UDP possible. No jitter control no variable bandwith... I would probably go with just repeating last video frame until I get new one. And then start adding features on top and measure how they impact latency as I want to show stream stats in UI I guess webrtc has most of what I need already implemented but my question is what resources to read and where to start. I am also willing to make a blog post and/or presentation covering my journey.
5 replies
SMSoftware Mansion
Created by Damirados on 6/12/2024 in #membrane-help
Distributing pipeline in erlang cluster.
I started working with membrane few days ago and am implementing this scenario using rtp to send streams between machines but I am wondering if it would be possible to simplify it by using erlang distribution to send data between machines. Scenario: Machine 1: Produces h264 stream from camera and sends it to Machine2 Machine 2: Recevies stream, transcodes it to h265 (ideally VP9 too but I couldn't find membrane plugin to do it), stores both versions and forwards streams to Machine3 Machine 3: Recieves h264 and h265 streams and serves them via HLS and WebRTC
5 replies