3 Replies Latest reply on Jun 19, 2015 3:10 PM by AdamPWSmith

    Getting the time and current frame of a movie in a container field

    AdamPWSmith

      Title

      Getting the time and current frame of a movie in a container field

      Post

           (My first post to this forum - if I've misplaced this question please let me know and I'll happily move to a more appropriate folder.)

            

           I'm trying to build a database that I can use to log video footage. I've a system that seems to be working for me so far, but there's a couple of tools that would be extremely useful to me and I can't find any way to make them happen.

            

           Attached is an image of what it looks like at the moment.


            

            
            
           I've got one entry for each film clip. I can name it, give it tags for people who appear in the clear or themes, make some notes about the type of shot and location, etc. 
            
           One of the key features is the portal on the right. I go through each clip, stop at significant moments, take a frame grab, and post it in a related table table that has the frame, the time, and a short description.

           At the moment I'm taking the frame grabs manually using Command-Shift-Control-4, area select, click, and then pasting that into the small container field. Then I manually enter the time and the optional description.

           What I really want is a function or plug in that lets me pause the video, press a button, and be able to get the current time of a movie in a container field, and capture the current frame.

           The Troi plug-in can get timecode but only from an external file and it needs to be proper timecode format, which is not part of DSLR footage. And it can't get the image of a specific frame.

           Is there any way to do this?
            
           Thanks
           Adam

      film_log_database.jpg

        • 1. Re: Getting the time and current frame of a movie in a container field
          StephanKuslich

          I really want this feature too. I also want to draw markups on the movie too.

           

          • 2. Re: Getting the time and current frame of a movie in a container field
            StephanKuslich

            Time code values are typically formatted as HH:MM:SS:FF, where HH is hours, MM is minutes, SS is seconds, and FF is frames.  There are typically 30 frames per second.  Starting with a Sound Track time code value the problem is to have FileMaker calculate the correct time code value for a camera based upon their start codes and the new Sound Track time code then format the result to show as a time code.

            The technique described below requires that data be input in the specific format of HH:MM:SS:FF with leading zeros for all time code fields.  One hour, five minutes, 12 seconds and 3 frames must be input as 01:05:12:03 in order to properly calculate the new time code.

            In this example, the field names (defined later) will represent the following:

            ST:    Sound Track (start time code)
            STEncode:    Sound Track Encode (numeric value equal to the time code in frames)
            STINC:    Sound Track Increment (new Sound Track time code)
            STINCEncode:    Sound Track Increment Encode (numeric value equal to the time code in frames)
            FrameIncr:    Frame Increment
            C1:    Camera One (start time code)
            C1Encode:    Camera One Encode (numeric value equal to the time code in frames)
            C1LocEncode:     Camera One Location Encode (numeric value equal to the time code in frames)
            C1Loc:    Camera One Location (new time code for camera one)

            Create the following fields, in the order shown:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                           

             Field Name

                           
                           

             Type Type

                           
                           

             Option

                           
            STText 
            STEncodeCalculation, Number result(Left (ST, 2) * 108000) + (Middle (ST, 4, 2) * 1800) + (Middle (ST, 7, 2) * 30) + Right (ST, 2)
            STINCText 
            STINCEncodeCalculation, Number result(Left (STINC, 2) * 108000) + (Middle (STINC, 4, 2) * 1800) + (Middle (STINC, 7, 2) * 30) + Right (STINC, 2)
            FrameIncrCalculation, Number resultSTINCEncode - STEncode
            C1Text 
            C1EncodeCalculation, Number result(Left (C1, 2) * 108000) + (Middle (C1, 4, 2) * 1800) + (Middle (C1, 7, 2) * 30) + Right (C1, 2)
            C1LocEncodeCalculation, Number resultC1Encode + FrameIncr
            C1LocCalculation, Text ResultRight ("0" & GetAsText (Int (C1LocEncode / 108000)); 2) & ":" & Right ("0" & GetAsText (Int (Mod (C1LocEncode; 108000) / 1800)); 2) & ":" & Right ("0" & GetAsText (Int (Mod (Mod (C1LocEncode; 108000); 1800) / 30)); 2) & ":" & Right ("0" & GetAsText (Int (Mod (Mod (Mod (C1LocEncode; 108000);1800); 30))); 2)

            The calculations for C1, C1Encode, C1LocEncode, and C1Loc can be applied to as many additional time codes as are needed by duplicating the fields and changing the field names to C2, C2Encode, C2LocEncode, etc., or the names of your choice.

            Here is how you do it... 

             

            • 3. Re: Getting the time and current frame of a movie in a container field
              AdamPWSmith

              Thank for that Stephan, but it doesn't explain how to get that number from a playing or pause movie that's in a container.

              Also... film is sometimes 30 fps, but it is often at 24 (or 23.97) fps.

              Cheers

              Adam