Zoom Meeting SDK SourceId and node_id inconsistancy

For a single user,
data->GetSourceID() Gives a different id than the node_id for the audio renderer

I am using this function for audio
void ZoomSDKAudioRawData::onOneWayAudioRawDataReceived(AudioRawData* audioRawData, uint32_t node_id)

This is what I am doing for video
void ZoomSDKRenderer::onRawDataFrameReceived(YUVRawDataI420* data)
{ sourceId = std::to_string(data->GetSourceID());
}
node_id is different from the GetSourceId for video.

FYI node_id seems to be correct

chunsiong.zoom Can you look into this and explain what’s going on?

Hey Stiver!

We’ve run into a similar issue before. We run meeting bots at very large scale and use this SDK as well.

Our solution to this is that we actually don’t use GetSourceID - instead, we have a separate instance of the ZoomSDKRenderer for each video stream that we’re subscribing to. With this implementation, we don’t need to know which stream it’s for since we already know the stream ID when we create it.

Hopefully this helps.

Another alternative is to use Recall.ai for your meeting bots instead. It’s a simple 3rd party API that lets you use meeting bots to get raw audio/video from meetings without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!

1 Like