How to handle video artifacts or green screen issues?
Video artifacts refer to irregular pixel blocks with color errors appearing in the video image, causing the video to fail to display normally. The texture of the image may appear partially or globally discontinuous. Video artifacts are different from video blur. Video blur is generally caused by low resolution or bitrate. In blurry video, the image is still complete. Common phenomena are global blocky mosaics or local diagonal lines and jagged edges.
Green screen refers to green color blocks appearing in the video image, causing the video to fail to display normally. Green screen is common in YUV image processing steps, such as capture, rendering, and decoding.
Video artifacts or green screen may be caused by camera, third-party beautification SDK, video resolution, or issues with the capture and rendering modules. You can refer to the following troubleshooting steps.
Problem Troubleshooting
Publishing end preview artifacts/green screen
Based on different video capture sources, refer to the corresponding troubleshooting method:
- ZEGO Capture
Please follow the steps below to troubleshoot camera, third-party beautification SDK, and video resolution issues:
- Whether using ZEGO SDK rendering or custom video rendering, you need to confirm on another device at the playing end whether there are artifacts/green screen.
- If the playing end has artifacts/green screen, please troubleshoot the capture module at the publishing end.
- Confirm whether the camera is working properly by checking whether the system's built-in camera is working normally.
- Check the third-party beautification SDK. If you are using a third-party beautification SDK, try disabling the beautification feature and check whether there are artifacts/green screen. If the artifacts/green screen disappear, it may be a problem with the third-party beautification SDK. Please contact the third-party beautification SDK's technical support.
- If striped diagonal textures appear, check whether the video resolution is a preset resolution. If not, try changing the video resolution.
- If the playing end is normal, please troubleshoot the rendering module at the publishing end.
- If using ZEGO SDK rendering, please contact ZEGOCLOUD Technical Support.
- If using custom video rendering, check whether the use of "stride" parameter and "width" parameter in the returned image is confused. Both RGB and YUV need to be rendered according to the actual stride.
- Custom Video Capture
Please follow the steps below to troubleshoot:
- Whether using ZEGO SDK rendering or custom rendering, you need to confirm at the playing end whether there are artifacts/green screen.
- If the playing end has artifacts/green screen, please troubleshoot the capture module at the publishing end.
- Check the enableCustomVideoCapture function's ZegoCustomVideoCaptureConfig parameter's ZegoVideoBufferType specified video data format and the video data format passed back to the SDK are consistent.
- Check whether the capture image parameters are correct.
- If the playing end is normal, please troubleshoot the rendering module at the publishing end.
- If using ZEGO SDK rendering, please contact ZEGOCLOUD Technical Support.
- If the business side implements rendering on its own, please troubleshoot on your own.
Playing end artifacts/green screen
If both the publishing end and playing end have artifacts/green screen, you need to first refer to "1.1 Publishing end preview artifacts/green screen" to troubleshoot the publishing end issues.
If only the playing end has artifacts/green screen, please refer to the following steps to troubleshoot:
- Receive the same stream in different network environments. If the performance is inconsistent, please contact ZEGOCLOUD Technical Support.
- Switch between software decoding and hardware decoding. If the performance is inconsistent, please contact ZEGOCLOUD Technical Support.
- If the playing end uses custom video rendering, you need to troubleshoot the custom video rendering module at the playing end on your own. Check whether the use of "stride" parameter and "width" parameter in the returned image is confused. Both RGB and YUV need to be rendered according to the actual stride.
Contact ZEGOCLOUD Technical Support
If the problem persists, please contact ZEGOCLOUD Technical Support and provide the following information to help quickly locate the problem.
| Information | Details |
|---|---|
| Required Information | The room ID (roomID) where artifacts/green screen occurs. |
| When artifacts/green screen occurs, the user ID (userID) and device model of the publishing end and playing end. | |
| Screenshots of artifacts/green screen. | |
| The specific time period when artifacts/green screen occurs. | |
| The capture and rendering methods at the publishing end and playing end: ZEGO SDK capture, custom video capture, ZEGO SDK rendering, custom video rendering. | |
| SDK log file. For details, please refer to How to set and get SDK logs and stack information. | |
| Optional Information | Whether artifacts and green screen can be reproduced with other resolutions. |
| Whether artifacts and green screen occur in other applications. | |
| Whether artifacts and green screen can be reproduced on other device models. |
