We are developing a Zoom App and are using the {userId}/recordings endpoint to get the Audio Transcript for Cloud Recorded Meetings after the meeting is done.
We process the transcript once ready, after the audio is transcribed by Zoom. This approach has limitations:
Requires User to have Business License
Requires Cloud Recording
Must occur after a meeting cloud recording audio is transcribed
What we want
To processing a transcript of the meeting live while the meeting is running, like Closed Captioning might, regardless of recording status.
Enable our app functionality to non-business license users as the Audio Transcript is the only Business License level feature we are using.
Our specific technical goal
Programmatically get audio stream of a meeting (not livestream — which if I understand correctly forces the meeting to be public). What is the right way to do this?
Alternatively programmatically retrieving the audio transcript segments (as text) streamed, or even as event, or a webhook based solution, etc.
Note: I have seen a number of questions here in devforum on this general topic over the years but not finding a recent one that factor in the latest functionality: Live Transcription and Closed Captioning features of Zoom Meeting Web SDK. Or perhaps just havent seen clear guidance on the ideal approach to retrieve meeting audio from a Zoom App.
@gibron, a Zoom App doesn’t allow you to capture the real-time audio or transcript, you must use a separate method to capture the data, but you can pipe it back to your Zoom App to display.
Unfortunately, there are no direct API endpoints to access the real-time transcript. However, here are 4 other ways you could explore to create a real-time transcript from a Zoom meeting.
1. Use the Zoom RTMP live-streaming API
Pros:
Doesn’t require any 3rd party services
Lighter weight than building and running a Zoom bot
Cons:
Needs to initiated on a per-meeting basis
You need to set up an RTMP server to receive the data, which requires engineering effort to deploy, scale, and monitor
Participants can get spooked by the “live” badge that appears in the meeting (even if it’s a privte meeting)
No speaker separation
2. Build a desktop app to capture users’ computer audio
Pros:
One of the most cost effective solutions
Cons:
You need to build a separate app for Windows, Mac and Linux
It is especially difficult to tap into computer audio on Mac
App runs on users’ computer so it can slow their computer down/make computer fans go off
No speaker separation
3. Build a Zoom bot
Pros:
Can get the separate audio streams per participant for perfect diarization / speaker labels
Cons:
It is very heavy-weight as you would need to spin up multiple servers to run the Zoom client for the bot
Running infrastructure for Zoom bot costs more than live streaming.
You need to encode the raw video and audio yourself
4. Use Recall.ai
It’s a unified API that lets you send meeting bots to video conferencing platforms to capture the audio,
video and transcription in real-time.
Pros:
Handles spinning up the servers, and providing the real-time raw audio/transcript so all you interact with is a simple API.
@amanda-recallai thank you for your thoughtful response and overall support!
And @MaxM thank you also!
Both have given us a lot to think through and determine our best path forward. Cheers!