• Embedding frame ranges into Quicktime movies with FFmpeg

    ,

    QuickTime (.mov) files are fundamentally time-based, not frame-based, and so don’t have a built-in, uniform “first frame/last frame” field you can set as numeric frame IDs. Instead, tools like Shotgun Create rely on the timecode track and the movie’s duration to infer frame numbers. If you want Shotgun to pick up a non-default frame range (e.g. start at 1001, end at 1064), you must bake in an SMPTE timecode that corresponds to your desired start frame, and ensure the movie’s duration matches your clip length.

    How Shotgun Reads Frame Ranges

    • Default start frame is 1. If no timecode metadata is present, Shotgun assumes the movie begins at frame 1.
    • Timecode ⇒ frame number. Shotgun Create “honors the timecodes of media sources,” mapping the embedded TC to frame IDs. For example, a 24 fps QuickTime tagged with a start timecode of 00:00:41:17 will be interpreted as beginning on frame 1001 (1001 ÷ 24 fps ≈ 41.71 s).

    Embedding a Start Timecode

    QuickTime uses a tmcd (timecode) track. You can bake in an SMPTE track via FFmpeg’s -timecode flag or via Compressor/encoder settings:

    1. Compute your start TC.
      • Desired start frame = 1001
      • Frame 1001 at 24 fps ⇒ 1001 ÷ 24 ≈ 41.708 s ⇒ TC 00:00:41:17
    2. FFmpeg example:
    ffmpeg -i input.mov \
      -c copy \
      -timecode 00:00:41:17 \
      output.mov
    

    This adds a timecode track beginning at 00:00:41:17, which Shotgun maps to frame 1001.

    Ensuring the Correct End Frame

    Shotgun infers the last frame from the movie’s duration. To end on frame 1064:

    • Frame count = 1064 – 1001 + 1 = 64 frames
    • Duration = 64 ÷ 24 fps ≈ 2.667 s

    FFmpeg trim example:

    ffmpeg -i input.mov \
      -c copy \
      -timecode 00:00:41:17 \
      -t 00:00:02.667 \
      output_trimmed.mov
    

    This results in a 64-frame clip (1001→1064) at 24 fps.

  • Image rendering bit depth

    ,

    The terms 8-bit, 16-bit, 16-bit float, and 32-bit refer to different data formats used to store and represent image information, as bits per pixel.

    https://en.wikipedia.org/wiki/Color_depth

    In color technology, color depth also known as bit depth, is either the number of bits used to indicate the color of a single pixel, OR the number of bits used for each color component of a single pixel.

    When referring to a pixel, the concept can be defined as bits per pixel (bpp).

    When referring to a color component, the concept can be defined as bits per component, bits per channel, bits per color (all three abbreviated bpc), and also bits per pixel component, bits per color channel or bits per sample (bps). Modern standards tend to use bits per component, but historical lower-depth systems used bits per pixel more often.

    Color depth is only one aspect of color representation, expressing the precision with which the amount of each primary can be expressed; the other aspect is how broad a range of colors can be expressed (the gamut). The definition of both color precision and gamut is accomplished with a color encoding specification which assigns a digital code value to a location in a color space.

     

    (more…)