Understanding video formats



In addition to the Adobe FLV video format, Flash Player and Adobe AIR support video and audio encoded in H.264 and HE-AAC from within MPEG-4 standard file formats. These formats stream high quality video at lower bit rates. Developers can leverage industry standard tools, including Adobe Premiere Pro and Adobe After Effects, to create and deliver compelling video content.

Type

Format

Container

Video

H.264

MPEG-4: MP4, M4V, F4V, 3GPP

Video

FLV file

Sorenson Spark

Video

FLV file

ON2 VP6

Audio

AAC+ / HE-AAC / AAC v1 / AAC v2

MPEG-4:MP4, M4V, F4V, 3GPP

Audio

Mp3

Mp3

Audio

Nellymoser

FLV file

Audio

Speex

FLV file

Flash Player and AIR compatibility with encoded video files

Flash Player 7 supports FLV files that are encoded with the Sorenson™ Spark™ video codec. Flash Player 8 supports FLV files encoded with Sorenson Spark or On2 VP6 encoder in Flash Professional 8. The On2 VP6 video codec supports an alpha channel.

Flash Player 9.0.115.0 and later versions support files derived from the standard MPEG-4 container format. These files include F4V, MP4, M4A, MOV, MP4V, 3GP, and 3G2, if they contain H.264 video or HE-AAC v2 encoded audio, or both. H.264 delivers higher quality video at lower bit rates when compared to the same encoding profile in Sorenson or On2. HE-AAC v2 is an extension of AAC, a standard audio format defined in the MPEG-4 video standard. HE-AAC v2 uses spectral band replication (SBR) and parametric stereo (PS) techniques to increase coding efficiency at low bit rates.

The following table lists the supported codecs. It also shows the corresponding SWF file format and the versions of Flash Player and AIR that are required to play them:

Codec

SWF file format version (earliest supported publish version)

Flash Player and AIR (earliest version required for playback)

Sorenson Spark

6

Flash Player 6, Flash Lite 3

On2 VP6

6

Flash Player 8, Flash Lite 3.

Only Flash Player 8 and later versions support publish and playback of On2 VP6 video.

H.264 (MPEG-4 Part 10)

9

Flash Player 9 Update 3, AIR 1.0

ADPCM

6

Flash Player 6, Flash Lite 3

Mp3

6

Flash Player 6, Flash Lite 3

AAC (MPEG-4 Part 3)

9

Flash Player 9 Update 3, AIR 1.0

Speex (audio)

10

Flash Player 10, AIR 1.5

Nellymoser

6

Flash Player 6

Understanding the Adobe F4V and FLV video file formats

Adobe provides the F4V and FLV video file formats for streaming content to Flash Player and AIR. For a complete description of these video file formats, see www.adobe.com/go/video_file_format.

The F4V video file format

Beginning with Flash Player Update 3 (9.0.115.0) and AIR 1.0, Flash Player and AIR support the Adobe F4V video format, which is based on the ISO MP4 format, Subsets of the format support different features. Flash Player expects a valid F4V file to begin with one of the following top-level boxes:
  • ftyp

    The ftyp box identifies the features that a program must support to play a particular file format.

  • moov

    The moov box is effectively the header of an F4V file. It contains one or more other boxes that in turn contain other boxes that define the structure of the F4V data. An F4V file must contain one and only one moov box.

  • mdat

    An mdat box contains the data payload for the F4V file. An FV file contains only one mdat box. A moov box also must be present in the file because the mdat box cannot be understood on its own.

F4V files support multibyte integers in big-endian byte order, in which the most significant byte occurs first, at the lowest address.

The FLV video file format

The Adobe FLV file format contains encoded audio and video data for delivery by Flash Player. You can use an encoder, such as Adobe Media Encoder or Sorenson™ Squeeze, to convert a QuickTime or Windows Media video file to an FLV file.

Note: You can create FLV files by importing video into Flash and exporting it as an FLV file. You can use the FLV Export plug-in to export FLV files from supported video-editing applications. To load FLV files from a web server, register the filename extension and MIME type with your web server. Check your web server documentation. The MIME type for FLV files is video/x-flv. For more information, see About configuring FLV files for hosting on a server.

For more information on FLV files, see Advanced topics for FLV files.

External vs embedded video

Using external video files provides certain capabilities that are not available when you use imported video:

  • Longer video clips can be used in your application without slowing down playback. External video files use cached memory, which means that large files are stored in small pieces and accessed dynamically. For this reason, external F4V and FLV files require less memory than embedded video files.

  • An external video file can have a different frame rate than the SWF file in which it plays. For example, you can set the SWF file frame rate to 30 frames per second (fps) and the video frame rate to 21 fps. This setting gives you better control of the video than embedded video, to ensure smooth video playback. It also allows you to play video files at different frame rates without the need to alter existing SWF file content.

  • With external video files, playback of the SWF content is not interrupted while the video file is loading. Imported video files can sometimes interrupt document playback to perform certain functions, such as accessing a CD-ROM drive. Video files can perform functions independently of the SWF content, without interrupting playback.

  • Captioning video content is easier with external FLV files because you can access the video metadata using event handlers.