More media features
Hello, I have a question about what is on roadmap regarding media handling. Do you plan to add some kind of stream mixer, jitter handling?
P.S. I've analysed livekit's sip-webrtc bridge, and they implemented a lot of media stack for sipgo from scratch, they even got SRTP if I'm not mistaken. Maybe it would be possible to use their code in diago.
Hi @yallxe . Thanks for opening, and I appreciate that you are pushing stuff. All on roadmap. FYI, already had some experiments. Of course I am prioritizing stuff for people sponzoring project or it is private work related. My time is limited.
Right now I can say next big thing is High Level API for Recording, with Stereo mixing both streams real time. SIPgo is also taking some of time, as it also recently had some stabilization changes.
Anyway while mentioning webrtc, you can look also now webrtc branch. It is pushed now a bit, just as example how to extend diago with webrtc support. Of course we need set of APIs that make sense to maintain in long run. SRTP will probably come from pion same as webrtc. I do not find here something big if it manages to satisfy current interfaces I added.
Of course there is also idea for future where media stack is decoupled from SIP in order to allow you more flexibility, but I do not find going away from RTP yet. As RTP focused you could essentially create any RTP audio Pipelines with io.Reader io.Writer or if you want go low level you can implement RTPWriter RTPReader
Also documentation is something also very important for this project. Right now that is also WIP.
Hello @emiago, have you considered supporting a media streaming proxy like rtpengine?
Hello @emiago, have you considered supporting a media streaming proxy like
rtpengine?
May I ask what would be the benefits of using it? Besides very high performance, I don't really see much in it. But I've also never used it, so I would be curious to hear more.
Some first implementation of recording support is now added. Check example /examples/wav_record It would be great, if I get more feedback if some issue appear.
More controllable recording and different formatting may come later.