Home

 / Blog / 

Navigating the Video Call API Landscape: Features & Functionality

Navigating the Video Call API Landscape: Features & Functionality

August 16, 20228 min read

Share

Video Call API - Features & Functionality | Cover Image

At the end of the day, the biggest influence on “what we buy” comes down to “what it does”. Features, capabilities, bells, and buttons. Why should the audio-video SDK powering live engagement from within your app be any different?

If you’re here, chances are, you have a set of features mapped out that are absolute essentials. Your app either needs an SDK that will power interactive live streaming for tens of thousands of users at once, or it doesn’t!

Then there are capabilities that weren’t really dealbreakers but would be nice to have. Perhaps you weren’t looking for a tool that allows for emoji interactions. But if you can throw it into the mix anyway, why not?!

And finally, there are features that you weren’t even thinking about in the first place. Little things and enhancements - like the ability to intelligently highlight the active speaker, help you think up newer, richer experiences for your users.

This article will help you compare five audio-video SDKs (Agora, Twilio, Jitsi as a Service, Zoom, and 100ms), and see how they fare in terms of providing the features that actually matter to a majority of app developers.

Feature Categories

The features examined here have been organized into core capabilities, interactive features, and audio-video features.

  • Core capabilities refer to the basic functions an SDK should be able to offer to enable audio-video communication. In this case, those are video calling, interactive live streaming, and external streaming. In other words, does the SDK provide video conferencing capabilities? Does it allow users to stream content live to thousands or millions of users? Do live streams allow for interactivity between broadcasters and viewers? Can users stream live content to platforms such as YouTube and Facebook (external streaming via RTMP Output)?
  • Interactive Features help facilitate interactions beyond the core capabilities. They ensure that person-to-person interaction on a call is multifaceted, surpassing just basic verbal conversation. The features included here are chat capabilities, whiteboard, hand-raising, emojis, background modification, and notifications for user activity in a virtual room.
  • Audio/video Features refer to features that help with a smoother call experience. The ones we examine are screen sharing in a call, remotely muting participants (by the host), highlighting the active speaker, call recording, and noise suppression.

Note: This piece presents features across all categories in one master table. Subsequently, it splits the features into category-specific tables for quicker consumption.

Functionality & Features Comparison Table

Terms used to define feature availability:

  • Can be built using the SDK/Available within the SDK: the functionality is supported by the SDK natively
  • Can be built using an additional integration: requires dev effort to build it using an additional SDK/API of the same product or from a third party.
Agora Twilio JaaS Zoom Video SDK Zoom Meeting SDK 100ms
Video calling Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Interactive Live streaming Can be built with Agora's Live Streaming SDK Can be built with Twilio Live No explicit mention in JaaS documentation No explicit mention in Zoom documentation Allows for streaming of sessions with upto 10k participants. Can be built using the SDK.
RTMP Output (External streaming) Can be built using the Agora SDK No direct support for RTMP SDK supports streaming to Youtube. Can define a custom RTMP streaming server using the SDK Can build live streaming to Facebook Live, YouTube Live, and custom live streaming platforms. RTMP Live Streaming available within the SDK Can use the SDK to build live streams of Zoom Meetings or Zoom Webinars on Youtube Feature built into the SDK.
Whiteboard Can be enabled using the SDK Can be built using the DataTrack API/SDK. Unavailable No explicit mention in Zoom documentation Unavailable Can be built using an additional integration
Chat Can be built using the SDK Can be built using Twilio Conversations API Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Raise hand Can be built using the Classroom SDK or using the RTM SDK. Can be built using the DataTrack API Can be built using the SDK No explicit mention in Zoom documentation Can be built using the SDK Can be built using the SDK.
Emoji Can be built using the Agora RTM SDK Can be built using the DataTrack API Can be built using the SDK Unavailable Unavailable Can be built using the SDK
Notifications Call notifications can be built using the Agora RTC SDK, the Agora RTM SDK, and platform-specific call APIs No explicit mention in Twilio Video documentation Push notifications instrumented through webhooks. No Pull API-based notifications mentioned in JaaS documentation No explicit mention in Zoom documentation No explicit mention in Zoom documentation Can be built using the SDK.
Background modification Virtual Background extension available. Background blur can be built using SDK Can be built using the Twilio video processor SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Screen share Can be built using the SDK Can be built using getDisplayMedia API Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Remote mute Can be built using the Agora RTM SDK and the Agora Web SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Active Speaker detection Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Recording Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be built using the SDK Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be enabled using the dashboard and API.
Noise reduction Can be built using an additional integration Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Available, currently in Beta.

Capabilities

  • Video calling: The vendor in question must offer, at the very least, uninterrupted video and audio calling to facilitate meetings, webinars, and more.
  • Interactive Live streaming: If a video call is to be viewed by a large number of people, it is easier to live stream it and share a link to the same.
  • RTMP Output: SDKs should make it easy to stream content live to platforms such as YouTube, Facebook, Twitch, Vimeo, etc.
