Recording WebRTC stream, combine streams server side

I offer a WebRTC feature for multiple servers including Wowza. I offer a stream recorder client side but I believe for long videos this buffer will fill memory quickly. I was wondering if Wowza can record the streams server side. More importantly if there is a way to mix individual broadcasted streams in a group call.

I have been successful mixing camera and screen video using webgl programming for performance gains. But I dont believe having to republish subscribed mixed streams client side is a good thing. For wowza the group call functionality is multiple individual subscribes over a secondary websocket to signal a publish event from the server.


I was able to confirm this is not supported at this time in out webrtc offering, unless you mean create a incoming composite of the webrtc streams and record it in Engine. Make sure you convert the recording from Opus to AAC for playback of the recording. Composite will mix them together, although we record them as separate streams so not able to do what you request without custom work.

You could always reach out in our Hire a Consultant forum or to Wowza Pro Services.

https://www.wowza.com/docs/set-up-webrtc-streaming-with-wowza-streaming-engine-manager#publish-a-test-composite-stream-to-wowza-streaming-engine7

sorry for late response. I just checked the recent webrtc examples. I meant mixing the group call streams on the server and recording it. According to the composite code, it has to be done client side and publish that new stream for recording. So subscribes to all the group call streams , mix them together in the canvas and republish. The canvas mixer code there uses CPU rendering. From the example code I can’t decipher how group call players are launched, I presume seperate websocket calls for each stream like I have done. I notify the client on a publish event from the server rather than poll check for streams with a custom websocket.

I’ve devised a way to mix camera and screen using webgl rendering instead in my demos and hope to make a similar mixer for group calls. The CPU rendering is not good.

So for recording it has to record the AAC transcoded stream setup for HLS playback also.

Thanks for that. Tech support is asking for a ticket to take a closer look at your needs because they say right now you would mix them on your own in OBS for example and then we would ingest that combined stream and record it. Otherwise they say wowza would record them separately on the server side. But, I think they need to ask you more questions about the mixer you’re using and how it works with our websocket connections and how we create secure individual connections for a mixed call.

At this point they think this would be custom work through our Pro Services, but would like to try and see if we can figure it out in a ticket first.