Every tool that captures or analyzes the video from meetings needs to get access to the data first. For Zoom, the most popular video conferencing system in the world, there are 5 ways that tools accomplish this.
1. Real-Time RTMP Streaming
RTMP (Real-Time Messaging Protocol) is a protocol for streaming audio and video across the internet in real-time. Zoom provides an API to initiate real-time RTMP streaming for a given call.
To receive a RTMP stream, you need to run an RTMP server. An open-source example is the following. You also need to enable RTMP streaming on your customers Zoom accounts, which they can do through the following steps. Then, whenever your customers create a meeting, you can enable RTMP streaming for that meeting through the following Zoom Meeting API endpoint.
The main advantage of using RTMP streaming is that it allows you to receive data in real time. This is critical if your use case involves delivering results to your users during the call. For example, if you're building sales coaching that tells reps what to do, or if you're building call-center software that automatically surfaces relevant documentation during calls.
The downsides of using RTMP streaming, on the software development side, are that you need to process the raw video streams yourself, and you also need to run infrastructure to host the RTMP server. On the customer experience side, RTMP streaming is limited to users who have a pro Zoom account, and some customers are bothered by the “Live Streaming” badge displayed in Zoom, because it gives them the impression that their meetings are being publicly broadcasted.
2. Download Files from Zoom Cloud Recording
Zoom Cloud Recording is Zoom’s built-in recording solution. Users can initiate a cloud recording by clicking on the “Record” button in the Zoom app, and completed recordings can be retrieved from the Zoom Meeting API through the following endpoint.
Using the Zoom Cloud Recording system is that it is the lightest way to capture the audio and video from Zoom meetings, as you do not need to run infrastructure in order to capture or encode the data. The cloud recording experience is also something that every Zoom user is familiar with.
However the main downside of this approach is that you don't get the data in real-time. The Cloud Recordings can take a significant amount of time to process before they’re able to be downloaded. According to Zoom, cloud recordings generally take about 2 times the duration recorded to process, so if you have a 30 minute meeting you can expect 1 hour of processing time. Zoom also mentions that occasionally due to high load, processing can take up to 24 hours. Zoom Cloud Recording is also limited to users with a Pro Zoom subscription or higher.
3. Upload Local Recording Files from User's Computer
Zoom Local Recording is another built-in method of recording Zoom calls. Users can initiate a local recording by clicking on the “Record” button in the Zoom app, which results in a MP4 file being generated and saved on the user's computer. Users can then upload the file to your app manually, or completed recordings can be uploaded automatically using a desktop app.
One advantage of the Zoom Local Recording approach is that this feature is available on all subscription tiers, even free. Importing local Zoom recordings are also light on your servers, as you don't need to run infrastructure to capture or encode the raw data.
However, there are some drawbacks. Your customers will need to install a desktop app to have their calls automatically uploaded, which is a barrier to potential customers trying out your app. Processing local recordings is heavy on your customers' computers and can drain laptop batteries quickly. Your customers also need to leave their computers on while the recording uploads, which can take a very long time if their internet is slow or unstable.
4. Build a Recording Bot
A recording bot is a software application that joins the call as a participant, and captures the audio and video data. Recording bots for Zoom are typically built using the Zoom Windows or Mac SDK, and make use of the Raw Data feature. Bots can be dispatched to Zoom meetings using the Zoom Meeting ID, and process the audio and video in real-time.
There are several benefits to using recording bots. Recording bots have been the standard for meeting integrations for several years, used by top products like Gong, Chorus, and Grain. This means that if you use meeting bots in your product, your customers already understand how they work, and are comfortable with the user experience. Recording bots are also available for every platform (Zoom, Microsoft Teams, Google Meet), including every tier of Zoom (Free, Pro and Enterprise) producing a consistent product experience for all your users. This isn’t the case for some of the other methods, for example RTMP live-streaming is available on Zoom but not Google Meet. Meeting bots work the same way for every single platform.
However there are also downsides to using recording bots. First of all, the initial build for the recording bot and associated infrastructure takes a few months of engineering time. Operating the recording bots is also a continuous engineering burden, as you need to run large fleets of servers to process the raw video and audio from many calls at a time. Recording bots also require a lot of development work and ongoing maintenance to ensure they continue to run reliably over time. The additional work involved with running recording bots at scale can consume the time of several full-time engineers.
5. Use Recall.ai
Recall.ai is a hosted recording bot solution, which allows you to use recording bots without dealing with the maintenance or operation of the infrastructure. Using Recall eliminates the need to build and maintain your own recording infrastructure, saving time and money. Recall's API works with Zoom, Microsoft Teams, and Google Meet, which means that no code changes are needed to serve customers on a variety of meeting platforms. Using Recall saves months of engineering time during the initial build, and thousands of engineering hours every year in maintenance and operations.