Record a session

How can I record a session? Let’s say I want to record and save it on my server.

I’m not seeing recording or raw stream capture available on the Web Video SDK. There are methods for it on the mobile and desktop SDKs, though.

One option you could use is to capture the canvas that you are drawing the videos on using HTMLCanvasElement.captureStream(). You’ll have to manage all of the recording logic yourself, though.

1 Like

How about the audio? We may record them separately and mix them together somehow I guess?

That’s a really good question. I don’t know if there’s a way to capture the audio stream.

I get that the raw audio & video feeds probably can’t be done easily on web, but I really wish the SDK could provide the audio and video as MediaStreamTracks.

I’m curious if the streams are going through Zoom server so that Zoom can count how many minutes their customers have used. If that’s not the case, then Zoom may rely on the join/leave method of the SDK. In that case it’s a bit dangerous for their customers if they forgot to call leave method in their app, they may end up with a big bill.

The streams definitely go through their servers. However, if you just close the page or get disconnected, your user times out of the meeting within a couple of minutes and it stops running up minutes. The leave call makes them exit immediately, so it’s good to hook that on an unload event.

If the page is left open and connected, I’m not sure if it will time out or keep running up minutes. I am considering writing a failsafe into my app to prompt users to confirm they are still active after a certain amount of time to reduce that risk.

1 Like

Hey @bekit , @alex125 ,

Regarding Video SDK recording, this will have to be built on your end as we do not support this. Perhaps we will in the future.

Good point. If the sessions are live it will count towards billing. We can look into offering an “inactive” prompt or logic of some sort, but you will have to handle that currently.

If the browser tab is closed though, the session will disconnect (end).


Yeah, I don’t mind adding that part myself. What would be nice is a session time limit. For instance, if the session itself would end when the signature expires or if there was some kind of time limit that could be passed to the join method, that would be helpful as a safety check against running up a large bill.

Hey @bekit , that is a great suggestion, thank you for sharing this! :slight_smile:

We will see if we can fit this into our backlog.