Introduction

NUBOMEDIA is the first open source elastic cloud PaaS (Platform as a Service) specifically designed for real-time interactive multimedia services, which exposes its capabilities through simple APIs.

For understanding how a real PaaS works we just need to think on services such as Heroku, the Google App Engine or Pivotal PCF. All of them expose to developers the ability of uploading, deploying and executing applications that leverage the PaaS capabilities through custom SDKs. By using them, developers do not need to worry about aspects such as the provisioning, the scalability, the resilience or the security of the services they consume as they are provided off-the-shelf by the PaaS. This model is quite convenient as it lets developers to concentrate on creating their application logic while all the complex aspects of deploying, scaling and securing them are assumed by the PaaS.

NUBOMEDIA is a real PaaS as it makes possible to upload, deploy and execute developers’ applications written in the Java programming language. At the same time, NUBOMEDIA is a WebRTC platform as it provides the ability of accessing scalable, secure and reliable WebRTC capabilities. Thanks to this, NUBOMEDIA combines the simplicity and ease of development of WebRTC API PaaS services with the flexibility of real PaaS infrastructures. Hence, as NUBOMEDIA is a Java PaaS, developers can leverage all the capabilities of the Java platform for creating their applications. The only difference with other PaaS services it that NUBOMEDIA makes available WebRTC capabilities through a specific API. Hence, WebRTC just becomes another of the SDKs that can be used while programming. Once an application is completed, developers just need to deploy it into NUBOMEDIA and it will scale in a secure and reliable way with full transparency.

Table of contents

This documentation provides developers guidelines on how to use the develop applications targeted to run on the NUBOMEDIA cloud platform. Here you will find guidelines on application development, deployment, using the elastic and scalability functionalities of the platform. The contents of this documentation is divided into the following sections:

  • The guide to understand how to NUBOMEDIA works in a nutshell is depicted in the Getting started section.

  • The detailed description of the different NUBOMEDIA APIs can be found in the following sections: Media, Repository, WebRtcPeer, Signaling, Room, and Tree API.

  • A brief introduction of the NUBOEMDIA SDKs APIs can be found in the following sections: Android and iOS SDK.

  • The tutorials section contains demo applications showing how to use NUBOMEDIA by means of different types of multimedia applications. These tutorials are magic-mirror (i.e. WebRTC with computer vision and augmented reality techniques), repository (i.e. media record and playback on the NUBOMEDIA repository), and room (i.e. WebRTC multiconference application using the NUBOMEDIA Room API).

  • The PaaS Manager is the part of the system enabling developers to deploy and manage NUBOMEDIA applications. The capabilities of this component can be accessed by means of the the PaaS API and the PaaS GUI.

  • NUBOMEDIA provide seamless integration and access to advanced media processing capabilities such as Video Content Analysis (VCA) also known as Computer Vision, and Augmented Reality (AR).

  • NUBOMEDIA provides different framework tools aimed to simplify the creation of complex multimedia applications, for instance the Visual Development Tool, monitoring tools for the applications and media servers that were started by NUBOMEDIA PaaS (these tools are also monitoring the hardware stats), and NUBOMEDIA Autonomous Installer (NAI), which is be able to install the NUBOMEDIA platform into an IaaS environment.

  • Some documentation for advanced users can be found this documentation: for instance NUBOMEDIA Architecture and Media Server Discovery Process.

Contact

If you have any doubt, comment, or problem related with NUBOMEDIA, please ask for support in the NUBOMEDIA development mailing list. If you find some bug related with NUBOMEDIA, please open an issue in our bug tracker project.