products / solutions
Platform / Framework

Common issues of the stream playing

Products / Plugins:Video Call / Voice Call / Live Streaming

Platform / Framework:iOS / Android / Windows

Last updated:2021-09-26 18:24


After the co-hosting is successful, how long does it take for the streaming subscriber to receive the stream update notification if the stream publishing stops due to the streaming publisher shuts down and exits the process (or process killing)?

This status cannot be synchronized to the server due to the abnormal exit of the stream publisher. The server needs to determine that the stream has stopped based on the timeout period.

After the timeout (about 100s), if the app has not been restarted and you have not logged in to the original room within 100s, the server sends out a notification that the stream is deleted. At this time, the streaming subscriber will receive the corresponding notification through the onRoomStreamUpdate callback, and the business side should stop playing the corresponding stream.

How to deal with the stuck images and unsynchronized sound and images when using OBS for stream publishing and the SDK for stream playing?

Issue

When using OBS to publish the stream and SDK to play the stream, the image was stuck or the sound and image were not synchronized.

Cause

When using OBS to publish streams, the video stream carrying B-frame is published. Streams with B-frame have high latency in live streaming scenarios. By default, the ZEGO Express SDK does not support decoding video streams with B-frames, so there are stuck or out-of-sync.

Solutions

The following are 3 solutions provided by ZEGO:

  1. Modify OBS settings

Set not to publish B-frame in OBS settings: Go to Advanced > Profile, select baseline or using soft decoding for stream playing with the SDK.

If you are using the OBS classic version, go to Advanced > Config file, and select baseline.

If the played images quality is unstable after you set not to publish B-frame in OBS, refer to the third solution.

  1. Set up the SDK to play the B-frame video streams

To play the B-frame video streams with the SDK, call the enableCheckPoc(false) and the requireHardwareDecoder(false) methods before stream playing.

  1. Deal with the issue of unstable picture quality

It is possibly because the image is too complex to be encoded. You can refer to the following 3 methods:

  • Improve the bit rate.
  • Improve the CPU usage:
  • Go to Advanced > CPU default usage to set the CPU output transfer mode to medium. The higher the CPU usage, the better the picture quality.
  • In OBS, set the profile to main, and at the same time, the stream playing end needs to be set to support B-frame.

How can I improve the rendering speed when I frequently switch rooms?

  1. Manage the stream IDs by yourself, and perform the room login and stream playing operations simultaneously. (Call theLoginRoom first, and then call the startPlayingStream method).

  2. Call the switchRoom to switch the room. (Use the loginRoom method for first room login, and you will be able to use switchRoom next time after you exit a room.)

How many streams can a user play at the same time?

The SDK allows a user to play 12 channels of streaming at the same time by default. To play more than 12 channels of streaming, contact ZEGO technical support.

Page Directory
Download PDF