RidgeRun Mobile Framework

From RidgeRun Developer Connection
Revision as of 23:46, 26 September 2016 by Mgruner (talk | contribs) (Autodiscovery)
Jump to: navigation, search

Introduction

The RidgeRun Mobile Framework is an useful library intended to be used as a multimedia framework for applications on Android and iOS operating systems. It's based on the GStreamer project therefore it inherits all the power of it with a custom and robust design, allowing an easy usage of audio and video features like streaming, recording, playback, and others.

Using our Framework can give you the following advantages:

  • Leverages the features of the GStreamer framework in a mobile application!
  • Hardware resources usage instead of Software algorithms: less power consumption and higher performance.
  • Real encapsulation and efficiency with low-level C code.
  • Several stream and containers formats.
  • Improved portability to match your own ARM-based platform.
  • Complete documentation.

Architecture

RidgeRun's Mobile Framework provides a common layer on top of GStreamer for the different mobile operating systems. This layer abstracts low-level media handling into high-level object-like streams. On top of these stream objects the Framework provides language specific bindings for each OS, exposing classes which users can instantiate in their custom application. These classes are delivered in the OS standard packaging system: AAR for Android and Framework for iOS. Figure 1 summarizes the architecture described above. The layer in blue represents the software distributed in the Mobile Framework.

Figure 1. Mobile Framework software architecture. Layer in blue represents software provided by the Framework.

The solution proposed above provides a scalable and modular solution for users who wish to deploy their multimedia product on multiple OS. This is achieved by maintaining a common code base with the media logic and encapsulating it in OS specific classes.

Multimedia

The multimedia section is encapsulated in a set of classes, each one representing a different functionality. For example, encoding format, stream protocol and render mechanism, are all represented by orthogonal classes implementing common interfaces, allowing the user to change each of them independently without breaking the rest of the code. Moreover, additional formats and protocols may be implemented by extending the proposed interfaces, again, without breaking existing code.

The class hierarchy is documented in a standard UML class diagram, which is distributed along with the code.

Autodiscovery

Device autodiscovery is a mechanism by which a set of devices find themselves in a network based on certain criteria, without the need for the user to specify the device's IP addresses. Multimedia streaming usually requires one device knowing the address of the other, therefore device auto discovery is a very common use case in media solutions. As such, RidgeRun's Mobile Framework exposes a module dedicated to autodiscovery which will, underneath, use the OS specific facilities. This is, mDNS in Android and Bonjour in iOS.

Table 1 summarizes OS specific bindings and the technology behind them.

Table 1. Summary of OS specific binding layers
OS Language Binding Distributed as Device Autodiscovery
Android JAVA AAR MDNS
iOS Objective-C Framework Bonjour

Mobile Framework Support

The Framework supports its install on both Android and iOS, and it's a straight forward process. The requirements are just a few and they are summarized on the setting up documentation. The next wiki-pages can guide you with the set up and the development process once you get the Mobile Framework.

Android

All the information you need to know in order to start your Android Development with our Framework can be found here:

iOS

Also, the iOS version provides the same documentation for the apple brand, to ease you in the process of bring up a powerful application:

API

Last, we provide you a complete API Documentation that can serve as reference for your own custom application that uses our Mobile Framework.

Note: This API reference is for iOS but RidgeRun also offers an Android version, please send us an email to support@ridgerun.com and we will be glad to help you!


Mobile Framework Demos

Our Framework works! and to show you how it looks we prepared two videos, one for each supported OS. The videos can be found here:


Pricing

For pricing information please contact us on our Contact Page

or write an email to inquiries@ridgerun.com.