Brightcove Videos in Second Life

Written by Bob de Wit. Posted in Brightcove, Developer Blog, Flash

The new Second Life Viewer 2 Beta finally allows integrating Flash-based apps onto Second Life prims (SL lingo for 3D primitives, such as cubes, etc) as textures through a feature called Media Sharing (nothing to do with Brightcove Enterprise Edition Media Sharing). The nice thing about this is that every visitor will be able to stream individual videos, as opposed to the version 1 viewer that could only set a QuickTime Progressive Download url for all residents in a Second Life location. Here’s a sample prim textured with a player and  some navigation prims that would make sense in a 3D environment.

Using Adobe Speech Search Cue Points in a Brightcove Player

Written by Bob de Wit. Posted in ActionScript, Brightcove, Developer Blog, Flex

Adobe Speech Search is a function available in Adobe Premiere and SoundBooth CS4 that allows you to automatically transcribe spoken text in a video clip. The metadata can be incorporated into the video file as cue points, or can be exported to an XML file. The latter gives us some interesting possibilities for playback and navigation within a Brightcove Player.

Creating a Visible Brightcove Plugin

Written by Bob de Wit. Posted in ActionScript, Brightcove, Developer Blog

  The easiest way for a user to install a Brightcove plugin is through the player property window in Brightcove studio in stead of having to create a BEML template that loads the external swf. By default, this plugin interface is intended for invisible add-ons, such as an analytics connector. However, it is possible to surface plugins added in this way by getting a reference to the player’s Stage. This article provides a sample player with a visible plugin added in this way as well as some sample code.

Multilingual Subtitling Using BEML & External Subtitle Files

Written by Bob de Wit. Posted in ActionScript, Brightcove, Developer Blog

In some cases, you may need to display subtitles in more than one language, or in different notations – but not necessarily for the entire video. The music video above illustrates this case: it sometimes has three subtitle text channels: Japanese Kanji, Romaji Transcription, and an English translation, but some of the song’s lines are only in English. In such situations, I believe it’s more efficient to use time codes and external subtitle text files than cue points, and to “compose” a joint subtitle text file server-side. This BEML player uses a plugin that checks for external .srt file(s) for a video being loaded. As the .srt is a format that can be extracted from DVDs easily, it requires very little configuration other than a base URL and a file naming convention for the subtitles to be pulled in.
 

Calling JavaScript from a BEML Plugin

Written by Bob de Wit. Posted in Brightcove, Developer Blog, Flex

This article will show you how to call an external JavaScript function from a BEML plugin loaded into a Brightcove player. There are two parts to making this work: first, we need to create a BEML plugin, I’ve done this in Flex, and provided the framework for you to integrate any business logic you may want to trigger the JavaScript call by getting the references to the Brightcove Player.

Using Secured SWFs as BEML Widgets

Written by Bob de Wit. Posted in .NET, ActionScript, Brightcove, Developer Blog, Flash, Flex, PEAR, PHP

This article describes how you can use SWF files as widgets in BEML that have been protected by utilities that prevent decompilation. Before we start, just a couple of things I’d like to point out:
  • This article is NOT a review of the effectiveness of SWF Protection tools, there are plenty of (endless) discussions on that topic on specialized forums.
  • This approach is NOT my recommended one for creating User Generated Content upload widgets. I still believe using a secured mid-tier upload server is a better model. Event with a protected SWF, a proxy tool like Charles or WireShark will give a hacker all the information he needs to get your token if you do not protect your sensitive Widget/Server communications.

A few things to iron out, but…

Written by Bob de Wit. Posted in Brightcove, Developer Blog, Flex

Check this out: a progressive download video in a 3D environment, using Flash 10 and the Away3D library. The video player is wrapped as a surface texture on a cube and can be rotated real-time. The hickups in the video occur because this video is served from my own Apache webserver, not as a Brightcove stream, as the MovieClip is not a surfaced property….

A BEML Player with a Movie Rating Widget

Written by Bob de Wit. Posted in Brightcove, Developer Blog, Flex

This example Brightcove Player is a BEML template in which I’ve inserted a Flex widget to add behavior to support parental control. It addresses several things:
  • How to take control over the video player to insert the control behavior
  • How to alternate between the video player and widget display
  • How to use video asset tags to set up the video rating
  • How to handle “burned in” rating messages
Working demo here