Media server supporting AV1, H265 and more. Callaba introduces video conferencing API for business

Callaba
5 min readDec 4, 2020

Hello! My name is Yoram. I am the founder of Callaba. We develop software for telecommunications and video streaming. One of our recent and most glorified achievements is the development of our own media server.

Media server

When we began working on our own media server, there was no solution on the market that would satisfy us in terms of video and audio quality. At first we tried refining existing solutions, but it was far from perfect. They worked in some cases, but failed in others. So we decided to give it up and start from scratch. And with that Callaba media server came to life.

Callaba media server is designed to receive and process client media streams, balance network load in SFU and MCU modes, and most importantly, to support modern H.265 and AV1 codecs.

About AV1

AV1 is an open video compression standard for encoding videos transmitted over a network. According to Facebook engineers, AV1 can reduce bitrate by 50% keeping the same quality compared to H.264, and by 30% compared to VP9. Moreover, the higher the resolution, the better the compression effect. Enabling hardware support for AV1 allows to take advantage of the improved video codec by shifting decoding work from software to GPU (this is especially important for laptops as it lowers power consumption).

H.265 a.k.a. HEVC

H.265, also known as HEVC (High Efficiency Video Coding) is a video compression format with more efficient algorithms than H.264. The efficiency of HEVC encoding is determined by the ability to encode video at the lowest possible bitrate while maintaining a certain level of video quality. Instead of the H.264 macroblocks, HEVC uses tree-structured coding blocks. HEVC encoder also has another key feature : it utilizes larger blocks. This technology is most effective when encoding high definition video.

Scalability

Another challenge that we’ve been facing was to be able to operate the network on multiple servers. And I’m proud to say that we did it. We also made Callaba media server scalable for an unlimited number of participants by using intelligent session and instance management (auto-scaling).

Supporting SRT

SRT (Secure Reliable Transport) is a relatively young data transfer protocol, based on UDP. Video and audio quality is vastly superior compared to WebRTC. This protocol provides two types of guarantees in different operating modes — data delivery guarantee or delivery delay guarantee.

SRT high speed video transmission

High speed is achieved by the use of the UDP protocol. Besides that, the data transfer rate is also influenced by the use of timestamps. Each individual data packet has timestamps, which are placed at the beginning. Due to this, the size of the data buffer when using SRT is several times smaller than when using RTMP. However, UDP does not guarantee the delivery of the data, it was even nicknamed “the unreliable datagram protocol.” When SRT was being developed, this UDP issue was fixed.

SRT intelligent retransmission mechanism

Fast and efficient SRT identifies each data packet by its sequence number. If a difference of more than 1 sequence number occurs on the receiver’s side, a negative acknowledgement (NACK) is immediately sent to the sender. Then the lost packet is transmitted again — only that specific packet, not a group, as when using TCP.

Callaba media server supports SRT protocol and is capable of receiving and processing video streams using the H.265 encoder. The server optimizes client traffic and knows how to route and record audio and video. Besides that, Callaba media server supports SRT, RTMP, WebRTC, MPEG-DASH, HLS.

Client SDK

A code library for developing video conferencing frontend. Install npm package, connect, create. Everything is customizable. Callaba SDK supports all modern browsers and can be used in native vanillaJS projects as well as in 3 main frameworks: React, Angular and Vue. We also provide ready-made examples of chat rooms, documentation and technical support to our clients.

Video API

A full-fledged Restful API allows customers to manage rooms and sessions from their application, connect and configure media server instances, configure streaming and redirect streams. For those who do not need a media server at all, it’s a simple way to connect WebRTC clients directly via browsers (for example, for organizing a conference call for up to 4 people, or for organizing p2p only).

iFrame Embedded Video Conferencing

There are clients for whom the aforementioned products are far too complex. For these people we have made the easiest way to implement video conferencing, using one line of code. A conference starts working in the customer’s application by simply adding a script. This custom iFrame script is controlled by adding attributes, for example “screen-sharing = true” or “group-chat = false”. We also accept custom parameters that are necessary for our clients’ businesses, for example, the client’s user ID or username in the chat.

Callaba API main features

Video conferencing by link

  • Unlimited customizable rooms
  • Connect multiple cameras simultaneously
  • Four ways of integration, depending on the needs of the client (iFrame, Client SDK, RESTFul API, Media server)

Recording

  • Unlimited recording time
  • Two recording options : record a whole room or record a particular stream

Messenger

  • Unlimited group chats and private chats
  • Attach files to share
  • Export message history

Whiteboard

  • Unlimited number of canvases
  • Any user can write and draw
  • Demonstrate media (PDF, JPG, PNG)
  • Export images

Screen sharing

  • Multiple screen sharing
  • Stream your video and screen simultaneously

Video and audio streaming

  • Supported protocols: WebRTC, SRT, RTMP, MPEG-DASH, HLS
  • Video 4К support
  • High quality audio streaming
  • Controlled delay
  • Unlimited number of viewer connections

You can try our demo video conferencing. If you feel like our solutions might work for you or you would like to ask us questions, please contact us.

--

--

Callaba

callaba.io is free web platform for online calls. With Callaba, all you need to start a conversation is a device with an active internet connection.