| ▲ | dmm 5 hours ago | |||||||||||||||||||||||||||||||
Pull-based streaming can work with webrtc. I implemented it for my custom ip camera nvr solution. I just open N streams on the client and when one is deactivated (typically by scrolling it out of the viewport), the client sends an unsubscribe message over a separate control channel and the server just stops sending video until they resubscribe. I'm currently switching to a quic-based solution for other reasons, mainly that webrtc is a giant blackbox which provides very limited control[1], yet requires deep understanding of its implementation[2] and I'm tired[3]. I looked at moq-lite but decided against it for some reason. I think because I have <5 clients and don't need the fanout. The auth strategy is very different than what I currently use too. [1] Why is firefox now picking that (wrong) ice candidate? [2] rtp, ice, sdp, etc [3] webrtc isn't bad for the video conferencing use-case but anything else is a pain | ||||||||||||||||||||||||||||||||
| ▲ | scottlamb 5 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
I've also looked at switching my open source IP camera NVR to WebCodecs and WebTransport (maybe MoQ). Two things giving me pause: * Firefox support for WebCodecs is poor—none at all on Android [1], H.265 is behind a feature flag. [2] * Mobile Safari doesn't support WebTransport. Or didn't...I just looked it up again and see it does in 26.4 TP. Progress! [3] [1] https://searchfox.org/firefox-main/rev/da2bfb8bf7dc476186dfe... [2] https://searchfox.org/firefox-main/rev/da2bfb8bf7dc476186dfe... | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | kixelated 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Absolutely agree. You can convert any push-based protocol into a pull-based one with a custom protocol to toggle sources on/off. But it's a non-standard solution, and soon enough you have to control the entire stack. The goal of MoQ is to split WebRTC into 3-4 standard layers for reusability. You can use QUIC for networking, moq-lite/moq-transport for pub/sub, hang/msf for media, etc. Or don't! The composability depends on your use case. And yeah lemme know if you want some help/advice on your QUIC-based solution. Join the discord and DM @kixelated. | ||||||||||||||||||||||||||||||||
| ▲ | Sean-Der 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
What was the WebRTC bug, would love to help! I saw at work that FireFox doesn't properly implement [0] I wanted to go fix after FFmpeg + WHEP. If you are still struggling with WebRTC problems would love to help. Pion has a Discord and https://webrtcforthecurious.com helps a bit to understand the underlying stuff, makes it easier to debug. [0] https://datatracker.ietf.org/doc/html/rfc8445#section-7.2.5.... | ||||||||||||||||||||||||||||||||
| ▲ | mzs 4 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||