Text Overlay

Writes text over the video. NOTE: You may want to add the Resize function before adding text to shrink the video to fixed size, especially if there are several input files of a different size.


Show Selected Font - Use selected font inside the edit box. If the text becomes unreadable uncheck this option.

Insert Timecode - Insert a macro for displaying timecode over the video. To additionally customize timecode see "Timecode Formatting" at the bottom of the page.

Font and Position

Pick font - Choose font, style and code page of your text. While in dialog the font size will be displayed in points (typesetting measurement unit), but upon closing it will be transformed to pixels.

Font height - Height of a single line of text [in pixels] plus some spacing. This allows pixel-precise text alignment and sizing. System settings such as "Large Fonts" or "Small Fonts" have no impact on the size of text when it's defined in pixels.

X, Y position - Position of text inside the image. You can also move it inside preview panel with the mouse.

Text color - Color of the letters (background is always transparent).


Enable Shadow - Show or hide the shadow.

X, Y offset - Offset of the shadow relative to text position. Negative values are valid too.

Shadow color - Color of the shadow (black by default).

Softness - Shadow softness in pixels. Default is 2. Increase for softer shadow.

Opacity - How opaque or transparent the shadow is. Default value is 100. For a more subtle shadow use lower values. To turn shadow into a border use values above 100.


Original capture speed - Original capture frame rate (or time per picture) of the footage, used to compute original time position:

  • Normal videos: Original recording frame rate (e.g. 29.97 fps)
  • High-speed videos: Original recording frame rate (e.g. 5000 fps)
  • Time-lapse videos: Original time per photo (e.g. 25 sec, or 00:00:25)

Zero Frame - Optional. Frame at which the time is zero. For example, if the explosion starts at frame 517 into the video, that's your zero frame and time will start couting from that moment. Time before the zero-frame will be negative. The Current button makes the currently displayed picture zero frame. You can navigate in the main window to the desired frame, then open Text Overlay dialog and click "Current" to make that frame zero.

Initial Date - Optional. Specify the start date, useful for certain time-lapse videos. Note that you must also select Timecode that contains years, months and days in the format you need.

Initial Time - Optional. Specify the start time (hours:minutes:seconds).

Timecode Macros

Timecode macro is text which is replaced by the real media position. For example, if a macro looks like this {h:m:s} then it will display hours:minutes:seconds. All macros are enclosed in curly braces. This is the list of macro codes recognized by VideoMach:

  • Y - Year, for example: 2015. For this to work properly you have to enable and specify the Initial Date parameter (e.g. 2015-07-18).
  • M - Month, for example: 07 (not to be confused with the lowercase "m" which stands for minute). For a month to be displayed properly you must enable and enter the Initial Date parameter (e.g. 2015-07-18).
  • D - Day, for example: 18. No need for setting the Initial Date, unless you want to display the absolute date.
  • h - Hour (24h mode). This number will go from 0 - 23 unless prefixed by an asterisk.
  • ha - Hour (12h mode). This number will go from 0 - 11 unless prefixed by an asterisk.
  • m - Minute, for example: 15. No need for setting the Initial Time, unless you want to display absolute time.
  • s - Second, for example: 02. No need for setting the Initial Time.
  • ap - AM/PM. This has a meaning only if you specified the "ha" code.
  • ms - Milli-Second. Good for displaying time on high-speed videos.
  • us - Micro-Second. Useful for displaying timecode on very high-speed videos.
  • f - Frame. This is the number of the current input picture.
  • * - Asterisk is a prefix that modifies the time macro. It means: "convert entire time to this unit, except the fractional part". In other words, if you write something like this: {h:m:s} and your video lasts for 75 hours, maximum value displayed will be 23:59:59 after which it will wrap to 00:00:00 again. But if you prefix it with an asterisk {*h:m:s} then hours will keep increasing until reaching 75:00:00. Asterisk will convert all time to hours (except the remaining minutes and seconds). Only the first time macro should have the asterisk. Asterisk doesn't apply to Y and M codes.
  • | - Is a suffix that specifies the number of decimals. For example, to display hundreds of a second we can use {s|2}. This will display the whole seconds, plus 2 decimals. The fractional part should only be used for the last time code.