Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for SMPTE-esque timecodes #1011

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

palmer-dabbelt
Copy link

This reads burned in timecodes from the headers of the two timecode flavors I have floating around (Tentacle and GoPro), and provides them to users.

This reads burned in timecodes from the headers of the two timecode
flavors I have floating around (Tentacle and GoPro), and provides them
to users.

Signed-off-by: Palmer Dabbelt <[email protected]>
@palmer-dabbelt
Copy link
Author

[this was also on the mailing list]

I'm very new to all this video editing stuff, but I'm trying to get multiple devices syced up via timecodes and I think I've mostly got it working.  I'm using kdenlive and have a patch for that as well, but I think the MLT side of things is going to need some work as what I have here seems a bit clunky:

  • I don't think converting to milliseconds was actually the right thing to do, as I'm just converting everything to/from frames.
  • I'm not sure how cut clips are meant to work, but I don't have any code to handle timecode offsets either here or in kdenlive so I'm assuming they're going to be broken.
  • I'm just sort of guessing at this metadata based on reading some files with ffprobe, I didn't read any specs.  So I have no idea if that pattern matching is going to be robust.

That said, I figured I'd just send this for now so at least I could get it out on the list and see if anyone has a better idea...

@bmatherly
Copy link
Member

Can you describe the use case for this change? For example, the mlt_producer_get_creation_time() was added so that producers (clips) could be sorted by the application in chronological order. Is that the same use for this timecode property?

Typically, when people request timecode in MLT, they want a monotonic code attached to each frame for synchronization. But this patch will only provide a single timecode (presumably for the first frame in the file).

@ddennedy
Copy link
Member

ddennedy commented Aug 7, 2024

This code does not belong in the framework and can be performed in the application.

@bmatherly
Copy link
Member

This code does not belong in the framework and can be performed in the application.

That's what I was thinking, too... unless the code is going to be used by the framework. For example, it could be attached to each frame and then burned into the video using a text filter (like the creation time).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants