Rambla Transcoding Service - v3
RAmbla Transcoding Service (RATS) is a web service with a resource oriented architecture that exposes a REST API. Its purpose is to provide an easy interface to Rambla's media transcoding engines, combined with an automatic integration of the Rambla CDN and additional import, export and notification features.
As such, RATS offers Rambla customers a full-featured media transcoding solution which can smoothly be integrated in their own infrastructure. This makes it possible to automate the complete process of transcoding, publishing and managing multimedia content.
RATS is designed in a layered and modular fashion, allowing it to be easily extended and customized.
- The Web Application Module exposes the main functionality through the RATS API and handles all client-server communication.
- The Import, Transcoding and Export modules handle the different RATS operations.
- The Custom Processing Module contains both a PlugIn framework for adding custom processing actions, as well as a number of built-in actions which can be used directly via the RATS API.
Customers can make use of the complete RATS functionality in four different ways:
- Through a client application. By conforming to the uniform HTTP interface for accessing online resources, RATS accommodates rapid client application development in any programming language. The client application can be a standalone process, part of a CMS or anything else that can send and receive HTTP requests. Many programming language already include open-source libraries that implement some or all functionality necessary for creating a generic REST client application.
- Manually, via a web-browser. RATS also operates as a web application that allows a user to access his resources manually, using a web-browser. This type of access can also be used for monitoring the actions performed by an automated client, since all interfaces remain the same (only the request and response types differ).
- Through a pre-configured "hot folder". Customers can order a pre-configured "hot folder" on the RATS FTP server and upload their source files to this location. In this case, Rambla will create a RATS profile for a single type of encoding that will be attached to this location. The transcoded files will be made available on the Rambla CDN or on a pre-defined location, without the customer having to send any transcoding requests.
- Through a simple web-interface : our Control Panel contains a wizard-like interface to encode individual files quickly and easily.
Web Application Module
Requests are sent using the HTTP protocol and require HTTP Basic Authentication. The URI path determines the resource that the request wants to access, and the HTTP method determines the type of action to be taken on this resource. For the available resources and methods, see the RATS API.
When data needs to be transferred in the request body, it must be encoded in one of the formats supported by RATS.
- HTML forms are supported for web-browser based access.
- When using RATS as a web-service, the data should be XML formatted: using either a simple XML structure for transferring content-only data, or the more advanced Atom Publishing Protocol (APP) for transferring content and metadata.
The result of a request is conveyed through standard HTTP header mechanisms and, additionally, via custom RAWS status codes and messages. As a rule, the response body (if present) will be encoded in the same format as the request, but the user can override this via the query-string part of the URI.
The source file can be made available to RATS in different ways:
- By sending a HTTP request, which contains the source file in its body, to the RATS web-service.
- By uploading the source file to the customer's directory on the RATS FTP server.
- By passing a URI to RATS that points to a location from which the Import Module can download the source file.
This module converts the source file into a transcoded file, according to a format selected by the user. The RATS API allows the user to create a completely customized format, or to select a pre-defined format. When the transcoding operation is complete, the Transcoding Module will generate a report that contains all relevant data about the transcoded file.
The user can retrieve and/or publish the transcoded file in different ways:
- By downloading it from the RATS server.
- By allowing RATS to automatically publish the transcoded file on the Rambla CDN (through the RAmbla Storage Service).
- By passing a URI to RATS that contains the location(s) to which the Export Module must upload the transcoded file.
The exact location(s) at which the transcoded file has been made available can be verified through a report generated by the Export Module.
Additional processing actions can be plugged in before or after any stage of the import, transcoding and export process. Some general actions can be set directly via the RATS API. For example, the user can request to be notified (by mail or via HTTP) when the transcoding operation has finished; this notification will contain the reports that were generated by the Import, Transcoding and Export modules.
Furthermore, custom PlugIns can be created on a per-user or per-project basis. For example:
- Generating custom reports which may include information provided by the user (e.g. in the transcoding request).
- Reading tags from the source file and/or writing them to the transcoded file.
- Adding user-provided subtitles to a transcoded video.