Flash Player 6, the version that brought CWS, also brought video inside the movie. A video is a character defined by DefineVideoStream, whose frames come one at a time in VideoFrame tags on the timeline; PlaceObject2’s Ratio says which frame to show. The explorer lists these tags and their fields but does not decode or draw the video.
DefineVideoStream (60)
| Type | Name | Description |
|---|---|---|
| UI16 | CharacterID | The character ID |
| UI16 | NumFrames | The number of video frames |
| UI16 | Width | In pixels |
| UI16 | Height | In pixels |
| UB[4] | VideoFlagsReserved | 0 |
| UB[3] | VideoFlagsDeblocking | 0 use the video packet’s setting, 1 off, 2 level 1, 3 level 2, 4 level 3, 5 level 4 (the levels above 2 are for VP6) |
| UB[1] | VideoFlagsSmoothing | Smooth the picture when it is scaled |
| UI8 | CodecID | The codec: table below |
| CodecID | Codec | From SWF |
|---|---|---|
| 2 | Sorenson H.263 | 6 |
| 3 | Screen video | 7 |
| 4 | On2 VP6 | 8 |
| 5 | On2 VP6 with alpha | 8 |
| 6 | Screen video version 2 | 9 |
VideoFrame (61)
| Type | Name | Description |
|---|---|---|
| UI16 | StreamID | The DefineVideoStream this frame belongs to |
| UI16 | FrameNum | The frame’s number |
| bytes | VideoData | The codec’s packet, to the end of the tag: H263VIDEOPACKET, SCREENVIDEOPACKET, VP6SWFVIDEOPACKET, VP6SWFALPHAVIDEOPACKET or SCREENV2VIDEOPACKET |
H.264 video plays only from external FLV, F4V or MP4 files, not from SWF tags; no codec 7 is defined in the SWF 19 specification as read here (not confirmed from its text).