OKStream.com - The Better Way to Stream. The Easy Way to Internet Video
  Home Products Services Showcase Pricing Company Info
  Developer resources:   Create Account | Log-in | Blog | Forums | Docs | Widget Factory | Application Factory | Reporting | Billing
Your Imagination. Our Tools.

Every job requires the right tool. This is the motto that inspired our approach to OKStream.com. Instead of offering a single tool and trying to make it fit for every possible project or venture in the market, we came up with a "tool pyramid". Our developers have the freedom to choose the exact level of flexibility or RAD functionality that matches their particular requirements. And at any given time they can switch between the various tools, since they all work against the same back-end and the same developer license.


Use the sections below to learn more about our toolkit. In addition to that we strongly encourage you to open a FREE developer account and start studying our system for yourself. There are no upfront fees, no commitment.

The OKStream.com offerings provide various levels of flexibility and integration effort. Every next level in our tools pyramid "inherits" from the lower level and adds a further level of functionality encapsulation, thus decreasing the level of integration effort and time to market.

For the teams that need ultimate control over the fine details of the business logic and have access to development tools that can consume web services we offer the Core API. Developers have ultimate control over the data flow and are free to use any one from a number of methods to upload data into the system and retrieve data back. The core API leaves up to the developer to provide the User Interface (UI), thus allowing close control of the user experience.

By tapping into the next levels of the product pyramid - The Widget Factory - developers can minimize the integration time by utilizing pre-defined, well-tested building blocks, without sacrificing the ability to customize the look-and-feel and the functionality.

For developers who need minimal involvement and rapid results we offer The Application Factory. The application factory includes whole application parts with all underlying business logic encapsulated in a single include statement. You have the ability to add whole application modules (for example a live webcast studio) and apply limited customizations to match the rest of your site's design. All you need to provide is some form of (optional) account management.

The OKStream VideoMail Plug-ins are a collection of add-ons for some of the most popular email servers and clients which add the ability to use Video, Sound and Images in the outgoing email. All plug-ins are built on top of the OKStream Widget and Application Factories and offer built-in recording from any compatible camera, TV card or any other video capture device, media preview, flexible message formatting, settings management and much more right from within the interface users are already familiar with. The user can continue to use the email client as usual. In addition to all tools already available in the message editor interface the user is presented with the option to add video (or audio) component to the message. Selecting this option brings up a fully integrated camera component which connects to the users camera and allows for single-click media recording. Once the user has recorded the video message (or selected an existing recording from his/her media vault), the process of sending the message is no different than any other ordinary email. The VideoMail plug-in transparently stores the media in the user's vault and embeds a "Media Section" in the outgoing message with playback controls and additional information about the media.

Supported email platforms:
The VideoMail Plug-ins add two main features to the existing email client:
  • The tools needed to record and/or upload new content, as well manage user's content vault and account settings;
  • A message transport add-in which intercepts the outgoing email traffic and merges the recorded media (or a link to it) into the body of the email;
Once media is recorded as part of the current message, the plug-in intercepts the send event and merges an integrated player link into the body of the outbound mail. The user has the option to select various player layouts and graphics, as well as custom URLs and actions around the recorded media. All those are grouped into Themes and can be applied with a single click. The user can also pre-select a theme which will be applied to as a default to all new Video messages. The system administrator has the option to provide users with pre-set system-wide themes, as well as lock certain elements of the theme on an Access Plan basis (useful for link-back URLs, usage tracking and promotional banner distribution).

Upon receiving the message, the recipient is presented with a media insert containing a playback link and instructions on alternative ways to play the image. The insert position is controlled by the sender and can be either at the top or the bottom of the message. There is also an option to use a "wrap-around" layout where the body of the email is inserted in template provided by the system administrator. Clicking the player link opens a customized media player which displays all pre-set theme elements and picks up the proper media format (encoding and bit-rate) for the recipient's machine:

Click here for slide-shows, product tours and hosted demos of the VideoMail Plug-ins.

Embeddable chunks of code have existed since the start of the World Wide Web. Web developers have long sought and used third party code chunks in their pages. A widget is anything that can be embedded within a page of HTML, i.e. a web page. A widget adds some content to that page that is not static. Widgets are now commonplace and are used by bloggers, social network users, auction sites and owners of personal web sites. Widgets are used as a distribution method by ad networks, by media sites, by video sites and by hundreds of other organizations. By using our widgets you can integrate the power of the OKStream engine within your website by the placement of a small snippet of code. The code brings in ‘live’ content – media player, video camera controls, live broadcast player – from our platform without you having to update the site continuously.

Widgets are built on a DHTML/AJAX platform with the ability to gracefully degrade to plain HTML and even WAP in some cases. The goal of each widget is to provide as wide support for target devices as possible. Each widget has details about the set of devices currently supported.

All widgets are built on the same underlying platform thus providing a uniform way to authenticate, instantiate and receive feedback from the widget. This set of rules is referred to as the Widget Factory. By making sure all widgets derive from the same set of rules we allow developers to cut on ramp-up time and focus on the core business logic of their application.

Widget target platforms:
  • Modern DOM 2.0 compatible browsers running on Windows PCs, Mac OS X and certain flavors of Linux;
  • The OKStream Entertainment Hardware Platform (STB);
  • Older generations of web browsers with limited DHTML and AJAX support running on various platforms;
  • Mobile devices with browsers based on the webkit platform (including the iPhone, the iPod Touch and certain Nokia models);
  • Mobile devices based on the Windows Mobile 5/6 platform;
  • Sony Playstation 3;
  • Nintendo Wii;
