Reading Timecode from a QT file?
Moderator: Paul Tuersley
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
Is it possible to read the TC from a QT that was captured in Final Cut Pro or elsewhere?
- redefinery
- Posts: 112
- Joined: April 1st, 2005, 8:16 pm
- Location: CA
- Contact:
Is this the Timecode track in a QuickTime movie or burned-in timecode? I'm not aware of anything available to do either via scripting.
Jeff
Jeff
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
I would like to read the Timecode track.redefinery wrote:Is this the Timecode track in a QuickTime movie or burned-in timecode? I'm not aware of anything available to do either via scripting.
Jeff
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
I don't think it is natively acesssible via scripting. An idea i've been playing with is to use the new Quicktime Metadata API
http://developer.apple.com/documentatio ... ion_9.html
to bake in the timecode from FCP xml and then deducing the timecode based on offset. It would need to work in consort with an external program, but it would be one way to approach the problem.
Has anybody had any successful experiments with calling external programs from within the scripting environments within AE7?
Dale Bradshaw
creative-workflow-hacks.com
http://developer.apple.com/documentatio ... ion_9.html
to bake in the timecode from FCP xml and then deducing the timecode based on offset. It would need to work in consort with an external program, but it would be one way to approach the problem.
Has anybody had any successful experiments with calling external programs from within the scripting environments within AE7?
Dale Bradshaw
creative-workflow-hacks.com
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
I found this little app on the apple website that i think will do what i want (the first half anyway):
http://developer.apple.com/samplecode/q ... ecode.html
but i can't get it to run under 10.4.5
from the readme file it seems that it extracts the TC from a QT file which i could then write a script that would place it in an AE comp with matching timecode, but since i can't get it to run i have hit a bit of a wall..
am i missing something here? any help with this will be greatly
appreciated
http://developer.apple.com/samplecode/q ... ecode.html
but i can't get it to run under 10.4.5
from the readme file it seems that it extracts the TC from a QT file which i could then write a script that would place it in an AE comp with matching timecode, but since i can't get it to run i have hit a bit of a wall..
am i missing something here? any help with this will be greatly
appreciated
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
Lloyd,
...I found this little app on the apple website
I don't think this app will help you unless you've somehow gotten FCP to write a timecode track that incorporates media in/media out from the source tape. When I look at the captured QT's from FCP the TC track is in relation to the media, not the source tape. What information are you hoping to extract?
I've been working on some database, metadata apps for Primal Screen to make the raw QT's more searchable and usable. Thinks like Job Numbers, color info, TC info etc. It would be great to query this data by gathering a query parameter in AE, send it to a command-line parser and get useful data back. I'm just getting started on my research though and I could be heading in the wrong direction so please correct me if you have better info.
Best,
Dale Bradshaw
creative-workflow-hacks
...I found this little app on the apple website
I don't think this app will help you unless you've somehow gotten FCP to write a timecode track that incorporates media in/media out from the source tape. When I look at the captured QT's from FCP the TC track is in relation to the media, not the source tape. What information are you hoping to extract?
I've been working on some database, metadata apps for Primal Screen to make the raw QT's more searchable and usable. Thinks like Job Numbers, color info, TC info etc. It would be great to query this data by gathering a query parameter in AE, send it to a command-line parser and get useful data back. I'm just getting started on my research though and I could be heading in the wrong direction so please correct me if you have better info.
Best,
Dale Bradshaw
creative-workflow-hacks
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
You are right, i would need the media in and out from the source tape, but this info is displayed within FCP, so it's being stored somewhere. I guess i just assumed it was being stored in the QT file, but maybe you are correct about that. hmmmm.. I honestly don't know why it's so hard to read TC within After Effects since it's something we work with every day.
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
Lloyd,
...so it's being stored somewhere
It's definitely in the xml representation of the project.
My idea is to set up a tool, "bake metadata" in FCP. It would gather the useful info from the project and place that info in each QT.
To do this you'd write a .bundle plugin and adhere to the PRODataInterchange cocoa protocol that FCP transmits. If anybody can help in the reverse engingeering of that protocol I'd love some insight, email me if you don't want to post publicly.
I realize i'm straying from the AE scripting realm so I'll just leave it at that.
best,
Dale Bradshaw
creative-workflow-hacks.com
...so it's being stored somewhere
It's definitely in the xml representation of the project.
My idea is to set up a tool, "bake metadata" in FCP. It would gather the useful info from the project and place that info in each QT.
To do this you'd write a .bundle plugin and adhere to the PRODataInterchange cocoa protocol that FCP transmits. If anybody can help in the reverse engingeering of that protocol I'd love some insight, email me if you don't want to post publicly.
I realize i'm straying from the AE scripting realm so I'll just leave it at that.
best,
Dale Bradshaw
creative-workflow-hacks.com
-
- Posts: 2
- Joined: May 11th, 2006, 5:00 am
Hi,
Maybe I am missing the point of what you guys are saying, but if you are trying to use the data from the TC Track of a Quicktime movie captured in FCP, both the source TC and the source Tape ID are in there.
An easy way to see, check and edit the TC track data is to use Sebsky Tools
The Quicktime files you take from FCP to AE will have this data in the TC Track, so if you can get to it then you won't need to touch the FCP browser/XML data.
Mark
Maybe I am missing the point of what you guys are saying, but if you are trying to use the data from the TC Track of a Quicktime movie captured in FCP, both the source TC and the source Tape ID are in there.
An easy way to see, check and edit the TC track data is to use Sebsky Tools
The Quicktime files you take from FCP to AE will have this data in the TC Track, so if you can get to it then you won't need to touch the FCP browser/XML data.
Mark
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
Hey Mark...
Thanks for the link to Sebsky Tools, looks like a great utility. I apologize for the misinformation. Here is what I misread. I'm enclosing a couple of screenshots...

