Zoom Developer Forum

How to stream video to a meeting through the Zoom SDK

Updated at:
October 14, 2025
Written By:
Aydin Schwartz

Question

People commonly ask on the Zoom Developer Forum:

How can I stream a bot’s video or avatar into a Zoom meeting? Which SDKs allow for sending video and audio to the meeting, and are there examples available for implementation?

Answer

To stream a bot’s video or avatar into a Zoom meeting and send audio, you can utilize the Zoom Meeting SDK on Linux. Here is a comprehensive guide to achieve this:

  1. Join the Meeting:
  • Authenticate and join the target Zoom meeting using the SDK. Wait until the meeting status is MEETING_STATUS_INMEETING.
  1. Implement a Custom Video Source:
  • Create a class that implements the IZoomSDKVideoSource interface. This will allow you to feed video frames from a file, a generated avatar, or any other source instead of a physical webcam.
  • Use the IZoomSDKVideoSourceHelper to register your custom video source by calling setExternalVideoSource(yourVideoSource), and ensure to unmute the video.
  1. Sending Video Frames:
  • In your implementation, handle the onInitialize(IZoomSDKVideoSender* sender, IList<VideoSourceCapability>* support_cap_list, VideoSourceCapability& suggest_cap) callback to store the sender instance for later use.
  • Use the onStartSend() callback to begin sending frames using m_pSender->sendVideoFrame(...). Make sure the frames are in the YUV420 format and match the supported capabilities listed in support_cap_list.
  1. Handle Audio Separately:
  • For sending audio, you will need to implement a virtual microphone. Use the IZoomSDKAudioRawDataHelper.setExternalAudioSource method to feed audio into the meeting. The onMicStartSend event is crucial for managing the microphone's audio flow.

If you prefer not to build and maintain this infrastructure yourself, consider using third-party services like Recall.ai, which provide meeting bots that can handle audio and video without the need for extensive development.

Zoom Developer Forum Examples

Some examples of this question are:

Written By:
Aydin Schwartz