What is Callaba streaming and video API

Callaba Engine is a streaming & video API-first platform that you can use to develop your application. Interaction with the engine is carried out through the REST API.

 

In essense, Callaba video API is a set of implemented modules that provide:

  • Re-streaming/Multicast to Socials via API.
  • VOD/OTT API.
  • Multi-lingual webinars API.
  • Video streaming server via API.
  • Pay per view streaming via API.
  • Event tickets API.
  • File management API.
  • SRT servers API.
  • SRT streams API.
  • RTMP servers API.
  • RTMP streams API.
  • SRT bonding API.
  • SRT routing API.
  • HLS player API.
  • WebRTC media server via API.
  • Video API.
  • Streaming API.
  • Embed video on website via API.
  • Continuous & linear streaming API.
  • Streaming API.
  • Video conferencing API.
  • Real-time monitoring API.
  • vMix scripting API.
  • Cluster management API.
  • SSL management via API.
  • TCP/UDP ports management via API.

Streaming & video API's by industries:

  • Broadcast media and television API.
  • Video surveillance API.
  • Web conferecning.
  • Video calls API.
  • Online webinars API.
  • Telemedicine via API.
  • Virtual events platform API.
  • Streaming service API.
  • Video hosting API.
  • Online auction API.
  • Re-stream API.
  • Online gaming API.
  • Sports streaming API.
  • Monetization of movies API.
  • API for online concerts with high-quality sound.

Callaba Engine Architecture

Callaba Engine is developed as a set of modules independent from each other, where the Pipeline pattern is applied. This means any module can be called in any order. For example, first we launch the stream setting up module and make it listen to a specific port, next we launch the module that performs the transcoding of the stream, and finally the playback module.

 

This can be compared to booting up a computer, where first the low-level software is loaded and it gets the information from the hard disk drive, next the kernel is loaded, then the operating system and services, including the graphical shell, and finally you see the screen. All this can be fit into the Pipeline concept.

Any of these modules can be called sequentially, linking one stream to several different processes indefinitely, as long as the server resources keep up.

Routing between multiple Callaba Engine instances

Callaba Engine supports stream routing and clustering out of the box. You can easily organize delivery from one instance to several others using the built-in routing mechanism.

What technologies does Callaba Engine use?

Callaba Engine is a collection of low-level programs written in C and C++, python, rust and golang. Database used is MongoDB.

Callaba Engine uses docker as well as docker-compose and is made of containers. These containers can exist on the same server and can also be distributed among server users via clustering.

Callaba Engine includes:

  • MongoDB (C++, Python, Javascript)
  • Queue application (Rust). Queue is serving process automation and system processes
  • Web application (Javascript)
  • Web server application (C)
  • Backend + Restful API Application (C, C++, Javascript)
  • Application handling the ICE protocol (Golang)
  • Application handling the WebRTC, RTP (C++)
  • Application handling the SRT streams (C++)
  • Application handling RTMP streams (C)

As a basis for the development of modules, features and standards for video broadcast protocols are used. Callaba Engine uses built-in failover mechanism, in case of dangers, the construction service resumes work automatically.

Note:

Callaba Engine uses the network: host virtualization mode, which is only available on Linux operating systems. This limitation is due to the different network stack of operating systems. Therefore, we recommend using Linux.

If you need something special, you can contact the technical support department:

[email protected]