Search
Start typing to search...

Using an Image Sequence As a Video

Author:

Performance

First of all, it’s important to note that not every image sequence can be played realtime. If the images are large or cannot be decompressed quickly the playback will stutter.

However, these sequences still can be used in offline rendering. Also if the whole sequence fits into the video memory it can be preloaded entirely to provide realtime playback.

Basic usage

Create a subdirectory and put the numbered images into it. In the numbering, any number of digits can be used for e.g. something_001.jpg, something_002.jpg, ….

Add a Video Player module to your compound. Set its Default Frame Rate property to the framerate you want the images played with. Then in the Video File property select the first image in the sequence. That’s it. Though this is a simple method it does not provide further control over the sequence.

Using a descriptor file

You can create a descriptor file with ximgseq extension where the filename is identical to the subfolder’s name in which the sequence is stored. The file must be placed beside the subfolder (not within it). For e.g. if the subfolder is called something the descriptor file must be named something.ximgseq.

Alternatively you can enumerate the paths of the image files explicitly, in this case you can place them anywhere. This is escpecially useful if you want to create a slideshow from a bunch  of arbitrarily named image files. See below. Also please check the [Common]:Compounds\Utilities\Slideshow.xcomp compound that is a possible implementation of slideshow functionality with texts coming from metadata.

The descriptor file then can be used in Aximmetry just like if it were a video file.

The file can contain the following parameters:

  • FrameRate n - use this framerate for playback, for e.g FrameRate 23.976
  • FramesPerSecond n - same as FrameRate
  • Interlaced - the sequence contains interlaced images. For e.g. FrameRate 25 Interlaced is played back as a 50i video.
  • Precache - load the entire sequence into the video memory to ensure realtime playback
  • Split columns rows - the sequence is provided as a single image in which the frames are arranged into the specified number of columns and rows, for e.g. Split 16 8. In this case, no subfolder is needed, the single image has to be placed beside the descriptor file with the same name, for e.g. something.png.
  • Files - in the subsequent lines you enumerate the paths to individual image files explicitly, one line for each image. The paths can be absolute or relative to the descripor file. Within this section you can insert the following special lines:
    • $Subseq listfile path - insert a sublist of image paths from an external file. It is recursive: the external file also can contains $Subseq instructions, thus you can build a hierarchical list structure.
    • $Meta "ID" "value" - adds metadata to the previously specified image in the list. This way you can attach individual data to each image in the sequence, e.g. description text for the slideshow. It can be accessed through the Metadata output pin of the Video Player module, you can use the Collection XXXX modules to access the individual data items by ID.

Frame Blending

Video Player can blend between two frames if slowed down playback is needed. However it’s a simple crossfade, so not every video content looks good with this feature. To use it turn on Frame Blending.

Creating a slideshow

If Frame Blending is on and the playback is slowed down, you can use Frame Blend Width to control the percentage of the whole frame interval when the crossfading takes place. Thus you can achieve that each image is showed for a time and then quickly crossfades into the next.

Article content

Close
1/10