AgoraIO-Community / AgoraWebSDK-NG

The Next Generation of Agora Web SDK
https://agoraio-community.github.io/AgoraWebSDK-NG/
161 stars 75 forks source link

Periodic video blur when sharing the screen after unpublishing camera video track. #75

Open sitogi opened 4 years ago

sitogi commented 4 years ago

Describe the bug

Periodic video blur when sharing the screen after unpublishing camera video track. Is there a way around this?

Platform: Windows 10 Browser: Google Chrome 85.0.4183.102 (Official Build) (64 bit) SDK Version: 4.1.0

To Reproduce

Steps to reproduce the behavior:

  1. Create and publish camera video track.
    • AgoraRTC.createCameraVideoTrack
  2. Once unpublish (setEnabled(false)) videoTrack.
    • client.unpublish([cameraVideoTrack])
  3. Create and publish screen video track.
    • AgoraRTC.createScreenVideoTrack({ encoderConfig: preset, optimizationMode: 'detail' });
  4. Periodic video blur seen from remote side occurs.

Additional context

If the first publishing track is screen video track, video blur does not occur.

HAHAHA44 commented 4 years ago

Did you use the RTC mode to share the screen? We recommend using RTC mode for screen sharing, because this mode does not periodically key frames and this will cause the screen to freeze periodically.

sitogi commented 4 years ago

Yes I did. const client = AgoraRTC.createClient({ mode: 'rtc', codec: 'h264' });

Now, as workaround, I use another RTC Client to deliver clear screen stream to remote users;

vvedharaju commented 4 years ago

I'm facing a similar issue as well. What if I have 500+ audience members, how would it work, I have to use 'live' mode not 'rtc' mode for screenshare right?

vvedharaju commented 4 years ago

@sitogi can you explain your workaround. Would be extremely helpful for me as well

sitogi commented 4 years ago

@vvedharaju In my environment, the screen video track blurs in remote side after publishing and unpublishing camera video track. So I prepared an another rtc client to share screen like this example.

It's not like I want to publish camera and screen track at same time. But that's all I can come up with now.