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.
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.
