# Video stream becomes transparent

**URL:** <https://devforum.zoom.us/t/video-stream-becomes-transparent/138665>\
**Category:** Web\
**Tags:** video-sdk\
**Created:** [November 12, 2025, 11:12am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665 "2025-11-12T11:12:18Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![klocuszek](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@klocuszek](https://devforum.zoom.us/u/klocuszek)\
**Post date:** [November 12, 2025, 11:12am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/1 "2025-11-12T11:12:18Z")

</div>

**Description**  
Every once in a while, at various meeting participants, the video stream becomes transparent.

This usually appears after some duration of the meeting. From a few minutes of duration to tens of minutes.

Suddenly the `<video>` elements inside `video-player-container` do not show any video, but are transparent.

Refreshing the browser window with the application fixes it, but it’s annoying and I still don’t know what the cause is.

`active-media-failed` reports nothing in such a case. What is also interesting is that in a given meeting participant who has such a problem, all INCOMING video streams become so, i.e. transparent.

However, what is interesting, I examine myself in such a case created by Video SDK element `<video>`. Then such transparent video always has these parameters:

```auto
{
    "trackCount": 1,
    "tracks": [
        {
            "enabled": true,
            "readyState": "live",
            "muted": true
        }
    ]
}

{
    "readyState": 0,
    "videoWidth": 0,
    "videoHeight": 0
}

```

**Which Web Video SDK version?**  
2.3.0

**Screenshots**

 ![CleanShot 2025-11-12 at 12.14.44@2x](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/0/2/02fbed63a5ac3075ae576be7697e7715053eadfa.jpeg)

SessionID: FRna7iEmSv+zIL4N8PGuJA==

---

<div class="post-metadata">

**Author:** ![ticorrian.heard](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ticorrian.heard/32/70213_2.png) [@ticorrian.heard](https://devforum.zoom.us/u/ticorrian.heard)\
**Post date:** [November 12, 2025, 6:38pm UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/2 "2025-11-12T18:38:39Z")

</div>

Hi @klocuszek judging from the json object you included, it looks like the video elements height and width being set to 0 reveals the background that the video would be placed over by the SDK. Are you able to replicate this and edit the video element height and width using your browsers dev console to their original size, so we can verify if this is the case?

---

<div class="post-metadata">

**Author:** ![klocuszek](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@klocuszek](https://devforum.zoom.us/u/klocuszek)\
**Post date:** [November 13, 2025, 10:11am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/3 "2025-11-13T10:11:53Z")

</div>

Hi @ticorrian.heard ,

The `<video>` elements, through CSS, are stretched over the entire area of the parent. That’s why I wrote that `<video>` is transparent.

Remember that videoHeight and videoWidth are smth different than just element height and width. It is the size of the media, not the HTML element.

Btw. It seems to me that this problem only occurs when Web RTC is enabled, i.e. `("video_webrtc_mode", 1)`.

---

<div class="post-metadata">

**Author:** ![Tom7](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@Tom7](https://devforum.zoom.us/u/Tom7)\
**Post date:** [November 18, 2025, 6:37am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/4 "2025-11-18T06:37:58Z")

</div>

Hi @klocuszek , can video restore automatically if you don’t refresh the browser?

---

<div class="post-metadata">

**Author:** ![klocuszek](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@klocuszek](https://devforum.zoom.us/u/klocuszek)\
**Post date:** [November 18, 2025, 10:21am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/5 "2025-11-18T10:21:20Z")

</div>

Unfortunately, no. The only thing that works is to disconnect from the session and reconnect. Re-deattach video does not seem to work.

I can also confirm that this only happens in WebRTC mode.

---

<div class="post-metadata">

**Author:** ![Tom7](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@Tom7](https://devforum.zoom.us/u/Tom7)\
**Post date:** [November 20, 2025, 12:38am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/6 "2025-11-20T00:38:06Z")

</div>

@klocuszek Thank you. Could you provide your device model?

---

<div class="post-metadata">

**Author:** ![vic.yang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vic.yang/32/24656_2.png) [@vic.yang](https://devforum.zoom.us/u/vic.yang)\
**Post date:** [November 26, 2025, 10:22am UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/7 "2025-11-26T10:22:45Z")

</div>

Hey @klocuszek

From the log analysis, when using WebRTC video, the session failed over to WASM video mode due to the decode video frame failure. However, after the failover, `stream.attachVideo` was not called again to re-render the other participants.

I would like to confirm whether you handled the `connection-change` event. We recommend clearing the currently rendered `video-players` when the `payload.state` is `Reconnecting`, and then, after the user rejoins the session, calling `stream.attachVideo` again to render them.

> **[Video SDK - web - Event handling](https://developers.zoom.us/docs/video-sdk/web/handle-events/#connection-issues-and-host-ended-session)**
>
> The Zoom Developer Platform is an open platform that allows third-party developers to build applications and integrations upon Zoom’s video-first unified communications platform.

Thanks  
Vic

---

<div class="post-metadata">

**Author:** ![klocuszek](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@klocuszek](https://devforum.zoom.us/u/klocuszek)\
**Post date:** [January 29, 2026, 3:52pm UTC](https://devforum.zoom.us/t/video-stream-becomes-transparent/138665/8 "2026-01-29T15:52:49Z")

</div>

Hi, it looks like that was the solution 🙂 Thanks!
