Como posso gravar um timecode em um arquivo de filme?

3

Eu tenho um arquivo de filme que preciso mostrar o timecode (tempo de execução). Deve ser "gravado" no vídeo. Como posso fazer isso?

    
por Ronnie Overby 26.02.2010 / 06:18

2 respostas

1

Você pode usar o AviSynth .

É um script de comando incrivelmente poderoso para processamento in-line de vídeos, e é grátis. Se o seu vídeo ainda não estiver no formato .avi, você pode usar a função DirectShowSource ("myOriginalVideo.xyz") do AviSynth, caso contrário use AviSource ("myOriginalVideo.avi").

Como funciona:
O AviSynth é uma linguagem de script. Você escreve seus comandos em um arquivo de texto simples que tem um tipo de arquivo .avs (por exemplo, "myNewVideo.avs"), e o próprio script se torna um (novo) playable .avi.

Como a saída do arquivo .avs é totalmente descompactada (vídeo e áudio), você precisará alimentar "myNewVidwo.avs" em qualquer codificador de vídeo que desejar; recompressá-lo. O VirtualDub é muito eficaz e direto para a etapa de recodificação (o VirtualDub é gratuito).

Aqui está um script AviSynth que fará o trabalho. Ele coloca H: MM: SS.nnn no canto superior esquerdo da tela.

#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---------------------------------------------------------------------------
    
por 02.03.2010 / 12:32
0

Acho que é isso que você está procurando:

  • Comandante de timecode

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.

    
por 02.03.2010 / 12:22