• 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.

  • Scene Referred vs Display Referred color workflows

    , ,

    Display Referred it is tied to the target hardware, as such it bakes color requirements into every type of media output request.

    Scene Referred uses a common unified wide gamut and targeting audience through CDL and DI libraries instead.
    So that color information stays untouched and only “transformed” as/when needed.

     

     

    Sources:
    – Victor Perez – Color Management Fundamentals & ACES Workflows in Nuke
    – https://z-fx.nl/ColorspACES.pdf
    – Wicus

     

  • sRGB vs REC709 – An introduction and FFmpeg implementations

    ,

    1. Basic Comparison

    • What they are
      • sRGB: A standard “web”/computer-display RGB color space defined by IEC 61966-2-1. It’s used for most monitors, cameras, printers, and the vast majority of images on the Internet.
      • Rec. 709: An HD-video color space defined by ITU-R BT.709. It’s the go-to standard for HDTV broadcasts, Blu-ray discs, and professional video pipelines.
    • Why they exist
      • sRGB: Ensures consistent colors across different consumer devices (PCs, phones, webcams).
      • Rec. 709: Ensures consistent colors across video production and playback chains (cameras → editing → broadcast → TV).
    • What you’ll see
      • On your desktop or phone, images tagged sRGB will look “right” without extra tweaking.
      • On an HDTV or video-editing timeline, footage tagged Rec. 709 will display accurate contrast and hue on broadcast-grade monitors.

    2. Digging Deeper

    FeaturesRGBRec. 709
    White pointD65 (6504 K), same for bothD65 (6504 K)
    Primaries (x,y)R: (0.640, 0.330) G: (0.300, 0.600) B: (0.150, 0.060)R: (0.640, 0.330) G: (0.300, 0.600) B: (0.150, 0.060)
    Gamut sizeIdentical triangle on CIE 1931 chartIdentical to sRGB
    Gamma / transferPiecewise curve: approximate 2.2 with linear toePure power-law γ≈2.4 (often approximated as 2.2 in practice)
    Matrix coefficientsN/A (pure RGB usage)Y = 0.2126 R + 0.7152 G + 0.0722 B (Rec. 709 matrix)
    Typical bit-depth8-bit/channel (with 16-bit variants)8-bit/channel (10-bit for professional video)
    Usage metadataTagged as “sRGB” in image files (PNG, JPEG, etc.)Tagged as “bt709” in video containers (MP4, MOV)
    Color rangeFull-range RGB (0–255)Studio-range Y′CbCr (Y′ [16–235], Cb/Cr [16–240])


    Why the Small Differences Matter

    (more…)