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

Support timecodes #506

Open
3 tasks done
mifi opened this issue Nov 18, 2020 · 8 comments
Open
3 tasks done

Support timecodes #506

mifi opened this issue Nov 18, 2020 · 8 comments

Comments

@mifi
Copy link
Owner

mifi commented Nov 18, 2020

Timecode can be embedded in a file.

Possible features

  • Set custom time offset automatically to the read timecode when loading a file
  • View timecode in a file (stream info for video stream)
  • Edit timecode in a file (stream tag editor for video stream)

Separate stream

For example in GoPros

Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
  creation_time   : 2016-03-22T20:29:00.000000Z
  handler_name    : GoPro TCD
  timecode        : 00:36:32:10

Other example:

Stream #0:2(und): Data: none (rtmd / 0x646D7472), 736 kb/s (default)
Metadata:
  creation_time   : 2019-10-15T12:06:02.000000Z
  handler_name    : Timed Metadata Media Handler
  timecode        : 00:13:17:24

Inside video stream

See example files from this site

ffprobe -v error -show_frames -of json tc_25fps_01min.m2v | grep timecode

"side_data_type": "GOP timecode",
"timecode": "00:00:00:00"
"side_data_type": "GOP timecode",
"timecode": "00:00:00:10"
...

Separate audio track

Timecodes can also be a separate audio track with a special LTC encoded sound. See libltc

mifi added a commit that referenced this issue Nov 27, 2020
@Timvrakas
Copy link

I'm trying to ingest a bunch of GoPro video, which has a built in timecode. When I trim the video, it still shows the same starting timecode, even though the start of the clip has changed. Am I doing something wrong, or is this still a WIP?

@mifi
Copy link
Owner Author

mifi commented May 9, 2022

probably a shortcoming in ffmpeg. you could try with ffmpeg v5 and see if it's fixed

@alinsavix
Copy link

It looks like ffmpeg definitely does the wrong thing here (tested with 5.0), but it might be worth considering calculating the appropriate timecode for a given cut and adjusting it automatically when calling ffmpeg to do its thing. It would be a -very- useful feature.

@mifi
Copy link
Owner Author

mifi commented Sep 29, 2022

I wonder if ffmpeg ignores timecode when cutting only for some files or all files

@arielreyes001
Copy link

I'm unsure if I'm understanding correctly, but I think i am, and I'm wondering if it's the issue i was going to ask about:

Is it possible to preserve the timecode present in the file, and offset based on the segments? If it's possible, I'm not sure teh right settings because when I export the timecode is not present in the new files.

The files are wav files from a tentacle sync track e. Can provide one if necessary...

@mifi
Copy link
Owner Author

mifi commented Jun 3, 2024

I believe you're asking for #506 (comment)

Haven't done much testing but I think you would have to manually offset the timecode using the Tag editor on the video track

@alinsavix
Copy link

@arielreyes001 For the first part of your question -- yeah, that's what this ticket is about. Having timecode be correct when a file is cut into segments. Which is a feature I'd still really love to see (and wish I had the time/energy to implement myself).

For the second part of your question -- I'm not super familiar with tentacle sync, but don't the wav files from their stuff consist of one channel of actual audio, and one channel of timecode? Assuming I'm right about that, those files should just work w.r.t. timecode, no matter how they're cut, because that second audio channel always has the appropriate timecode for a given segment of audio encoded in it. If you're not seeing that, maybe your editor is only looking at timecode in the file's metadata (which ffmpeg just copies over when the files are cut) rather than the actual timecode encoded in the audio track?

@arielreyes001
Copy link

@alinsavix

Oh, I see 😊 thanks, I was wondering if I Understood correctly.

Regarding the tentacles. There are two devices. The tentacle SYNC e will record an audio track onto one of the channels of a camera when plugged into it. The tentacle TRACK e, which is what i have, just records one mono track with the timecode metadata embedded into it. I don’t believe there’s a second track is recorded. At least as far as I can tell. Thanks for taking the time!

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

No branches or pull requests

4 participants