Easy way to show timer based on source?


Let’s say I’ve got 60 minutes of video.
I want to cut this down (by removing parts and speeding up others) to about 30.
I want a countown timer counting 60 minutes from start to end. I want this counter to jump over the cut parts, and speed up on the sped up parts.

The two solutions I came up with:

  • render the timer as an independent video and ripplecut both files. Would take about five hours, would take up space, can’t be be made longer if one day I’ve got 61 minutes source material.
  • individual timer filters for each segment, manualy calculating the offset each time. PITA.

Can someone recommend an easier solution?

I don’t understand your requirement. There is a timer just underneath the player that shows where the playhead is positioned and a field next to it that shows the lenth of the video:

From this information I can see I am at position 13secs 27frames in my video that is 32secs and 18frames long. So if I want a 30sec video I have to somewhere remove 2secs and 18frames. Isn’t this what you want?

Ah sorry, I need a timer visible in the exported video.

I’m not sure if I’m understanding what you are after, but here’s a go at how to do what I think you are asking for:

Add a Text:Simple filter. By default, this will include a timer. Size it and position it where you want it on the video. Export the video to “burn in” the timer.

Now you have a video that has the timer as part of the video. When you clip it, speed it up, slow it down, you will see the results reflected in the timer.

1 Like

That’s indeed what I’m after, thank you.Still feels somewhat clunky.
Was hoping for some kind of #sourcetimestamp# or a dynamic solution.

One other possibility, but I don’t know if it would work … and it would be only a little less clunky:

Rather than exporting a video with the timestamp burned in, you might be able to save the .MLT file and import that as a clip. The advantage would be avoiding any degradation from the encoding / decoding step. As I said, though, not sure if / how well this might work.

This would work for cuts but (if nothing changed since I tried this) you can’t speed up/down the imported mlt clip.

If you want to show the time you can use the GPS text filter with #file_datetime_now#, maybe restricted to minutes:seconds with some offset to start at 0:00 (something like #file_datetime_now %M:%S-477#).

But it’s not a countdown, it will always go up and you’d need to manually apply the speed up/down for subclips. It will take care of the offsets automatically though.

The “Timer” filter with “Direction=Down” might be a better bet.

EDIT - On second thoughts this won’t work, as whenever you cut the clip containing this filter, the second part resets the count (unlike the Text:Simple filter).

@bkifft - another possible idea is to search YouTube for a countup or countdown timer video, like this one:

You could download it, place it on a higher track in Shotcut, crop out the unwanted text, size/position it, and apply a Blend Mode(ADD) - or a Chromakey filter to remove the black background. This can then be speeded up where required.
Just one more idea… Good uck.

Oops, I just noticed this proviso, so my idea may not work…

The easiest way I could think of is:

  • open the original video in Shotcut;
  • apply the “Timer” filter with “Direction=Down” (this is the visual representation of what you call the “#sourcetimestamp#” or “countdown”);
  • export the result in a “lossless format” (so the countdown is “burned into” the video);
  • open the resulting (lossless) video in Shotcut and do your edits on that (any edits you do to the video will also apply automatically to the timer value, as it is now part of the video).

Simples! Similar to Awake’s original solution.


But better - I had not stumbled across the Timer filter before. There are so many capabilities to Shotcut - always more to learn!

This topic was automatically closed after 90 days. New replies are no longer allowed.