Skip to content
Jul 19 / Andrew Spaulding

Signing an Ooyala API query with AS3

In order to invoke Ooyala's APIs we require that you sign each request using a combination of private keys, the request parameters, and an expiration time. The appended signature is generated with a SHA256 hash and then by creating a Base64 encoded string of the SHA256 digest. There are a few smaller steps outlined in our documentation such as limiting the signature to 43 characters in length, removing any trailing equals signs, and URI encoding the signature to make sure it is URL friendly.

The AS3CoreLib (available over at Mike Chambers github) contains a crypto package, and particularly a SHA256 class. It also has a hashToBase64 method, even better! But… the Base64 utility class it uses no longer exists in the Flash runtime. The class mx.utils.Base64Encoder needs to be replaced for our use case, and you can find many online. The Base64 class I've chosen is freely available for use and modification from Jean-Philippe Auclair. Check out his blog post for a Base64 optimized AS3 lib.

Download my complete source code, or if you want to create your own, the following are the steps I've taken to modify the Adobe SHA256 class with a different Base64 utility.
read more…

Jun 20 / Andrew Spaulding

Ooyala Django – another awesome Ooyala library

Recently I blogged

about a bunch of Ooyala code libraries written for Ruby, Drupal, and PHP, and here's another one to add to the list.

Ooyala Django as you might guess is a library developed for use with Django to leverage the Backlot Query API to return a list of content, link the content to specific url's, and render video content using an ooyala_video tag within your Django templates. You could even use this library with just regular python code. Kudos to Jaymz Campbell for sharing the library over on github.

Read more at Jaymz's blog

HTTP://WWW.CANEXBACK.COM

Download the Ooyala Django library at github

zp8497586rq
Apr 14 / Andrew Spaulding

Ooyala libraries for PHP, Drupal, and Ruby developed by the community

It's always important to build a strong community around you, to help push the boundaries, test the limits, and showcase the potential of what is really possible with your technology.

However, there's often some great contributions from individual contributors outside of the traditional partner base, and I wanted to give a big Oo shout out to the following Ooyala developers.

Ooyala API PHP Client Library

Vance Lucas and Company52 created an Ooyala API PHP Client Library available over on github https://github.com/company52/Phoo. The library provides a great backbone for many of Ooyala's API's, including content ingestion, label management, channel management including creating dynamic channels, Ooyala analytics queries and more.

Ooyala Module for Drupal

Jared Bitner of Lullabot created an Ooyala Module for Drupal that allows you to perform synchronisation and batch importing of video content managed from Backlot. Check out a video of Jared introducing the Ooyala Drupal Module or head straight to Drupal.org and download the module http://drupal.org/project/ooyala. This module is a great for managing and maintaining your Ooyala video's as a custom content type within your Drupal site, and synchronising your content taxonomy.

Tangerine, a Ruby Gem that wraps the Ooyala API

Anthony Navarre and Craig Williams have built Tangerine, a Ruby Gem that uses ActiveResource to wrap the Ooyala Backlot API. Head on over to RubyGems.org http://rubygems.org/gems/tangerine to learn more. This is currently a work in progress, but it's great to see this kind of content being shared for others to use and contribute to.

http://www.canexback.com/

Do you have your own Ooyala extensions or modules? We'd love to hear about it!

zp8497586rq
Mar 30 / Andrew Spaulding

Create a cinema lighting experience with JQuery for your video player

I wanted to add a website dimming experience akin to video player features similar to those found on Hulu or on AdobeTV, where you can toggle the “lights” so to speak on your site. In my example I

use some simple JQuery to append or remove a Div to the HTML DOM, and leverage some basic JQuery effects to fade in or fade out the Div. The darkened web site result is achieved by Div with a black background at 80% opacity that sits above all other web content on your page.

Try the example yourself, and turn the lights on and off!
View the source to see how it all works.

http://www.canexback.com

zp8497586rq
Mar 30 / Andrew Spaulding

YouTube and Ooyala, publishing to the worlds largest video discovery destination

There's no doubt about it,

YouTube is the largest video search and discovery destination. And why wouldn't you want to be a part of that! More eyeballs is more eyeballs, and we all want a greater viewership to our content, and of course, greater discoverability.

Ooyala's YouTube integration has been a core part of our technology platform since 2008, enabling content owners to publish to their YouTube accounts. And through the extensive integrations, Ooyala enables round trip synchronisation of content between Backlot and YouTube, moving beyond simple content push to the YouTube's platform. This means not only is your content in sync, but your metadata is also synchronised with the your YouTube assets. Changes to your video metadata within Backlot are updated on you YouTube videos, including video titles, descriptions and content genres. Have you deleted or unpublished content with Backlot? That's ok too, your YouTube account will be updated with these changes as well.

Not only does Ooyala offer external publishing and content synchronisation with YouTube, you can also access YouTube's vast video library, add a video to your library and manage and playback the content directly the Ooyala video player. Not only do you increase your content offering, but this will allow you to take direct advantage of Ooyala's Actionable Analytics, giving you unparalleled insight into your viewer engagement.

Consider the following situation, you already have an existing YouTube library of content or you've found the next latest viral hit and you want to grab a copy to include in your video library. This workflow is seamless, and can be easily achieved by selecting Add New Content and choosing YouTube from the menu. Ooyala's YouTube integration will allow you to either paste in the URL to the selected YouTube video or search the YouTube library directly.

Publishing content to YouTube is just as easy. Through Ooyala's external publishing features you can simply add YouTube as a publishing destination, enter your username and password, and select the content you want to keep synchronised with YouTube. See the screenshot below.

A complete circle, being able to pull content from YouTube, and publish/synchronise your Ooyala library with your YouTube accounts.

http://canexback.com/

zp8497586rq
Jan 17 / Andrew Spaulding

Ooyala Direct upload, Federer and Nadal play Ping Pong Tennis

Yesterday I attended the Rally for Relief at Rod Laver Arena in support of the flood victims in Queensland, Australia. Tennis pro's, corporate sponsors and those in the crowd managed to raise over $1.8M and counting, and will be matched by Queensland Energy Resources including any additional funds raised throughout the remainder of the Australian Open. If you'd like to donate you can participate at the official Rally for Relief website.

During the final session of the afternoon Roger Federer, Rafael Nadal, Kim Clijsters and local Sam Stosur teamed up for some mixed doubles, followed by the men vs the ladies in some “ping pong tennis”, where they alternate shots between them.

Visit the ATP World Tour site for a full write up on the tennis stars, the fun, and the funds raised! It was lots of fun! :-)

The video was recorded using my iPhone 4, edited using iMovie for iPhone to compress the file to 360p (original source was 720p), and finally uploaded using Ooyala Direct, the mobile publishing application for Apple's iOS platform. This is the ultimate mobile capture and publish workflow for any field reporter.

HTTP://WWW.CANEXBACK.COM/
zp8497586rq