Skip to content

Footage source

FootageSource

The FootageSource object holds information describing the source of some footage. It is used as the main_source of a FootageItem object, or the proxy_source of a CompItem object or FootageItem.

See: https://ae-scripting.docsforadobe.dev/sources/footagesource/

Attributes

alpha_mode

alpha_mode = enum(AlphaMode, '_sspc', 'alpha_mode_raw')

Defines how the alpha information in the footage is interpreted. If has_alpha is False, this attribute has no relevant meaning. Read / Write.

conform_frame_rate

conform_frame_rate = ChunkField[float](
    "_sspc",
    "conform_frame_rate",
    validate=_validate_number(min=0.0, max=999.0),
)

A frame rate to use instead of the native_frame_rate value. If set to 0, the native_frame_rate is used instead. Read / Write.

display_frame_rate

display_frame_rate = ChunkField[float](
    "_sspc", "display_frame_rate", read_only=True
)

The effective frame rate as displayed and rendered in compositions. If remove_pulldown is active, the rate is multiplied by 0.8. Read-only.

field_separation_type

field_separation_type = enum(
    FieldSeparationType, "_sspc", "field_separation_type"
)

How the fields are to be separated in non-still footage. Read / Write.

has_alpha

has_alpha = ChunkField[bool](
    "_sspc", "has_alpha", read_only=True
)

When True, the footage has an alpha component. In this case, the attributes alpha_mode, invert_alpha, and premultiplied have valid values. When False, those attributes have no relevant meaning for the footage. Read-only.

high_quality_field_separation

high_quality_field_separation = bool(
    "_sspc",
    "high_quality_field_separation",
    transform=lambda v: v % 2 != 0,
    reverse=int,
)

When True, After Effects uses special algorithms to determine how to perform high-quality field separation. Read / Write.

interpret_as_linear_light

interpret_as_linear_light = enum(
    LinearLightMode, "_linl", "value", default=OFF
)

The Interpret As Linear Light setting from the Interpret Footage > Color Management tab. Read / Write.

Note

Not exposed in ExtendScript.

invert_alpha

invert_alpha = bool('_sspc', 'invert_alpha')

When True, an alpha channel in a footage clip or proxy should be inverted. This attribute is valid only if an alpha is present. If has_alpha is False, or if alpha_mode is AlphaMode.IGNORE, this attribute is ignored. Read / Write.

is_still

is_still: bool

When True the footage is still; When False, it has a time-based component. Read-only.

loop

loop = ChunkField[int](
    "_sspc",
    "loop",
    validate=_validate_number(
        min=1, max=9999, integer=True
    ),
)

The number of times that the footage is to be played consecutively when used in a composition. Read / Write.

media_color_space

media_color_space: str

The media color space from the Interpret Footage > Color Management tab. Read / Write.

Returns "Embedded", "Working Color Space", the name of an assigned OCIO color space, or the name of an Adobe ICC profile (e.g. "Apple RGB"). As with working_space, an assigned OCIO space reads back as AE's stored colorProfileName: "<family>/<name>" for a direct color-space pick (e.g. "ACES/ACES - ACEScg"), or the target name for a role/alias pick.

Writable: "Working Color Space", "Embedded", an Adobe ICC profile name, or - in OCIO mode - any color space, role, alias or display/view pair of the project's OCIO configuration (the "<family>/<name>" form this getter returns is accepted too). The config must be resolvable, since the envelope AE writes depends on which kind the name is. An Adobe profile is identified by its 16-byte ID and its ICC bytes are discovered on disk (ColorProfileNotFoundError if not installed).

Note

Assigning back what this getter returns is lossy for a ROLE pick. AE stores the role's TARGET, not the role, and many roles can share one target (ACES 1.2 points rendering, scene_linear and compositing_linear all at ACES - ACEScg), so which role was chosen is not recoverable from the file. Re-assigning the target name records a direct color-space pick instead - the same color transform, different bytes. Pass the role name (e.g. "matte_paint") to write a role pick.

Note

Not exposed in ExtendScript.

native_frame_rate

native_frame_rate = ChunkField[float](
    "_sspc", "native_frame_rate", read_only=True
)

The native frame rate of the footage. Read-only.

premul_color

premul_color = ChunkField[List[float]](
    "_sspc", "premul_color", validate=validate_rgb_color
)

The color to be premultiplied. This attribute is valid only if the alpha_mode is AlphaMode.PREMULTIPLIED. Read / Write.

preserve_rgb

preserve_rgb: bool

When True, the footage Preserve RGB setting is enabled. From the Interpret Footage > Color Management tab. Read / Write.

Note

Not exposed in ExtendScript.

remove_pulldown

remove_pulldown = enum(
    PulldownPhase,
    "_sspc",
    "remove_pulldown",
    post_set="_on_remove_pulldown_set",
)

Controls which pulldown phase to remove from the source footage. PulldownPhase.OFF by default. Read / Write.