Current list of widgets:
Capture / Upload Widget;
Media Player Widget;
Vault Browser Widget;
Live Broadcast Widget;
Live Player Widget;
User Manager Widget;
Click here for a hosted demo of the Widget Factory.

The application modules are a logical evolution of the widgets model. They encapsulate extended functionality. While a widget will only fulfil one finite function (e.g. Capture Video, Play Video), an application module has a much wider scope (e.g. Video Blog Editor, Live Broadcast Console). The application modules are still highly configurable, but their functionality follows a pre-defined business logic module. They are targeting developers and projects that need quick integration of standardized functionality with limited level of customization.

Each module follows the same secure sandbox model that was introduced with the widgets and does not disrupt users pages. As with widgets, a module can be added to virtually any site that allows for HTML to be added to the page.

Again, similar to the widgets model, all application modules are built on the same underlying platform thus providing a uniform way to authenticate and instantiate the module. This set of rules is referred to as the Application Factory. By making sure all modules derive from the same set of rules we allow developers to cut on ramp-up time and focus on the core business logic of their application. You will see that most of the logic below is very close (and often identical) to the widget factory.

Current list of application modules:
LiveCaster Module;
LiveCast Viewer Module;
BlogCaster Module;
BlogCast Viewer Module;

Click here for a hosted demo of the Application Factory modules.

The Core SDK is a complete solution for content storage, management, streaming and transcoding based on a rich web-service API. It allows you to fully video-enable any website or online community. It offers a "Zero-UI" solution for server-to-server or desktop-to-server type of development. Developers can utilize a feature-complete set of web service calls from their application back-end or from a custom client implementation. Through the use of the API and common HTTP protocol the application can submit, organize, manipulate and retrieve content from the core content management system.

The core engine is built around the Asset paradigm. Every piece of media you record and/or upload into the engine represents a Master Asset. Master Assets can contain video, audio or image data. Each Master Asset contains the original source, as well as one or more Derivative Assets. The system allows the developer to generate derivative assets by applying various transformation(s) on the source media. Some of those transformations are:

  • Video encoding/transcoding into various target formats (e.g. Windows Media Video, Flash Video, QuickTime, H.264, etc.);
  • Audio encoding/transcoding into various formats (e.g. Windows Media Audio, MP3, AAC, etc.);
  • Frame extraction into an image file;
  • Video preview generation in the form of a filmstrip;
  • Audio/Video/Image mash-ups;

The engine also provides the ability to organize assets into individual accounts. Individual accounts can be viewed as sub-accounts within the developer's license. Separate access plans can be enforced on each individual account, thus providing the developer with optional control and enforcement on a user level. By utilizing individual accounts the CMS engine can eliminate the need for external tracking of media affiliation and usage.

Within each individual account the assets can be further organized/classified by assigning them to groups and subgroups, very similar to the folder and subfolders paradigm. In addition to the grouping, the developer has the option to assign custom attributes on master asset, folder and individual account level. This, combined with the advanced search and retrieval mechanisms provided by the API allow the application development team to use the engine as a single point of integration for multiple front end applications (e.g. sharing the same storage system between presentation application, web publishing application and media-sharing application with shared user base).

The most prominent feature of our products is their format-independent implementation. While most of the other content management systems (CMS) and toolkits on the market are built around one single format or client platform, our core engine provides target-agnostic approach to media delivery. By providing this level of flexibility, we can ensure the easy integration with practically any business model - whether it's an existing real life application or a radically new idea.

Our system provides a perfect balance of server-side functionality to ensure standards-compliant transcoding and delivery with client-side features to enable massive scalability for projects on a budget.

Our engine accepts more than 150 combinations of file formats, audio and video CODECs. After successful introspection (which includes format detection, meta data and format information extraction and optional preview/thumbnail generation) the engine provides the ability to output to a pre-defined set of encoding profiles for audio, video and image content with the ability to add custom encoding profiles for developers who need them.

Standard Output Encoding Profiles - Video: 
Podcasting / iPod Video (H.264 768KBit/s)
PSP friendly (MPEG4 500KBit/s)
Mac/Linux friendly - medium quality (MPEG4 160 KBit/s)
Mac/Linux friendly - high quality (MPEG4 500KBit/s)
Web delivery - low quality (Flash 45KBit/s)
Web delivery - medium quality (Flash 95KBit/s)
Web delivery - high quality (Flash 250KBit/s)
Plays-for-sure friendly - low quality (Windows media v9 45KBit/s)
Plays-for-sure friendly - medium quality (Windows media v9 95KBit/s)
Plays-for-sure friendly - high quality (Windows Media v9 250KBit/s)
Movie trailer quality - full screen (DivX 4:3 970KBit/s)
Movie trailer quality - wide screen (DivX 16:9 970KBit/s)

Standard Output Encoding Profiles - Audio: 
MP3 audio - low quality (24KBit/s mono)
MP3 audio - medium quality (96KBit/s stereo)
MP3 audio - high quality (192KBit/s stereo)
AAC audio (iPod, Sony) - low quality (24KBit/s mono)
AAC audio (iPod, Sony) - medium quality (96KBit/s stereo)
AAC audio (iPod, Sony) - high quality (192KBit/s stereo)

Accepted Input File Formats:

Copyright © 2005-2009 OKStream.com. All Rights Reserved.