Agora Twilio JaaS Zoom Video SDK Zoom Meeting SDK 100ms
Video-calling Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Interactive Livestreaming Can be built with Agora's Live Streaming SDK Can be built with Twilio Live No explicit mention in JaaS documentation No explicit mention in Zoom documentation Allows streaming of sessions with up to 10k participants via webinars. Can be built using the SDK
External Streaming (RTMP Output) Can be built using the Agora SDK No direct support for RTMP SDK supports streaming to Youtube. Can define a custom RTMP streaming server using the SDK Can build live streaming to Facebook Live, YouTube Live, and custom live streaming platforms. RTMP Live Streaming available within the SDK Can use the SDK to build live streams of Zoom Meetings or Zoom Webinars on Youtube Feature built into the SDK.

Interactive Features

  • Chat: Within active video meetings, participants should be able to send messages to each other in a chat window without interrupting the speaker. They should have options to either send a message to all participants in the room, to a select few or privately message a single participant.
  • Whiteboard: For use cases such as edtech, a whiteboard is an integral feature. Instructors/presenters should be able to write/draw on a virtual board that is visible to all participants.
  • Raise Hand: This feature notifies the host that a participant wants to speak. It is useful to minimize chaos and interruptions, especially in large video rooms.
  • Emoji: Emojis are a quick and easy way to respond to messages on the chat in the midst of a call, conveying the message swiftly.
  • Notification: Notifications can be used to highlight user activities in a room, such as a participant joining or leaving, a bad network connection, etc.
  • Background modification: Users should be able to customize their video background, either by blurring it or replacing it with a static image.

Interactive Features Comparison Table

Agora Twilio JaaS Zoom Video SDK Zoom Meeting SDK 100ms
Whiteboard Can be enabled using the SDK Can be built using the DataTrack API/SDK. No explicit mention in JaaS documentation. No explicit mention in Zoom documentation. Unavailable Can be built using an additional integration
Chat Can be built using the SDK. Can be built using Twilio Conversations API. Can be built using the SDK. Can be built using the SDK Can be built using the SDK Can be built using the SDK
Raise hand Can be built using the Classroom SDK or using the RTM SDK. Can be built using the DataTrack API. Can be built using the SDK. No explicit mention in Zoom documentation. Can be built using the SDK. Can be built using the SDK.
Emoji Can be built using the Agora RTM SDK Can be built using the DataTrack API Can be built using the SDK Unavailable. Unavailable. Can be built using the SDK
Notifications Call notifications can be built using the Agora RTC SDK, the Agora RTM SDK, and platform-specific call APIs. No explicit mention in Twilio Video documentation. Push notifications instrumented through webhooks. No Pull API-based notifications mentioned in JaaS documentation. No explicit mention in Zoom documentation. No explicit mention in Zoom documentation. Can be built using the SDK.
Background modifications Virtual Background extension available. Background blur also available. Can be built using the Twilio video processor SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK

Audio/Video Features

  • Screen share: Call participants should be able to share their complete screen, a specific window, or a browser tab. This helps facilitate remote meetings and share information.
  • Remote mute: If necessary, the host should be able to mute one or more participants so as to lessen noise, distractions, or interruptions in the meeting.
  • Active speaker: The dominant speaker should be identified and highlighted for so that everyone knows who is speaking, even if there are too many participants or if everyone has their video switched off.
  • Recording: It should be possible and easy to record calls — whether as individual tracks or composite recordings.
  • Noise reduction: Noise in the background, such as distant traffic noise, should be automatically suppressed to ensure that conversations on the call are audible to everyone.

Audio/Video Features Comparison Table

Agora Twilio JaaS Zoom Video SDK Zoom Meeting SDK 100ms
Screen share Can be built using the SDK. Can be built using getDisplayMedia API Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK
Remote mute Can be built using the Agora RTM SDK. Can be built using the Twilio Live SDK Can be built using the SDK Can be built using the SDK. Can be built using the SDK Can be built using the SDK
Active Speaker detection Can be built using the SDK. Can be built using the SDK Can be built using the SDK. Can be built using the SDK Can be built using the SDK Can be built using the SDK
Recording Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be enabled using the dashboard and API Can be enabled using the dashboard and API
Noise reduction Can be built using an additional integration Can be built using the SDK Can be built using the SDK Can be built using the SDK Can be built using the SDK Available, currently in Beta.

Resources

Agora Documentation

Twilio Documentation

JaaS Documentation

Zoom Video SDK Documentation

Zoom Meeting SDK Documentation

100ms Documentation

Closing Notes

A quick view of this high-level comparison generates a couple of trends:

  • Agora, Twilio & 100ms provide a solid balance of core capabilities, interactive features, and audio-video features. Most of these features can be built or enabled with minimal or reasonable dev work. They are equipped to cater to and handle most use cases across relevant industries.

  • While JaaS does offer most features, some development effort might be required to set up specific functions to match the use case at hand.

  • The Zoom Video SDK is still evolving and is currently not as feature-rich as the Meeting SDK. But it does come with the advantage of full customization.

  • The Zoom Meeting SDK provides all major features, but it is pre-built and places restrictions on customization. This makes it suitable for basic use cases that can be achieved with limited features. However, it is quite easy to integrate and start working with.

  • If you want to integrate Zoom web app-like features into your own app, the Meeting SDK is recommended. The Video SDK is ideal for tailoring a video conferencing solution to your own (and your audience's) preferences and specifications.

However, consider this documentation a foundation from which to begin your research. We encourage you to explore the source links provided above and dive into product documentation to explore the nuances of each product and feature that are beyond the scope of this article.

Video

Share

Related articles

See all articles