user: What is Footage and how is it used in Blender Python scripting?

assistant: ### Proxy/Timecode

[image reference removed]

High-resolution video files can impact Blender’s performance, slowing down scrubbing and other operations.
To counter this, you can generate one or more proxies, which are copies of the original footage
stored at a lower resolution and/or quality. These proxies can then be used as a less resource-heavy
stand-in while working on the scene.

Build Original
:   The proxy resolution(s) to generate based on the original, distorted footage.

Build Undistorted
:   The proxy resolution(s) to generate based on the undistorted footage
    (that is, with the [Lens settings](../../movie_clip/tracking/clip/sidebar/track/camera.html#motion-tracking-camera-lens) applied
    to undo the distortion in the recording).

Quality
:   Controls the level of lossy compression applied to the image, expressed as a percentage.
    Lossy compression reduces file size by discarding some image data, which may result in a loss of detail.

    - **0%**: Maximum compression, producing the smallest file size but the most noticeable quality loss.
    - **100%**: No compression, preserving full image quality at the cost of a larger file size.

Proxy Custom Directory
:   By default, proxies are stored to a `BL_proxy` subfolder next to the original file.
    Use this option to specify a different location.

Build Proxy/Timecode
:   Generates proxies based on the settings above, as well as timecode files.
    Instead of using this button, you can also click
    Clip ‣ Proxy ‣ Rebuild Proxy and Timecode Indices.

[Timecode](../../glossary/index.html#term-Timecode) Index
:   When you are working with footage directly copied from a camera without preprocessing it,
    there might be numerous artifacts, mostly due to seeking to a given frame in the sequence.
    This happens because such footage usually does not have correct frame rate values in the file header.
    This issue can still arise when the source clip has the same frame rate as the scene settings.
    In order for Blender to correctly calculate the frames and frame rate there are two possible solutions:

    1. Preprocess your video with e.g. MEncoder to repair the file header and insert the correct keyframes.
    2. Use the Timecode Index option in Blender.

    None:
    :   Ignore generated timecodes, seek in movie stream based on calculated timestamp.

    Record Run:
    :   Seek based on timestamps read from movie stream, giving the best match between scene and movie times.

    Record Run No Gaps:
    :   Effectively convert movie to an image sequence,
        ignoring incomplete or dropped frames, and changes in frame rate.

Proxy Render Size
:   Which proxy size to use for display. Depending on the
    [Render Undistorted](display/clip_display.html#bpy-types-movieclipuser-use-render-undistorted) setting,
    Blender will use either the Original proxy or the Undistorted proxy.

### Footage Settings

See [Image Settings](../image/image_settings.html).

### Animation

Controls animation data for movie clip properties, including active [Actions](../../animation/actions.html)
and their assigned [Slot](../../animation/actions.html#animation-actions-slots).

See [Manually Assigning Actions and Slots](../../animation/actions.html#animation-actions-slots-manual-assign) for more information.