impression logo

Impression Learning Content Framework

Support Article
Last modified: 14 August 2012

FLV Video Support

There is no explicit support for .FLV-format video files in Impression. This article discusses how you can use .FLV format video.

FLV content in the SWFVideoPlayer

Normally, .FLV format files are not supported by the SWFVideoPlayer.  However, it is possible to use .FLV content within an SWF video.  Each .FLV file must be imported into the SWF as an "embedded video", not as a MovieClip.  Video files imported as movieclips have independent timelines, and cannot be controlled using standard MovieClip (play, stop, gotoAndPlay, etc.) commands.

.FLV Files as General Assets

If you need to use .FLV files directly (and not imported/converted for use with the SWFVideoPlayer as described above), you can them in Impression runtimes with one of the following approaches:

As an asset in a TimeSequencer or CommandSequencer storyboard

Since display of content associated with sequencer storyboard types is the responsibility of the runtime engine developer, you can embed support for .FLV video types within the rendering code for the specific storyboard or command type.  To get SWFVideo-esque "stepped animation" support, you can use the Command Sequencer and store the reference to the .FLV file in a common field, and then store the step-specific data as individual commands.  The Time Sequencer storyboard type editor can also be used for this; you can either use the TimeSequencer player itself to display step-specific data according to the time specified by the value of each command's position property, or you can use the position to indicate the cuepoint at which the specific data should be displayed.  If you are already using the time or command sequencer storyboard type for rendering other types of content that should not be mixed with .FLV file display, use the general storyboard configuration property, or create a single-select common property and use its value to determine which set of rendering code should be used for display.

The AudioSequencer storyboard type is not specifically recommended for use, but can be used if the circumstances warrant it.

As an asset in a Command storyboard or in a Storyboard Command object

As with the sequencer storyboards, you can use the Command storyboard type or a Storyboard Command object to store the reference to the .FLV file.  If using a Storyboard Command object, we recommend using a Placeholder storyboard with a placeholder type property value that indicates the storyboard should playback the .FLV file.

Since neither the Command storyboard type nor the Storyboard Command objects support ordered data collections of arbitrary size, you will not be able to store an unlimited amount of "stepped animation" type data in a single Command storyboard.  You can either add a limited number of fields that you don't expect to exceed (and adjust as necessary), or you can use Storyboard Command objects to store the step-specific data.

Embedded with an .FLV Playback component in a Flash .SWF object

The FlashObject storyboard type supports display of any arbitrary .SWF file.  You can create an .SWF object that contains nothing more than the .FLV file and an FLV playback component and simply display the .SWF.  If you need communication support with the video, you can add code to the .SWF object that provides bidirectional communication with the runtime engine (see the source code for the MyShell sample runtime and the Sample Flash Object for an example of this).  Stepped animation data can be supported with Storyboard Command objects attached to the Flash Object storyboard.

Directly referenced in a FlashObject or other storyboard

Although you will need to replace the default FlashObjectPlayer storyboard with your own code, you can directly place the reference to the .FLV file in the storyboard data.  This can be done for any storyboard type that you wish to include .FLV support for, including questions, titles, and placeholder storyboards.