manuongithub/zoom-deepgram-realtime-transcripts
Realtime Transcripts Using a Zoom Bot and Deepgram
My fork of https://github.com/zoom/meetingsdk-headless-linux-sample incorporates modifications to establish a WebSocket connection with Deepgram, enabling the transmission of live audio for transcription. The entire implementation is written in C++. Since Deepgram lacks a dedicated C++ SDK, I had to directly manage the WebSocket communication within my C++ code. This choice was made because the original headless-linux-sample from Zoom was also written in C++, providing a solid foundation for building upon.
dzb-zfje-ydy.2024-01-22.15_16.GMT-8.mp4
Prerequisites
- Docker
- Zoom Account
- Zoom Meeting SDK Credentials (Instructions below)
- Client ID
- Client Secret
1. Clone the Repository
# Clone down this repository
git clone git@github.com:zoom/meetingsdk-headless-linux-sample.git2. Download the Zoom Linux SDK
Download the latest version of the Zoom SDK for Linux from the Zoom Marketplace and place it in
the lib/zoomsdk folder of this repository.
3. Configure the Bot
If you don't already have them, follow the section on how
to Get your Zoom Meeting SDK Credentials.
Copy the sample config file
cp sample.config.ini config.iniFill out the config.ini
Here, you can set any of the CLI options so that the bot has them available when it runs. Start by adding your Client ID and Client Secret in the relevant fields.
Add deepgram-api-key="XXX" to config too.
At a minimum, you need to provide an Client ID and Client Secret along with information about the meeting you would like to join.
You can either provide a Join URL, or a Meeting ID and Password.
4. Run the Bot
Run the Docker container in order to build and run the bot
docker compose upThat's it! You can use the --help argument in entry.sh to see the available CLI and config.ini options.
Get your Zoom Meeting SDK Credentials
In your web browser, navigate to Zoom Developer Portal and register/log into your
developer account.
Click the "Build App" button at the top and choose to "Meeting SDK" application.
- Name your app
- Choose whether to list your app on the marketplace or not
- Click "Create"
- Fill out the prerequisite information
- Copy the Client ID and Client Secret to the config.ini file
For more information, you can follow this guide
Keeping secrets secret
Remember, credentials should never be stored in a plaintext file for production use cases.
⚠️ Never commit config.ini to version control: The file likely contains Zoom SDK and Zoom OAuth
Credentials
Testing
At this time there are no tests.
Need help?
If you're looking for help, try Developer Support or
Developer Forum. Priority support is also available
with Premier Developer Support plans.
Documentation
Make sure to review Zoom documentation as a reference when building
with the Zoom Meeting SDK for Linux.