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:
- 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.
- 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.
- 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
tomain
, 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?
Manage the stream IDs by yourself, and perform the room login and stream playing operations simultaneously. (Call the
LoginRoom
first, and then call thestartPlayingStream
method).Call the
switchRoom
to switch the room. (Use theloginRoom
method for first room login, and you will be able to useswitchRoom
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.