How can I burn a timecode into a movie file?

3

I have movie file that I need to show the timecode (running time) on. It must be "burned in" to the video. How can I do this?

Ronnie Overby

Posted 2010-02-26T05:18:19.960

Reputation: 411

1

you might try asking this on http://home4film.com/ which is an audio/video Q-n-A site. or one of the other photo/video sites in this list: http://meta.stackexchange.com/questions/4/list-of-stackexchange-sites

– quack quixote – 2010-02-26T08:22:53.047

1that isn't to say your question isn't welcome here (it's about how to use video creation software, so i think it's ok), but those other sites might be better suited to get you an answer. – quack quixote – 2010-02-26T08:24:43.450

Answers

1

You can use AviSynth.

It is an amazingly powerful command script for in-line processing of videos, and its free. If your video is not already in .avi format, you can use AviSynth's DirectShowSource("myOriginalVideo.xyz") funciton, otherwise use AviSource("myOriginalVideo.avi").

How it works:
AviSynth is a scripting language. You write your commands in a simple text file which has a filetype of .avs (eg. "myNewVideo.avs"), and the script itself becomes a (new) playable .avi.

Because the output of the .avs file is fully uncompressed (video and audio), you will need to feed "myNewVidwo.avs" into any video encoder you like; to recompress it. VirtualDub is very effective and straight-forward for the re-encoding step (VirtualDub is free).

Here is an AviSynth script which will do the job. It puts H:MM:SS.nnn in the top left of the screen.

#BEGIN-------------------------------------------------------------------------
global    xPos = 10
global    yPos = 10
global subsize = 20
global subfont = "Arial Narrow"
#------------------------------------------------------------------------------
function SubtitleTime( obj )
{ 
  obj = ScriptClip( obj, "Subtitle( 
  \   String( chr(32) )
  \ + String( RightStr( String( ((int(current_frame/Framerate)/60)/60) ), 2 ) )
  \ + String( chr(58) )
  \ + String( RightStr( String( String( 0 ) + String( (int(current_frame/Framerate)/60)-(((int(current_frame/Framerate)/60)/60)*60) ) ), 2 ) )
  \ + String( chr(58) )
  \ + String( RightStr( String( String( 0 ) + String( (int(current_frame/Framerate))-(((int(current_frame/Framerate))/60)*60) ) ), 2 ) )
  \ + MidStr( String( (current_frame/Framerate) -  (int(current_frame/Framerate)) ), 2, 4 )
  \ , font=subfont, size=subsize, x=xPos, y=yPos)
  \ ")
  return obj
}
#------------------------------------------------------------------------------
DirectshowSource("myOriginalVideo.avi").SubtitleTime
#END---------------------------------------------------------------------------

Peter.O

Posted 2010-02-26T05:18:19.960

Reputation: 2 743

0

I think this is what you're looking for:

Timecode Commander is a GUI and command-line tool for burning in timecode over the top of video in Windows Media (.wmv) format.

Incredibly useful for round-tripping proxies to editors, transcription or captioning houses.

Krazy_Kaos

Posted 2010-02-26T05:18:19.960

Reputation: 1 614