We are using the Zoom Video SDK for our video chat application, and we’ve encountered an issue during video calls. The problem occurs randomly: when I start a video call, the remote participant’s video does not appear on my end, although the other participant can see both videos. While I can see my own video, the remote participant’s video is missing on my screen.
This issue has occurred multiple times consecutively. Below are the session IDs of the affected calls for your reference:
BqVmZIJZRUa5kHvSqHjBmw==
ohCv6CfES7OhbAZ37Q8l4A==
Could you please investigate the cause of this video failure and suggest a solution at the earliest? This issue is significantly impacting our business operations, so a prompt resolution would be greatly appreciated.
Hi @vic.yang ,
Thank you for suggesting upgrading the SDK version. I will go ahead and update to the latest version.
Regarding the code snippets, please find them below :
Hi @vic.yang ,
I hope you’re doing well. I’m following up on the “Random Remote Participant Video Failure” issue. I trust you’ve had a chance to review the code snippets and details I shared a couple of days ago.
Could you please provide an update on the status of my request? Additionally, let me know if there’s any further information needed from my side.
On a related note, in cases where a participant’s video doesn’t appear, could you recommend any specific event or property from Zoom that we can use as a reliable indicator? This would allow us to implement a retry logic within our functionality based on that value.
I noticed in the code that there are two user-related lists:
participants
zoomLocalParticipant.
What is the difference between these two? The users in these two lists should not overlap, as they are rendered in separate video-player-container containers.
Additionally, it is not recommended to manually set the node-id attribute on the video-player element; it needs to be updated through the attachVideo/detachVideo methods.
zoomLocalParticipant refers to the local user (self).
The videos for these two lists do not overlap. We’ve implemented styling to display the local video as a smaller overlay, while the remote participant’s video is shown as the larger main view. For clarity, I’ve attached a screenshot below for your reference.
Regarding the node-id, we are updating it using the attachVideo and detachVideo methods as recommended and we will change the code as you suggested. Below is the relevant portion of the code for your reference:
Below I’m providing the code for your reference.
Could you let us know if you’ve identified any possible reasons for the video display failure during the two calls I mentioned earlier?
“On a related note, for cases where a participant’s video doesn’t appear, could you suggest any specific event or property from Zoom that we can use as a reliable indicator? This would allow us to implement a retry logic within our functionality.”
Looking forward to your insights and any updates on this.
On a related note, for cases where a participant’s video doesn’t appear, could you suggest any specific event or property from Zoom that we can use as a reliable indicator?
Yes.
We have multiple events to handle the issue.
For remote video black screen cases, you can call stream.subscribeVideoStatisticData({detailed: true}) and then listen to the video-detailed-data-change event. This will allow you to retrieve the resolution and FPS of each remote video. In black screen cases, both FPS and resolution will be 0.
For self-video issues, you can listen to the active-media-failed event, which notifies you of abnormalities in the current stream. In future versions, we will optimize this event to provide more detailed information in the event payload.