and

Is the Quicktime Player info just a horrible user interface and it is reporting 0.00 when actually that is just where the Timecode track is located? I guess so. yuck.
I must admit I'm just starting my understanding of this particular issue and I stand corrected.
Thanks again,
Dale
Thanks for the link to Sebsky Tools, looks like a great utility. I apologize for the misinformation. Here is what I misread. I'm enclosing a couple of screenshots...

and

Is the Quicktime Player info just a horrible user interface and it is reporting 0.00 when actually that is just where the Timecode track is located? I guess so. yuck.
I must admit I'm just starting my understanding of this particular issue and I stand corrected.
Thanks again,
Dale
-
- Posts: 2
- Joined: May 11th, 2006, 5:00 am
Hi Dale,
Thats exactly it. Quicktime Player is shamefully useless when it comes to Timecode data. It tells you there is a track but then proceeds to show you none of the data in the track!
Best
Mark
Thats exactly it. Quicktime Player is shamefully useless when it comes to Timecode data. It tells you there is a track but then proceeds to show you none of the data in the track!
Best
Mark
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
Hey guys,
I've got what I think is a working solution for this problem posted here:
http://www.creative-workflow-hacks.com/ ... -solution/
If you would, can you take a look and see if it works for you?
Best,
Dale
I've got what I think is a working solution for this problem posted here:
http://www.creative-workflow-hacks.com/ ... -solution/
If you would, can you take a look and see if it works for you?
Best,
Dale
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
Hey Dale,
Since Unix is not my forte i might be doing something wrong, but i can't get your solution to work. Here's what i did.
1. downloaded your .zip archive
2. since i did not have a "bin" folder in my home directory ~/ i created a folder called bin and moved the file called timecodereader which was in your build/Release folder into it.
3. opened Terminal and typed:
export PATH="$PATH:~/bin"
echo 'PATH="$PATH:~/bin"' >> .profile
4. within AE, selected a QT movie with timecode and ran the timecodereader.jsx script
in the info window i get this:
tc:/bin/bash: line1: timecodereader: command not found
I then tried the explicit path, so i changed the script to:
var timecode = system.callSystem("~/bin/timecodereader " + String(thisItem.mainSource.file));
and then i get this in the info window:
tc:/bin/bash: line 1: 1068 Bus error ~/bin/timec
i'd love to get this to work so hopefully i am doing something obviously wrong..
-lloyd
Since Unix is not my forte i might be doing something wrong, but i can't get your solution to work. Here's what i did.
1. downloaded your .zip archive
2. since i did not have a "bin" folder in my home directory ~/ i created a folder called bin and moved the file called timecodereader which was in your build/Release folder into it.
3. opened Terminal and typed:
export PATH="$PATH:~/bin"
echo 'PATH="$PATH:~/bin"' >> .profile
4. within AE, selected a QT movie with timecode and ran the timecodereader.jsx script
in the info window i get this:
tc:/bin/bash: line1: timecodereader: command not found
I then tried the explicit path, so i changed the script to:
var timecode = system.callSystem("~/bin/timecodereader " + String(thisItem.mainSource.file));
and then i get this in the info window:
tc:/bin/bash: line 1: 1068 Bus error ~/bin/timec
i'd love to get this to work so hopefully i am doing something obviously wrong..
-lloyd
-
- Posts: 98
- Joined: March 14th, 2006, 2:16 pm
- Location: Atlanta, GA
- Contact:
Hi lloyd,
Can you do a couple of things for me?
First...
1.Launch terminal
2.type timecodereader and then hit the space bar
3. drop the QT in question on the terminal window
4. hit return
do you get a timecode or bus error? We dropped the file to get a fully escaped path to the QT. If you get a bus error, can you copy/paste the path and send it to me at dale(at)creative-workflow-hacks(dot)com?
if you get a timecode, let's go back to AE and output the result of String(thisItem.mainSource.file) to a file or alert(), then repeat the above but with the path string that AE produces. and see if we get a bus error there.
Can you report back the results either here or at the email address above? I'd love to get this debugged for wider release, it's a pretty handy utility.
Thanks,
Dale
Can you do a couple of things for me?
First...
1.Launch terminal
2.type timecodereader and then hit the space bar
3. drop the QT in question on the terminal window
4. hit return
do you get a timecode or bus error? We dropped the file to get a fully escaped path to the QT. If you get a bus error, can you copy/paste the path and send it to me at dale(at)creative-workflow-hacks(dot)com?
if you get a timecode, let's go back to AE and output the result of String(thisItem.mainSource.file) to a file or alert(), then repeat the above but with the path string that AE produces. and see if we get a bus error there.
Can you report back the results either here or at the email address above? I'd love to get this debugged for wider release, it's a pretty handy utility.
Thanks,
Dale
- lloydalvarez
- Enhancement master
- Posts: 460
- Joined: June 17th, 2004, 9:27 am
- Location: New York City, NY
- Contact:
hey dale,
ok.. so it seems to work when the QT is on the internal drive, but it gives a bus error when it's on an external volume.
works:
Lloyd-G5:~ lloyd$ timecodereader /Users/lloyd/Desktop/city-hall
00:00:07;26
doesn't work:
Lloyd-G5:~ lloyd$ timecodereader /Untitled/Capture%20Scratch/cam%20test/city-hall
Bus error
ok.. so it seems to work when the QT is on the internal drive, but it gives a bus error when it's on an external volume.
works:
Lloyd-G5:~ lloyd$ timecodereader /Users/lloyd/Desktop/city-hall
00:00:07;26
doesn't work:
Lloyd-G5:~ lloyd$ timecodereader /Untitled/Capture%20Scratch/cam%20test/city-hall
Bus error