Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Apple Final Cut Pro Legacy Tracking down timecode from exported stills

  • Tracking down timecode from exported stills

    Posted by Brent Hannigan on December 2, 2010 at 1:22 am

    Here’s a good one. Is it possible to find out the original timecode of a still frame exported as a TIFF out of Final Cut? I had someone export a bunch of stills with the understanding that they would hit the marker key each time they exported a still so I would always know where they came from. They didn’t do it and we need to track down the exact frame where the stills came from. Is it possible???

    Thanks

    Final Cut Studio 3 Editor
    Chicago

    Brent Hannigan replied 15 years, 5 months ago 6 Members · 7 Replies
  • 7 Replies
  • Steve Eisen

    December 2, 2010 at 1:51 am

    If you do not rename the still frame, the timecode is part of the default name. Shift N export using QuickTime Conversion/still.

    Steve Eisen
    Eisen Video Productions
    Vice President
    Chicago Final Cut Pro Users Group

  • Michael Gissing

    December 2, 2010 at 1:54 am

    Never heard of tiff embedding source timecode. I know metadata can be stored with a variety of stills formats but usually that is via a proprietary RAW format.

    You could try opening the stills in Canon software and see if there is any useful metatdata. I am not familiar with other software like Photoshop to read such metadata. As you would be relying on FCP and quicktime conversion to stamp any metadata, perhaps you should do a test.

  • Rafael Amador

    December 2, 2010 at 9:21 am

    TC on stills makes no sense.
    However to manage stills, FC assign a TC to the stills as its does to any other element that you import (audio included).
    This enlightening tutorial explain many interesting things about those issues:

    https://library.creativecow.net/lyon_matt/fixing-fcp-assets/1

    rafael

    http://www.nagavideo.com

  • Andrew Rendell

    December 2, 2010 at 12:58 pm

    You could import the stills back into FCP, then have a sequence where you’ve got your original footage on video track 1, place the still on video track 2 and drop the opacity of it to 50%. Then if you scroll along the lineline there should be a frame where the double image disappears and that’s where the still came from. Rather you than me though, it’s going to take a while if you’ve got more than a couple of minutes of footage to go through.

  • David Heidelberger

    December 2, 2010 at 6:22 pm

    Hi Brent,

    If you have After Effects CS3 or later, there is a way to automate this using expressions. You need CS3 because it uses a command that wasn’t available before that version. The catch is that there’s a lengthy processing step involved (on my i7 Macbook Pro, it takes about 50 seconds for every 30 seconds of footage it had to search). But if you’re still interested, read on:

  • In After Effects, bring in your still and a Quicktime movie of the entire sequence.
  • Drop the Quicktime movie into a new comp.
  • Drop the still on top of the Quicktime movie, making sure that its duration is the entire length of the comp.
  • Right click on the still image and set its blending mode to Difference. This subtracts one image from the other. If the two images are the same, it will create a black image. If they’re different, it will create an image that’s not black. We’ll leverage this a little later.
  • Highlight both layers and Precomp them (Layer Menu>Precompose). Just click OK on the dialogue box that comes up.
  • Now, you should have a comp that just has the nested precomp. First, we need to add an effect to this precomp.
  • With the precomp highlighted, go to Effect>Stylize>Mosaic
  • In the effect controls palette, set the number of horizontal and vertical blocks to 1. What you’re essentially doing is taking the average color of the frame (which for every frame except your match should be something other than black).
  • Now, with the layer still highlighted, go to Effect>Expression Controls>Slider Control
  • In the comp timeline, twirl down the layer controls until you can see the slider control. This is very important, you need to highlight it and press enter to rename it. You must rename it to ColorValue (capitalization matters), otherwise things won’t work.
  • Now, twirl down your ColorValue effect so that you can see the stopwatch, Option-click on the stopwatch to create an expression for this effect. Then paste the following into that expression:

  • avgColor = sampleImage([0,0], [.5,.5] , postEffect = true);
    avgBright = rgbToHsl(avgColor)[2];
    avgBright;

    After Effects is looking at the color of the top left pixel (doesn’t matter which one since they’re all the same now), and getting the brightness of that pixel (a number between 0 and 1) and assigning the slider to be that value. For the frame that matches your still, the slider should be at or very near 0. Now we just need to automate the search for that frame.

  • The first step towards that is to highlight the slider in the ColorValue effect and go to Animation>Keyframe Assistant>Convert Expression to Keyframes. This is the step that will take a long time, and unfortunately, After Effects will stop doing the step if you navigate away from the app. So you just need to wait. In the Info palette, there should be a little status update that says “Evaluating frame xxxx of xxxx” so you can know what sort of progress you’re making. This conversion to keyframes step is necessary because if you just used the expression in the next step, it would take so long to process that After Effects will think your expression has frozen and disable it. Convert to Keyframes works around that issue.
  • When the keyframe conversion is done, highlight your layer once again and add another slider by going to Effect>Expression Controls>Slider Control. Add the following expression:

  • minColor = 1;
    myFrame = 0;
    for (i = 0; i <= thisComp.duration; i+=thisComp.frameDuration)
    {
    avgBright = effect("ColorValue")("Slider").valueAtTime(i);
    if (avgBright < minColor)
    {
    myFrame = timeToFrames(t = i - thisLayer.startTime, fps = 1.0 / thisComp.frameDuration, isDuration = false);
    minColor = avgBright;
    }
    }
    myFrame;

  • That’s it. When you click somewhere outside of the expression, a number should show up very quickly in the slider. That should be the frame number of your freeze frame.
  • Unfortunately, you’ll have to repeat all of these steps for each of your stills. It’s also worth noting that if you know approximately where your still is from, you can trim the precomp layer to just that area before doing the convert to keyframes step. Then it will only evaluate that area. Everything else should still all work and give you the appropriate frame number.

    Hope that’s helpful,
    – David

  • Rafael Amador

    December 2, 2010 at 9:55 pm

    [David Heidelberger] “Hope that’s helpful,- David”
    no much on a Final Cut forum, I think.
    Anyway, your good intentions are appreciated.
    Cheers,
    rafael

    http://www.nagavideo.com

  • Brent Hannigan

    December 4, 2010 at 4:23 am

    Thank you for all the intelligent responses to this question.

    Final Cut Studio 3 Editor
    Chicago

  • We use anonymous cookies to give you the best experience we can.
    Our Privacy policy | GDPR Policy