Ich habe eine Filmdatei, auf der ich den Timecode (Laufzeit) anzeigen muss. Es muss in das Video "eingebrannt" werden. Wie kann ich das machen?
Ich habe eine Filmdatei, auf der ich den Timecode (Laufzeit) anzeigen muss. Es muss in das Video "eingebrannt" werden. Wie kann ich das machen?
Antworten:
Sie können AviSynth verwenden .
Es ist ein erstaunlich leistungsfähiges Befehlsskript für die Inline-Verarbeitung von Videos und es ist kostenlos. Wenn Ihr Video noch nicht im .avi-Format vorliegt, können Sie die DirectShowSource-Funktion ("myOriginalVideo.xyz") von AviSynth verwenden, andernfalls verwenden Sie AviSource ("myOriginalVideo.avi").
So funktioniert es:
AviSynth ist eine Skriptsprache. Sie schreiben Ihre Befehle in eine einfache Textdatei mit dem Dateityp .avs (z. B. "myNewVideo.avs"), und das Skript selbst wird zu einer (neuen) abspielbaren .avi-Datei.
Da die Ausgabe der .avs-Datei vollständig unkomprimiert ist (Video und Audio), müssen Sie "myNewVidwo.avs" in einen beliebigen Video-Encoder einfügen. um es erneut zu komprimieren. VirtualDub ist sehr effektiv und unkompliziert für den Neucodierungsschritt (VirtualDub ist kostenlos).
Hier ist ein AviSynth-Skript, das den Job erledigt. Oben links im Bildschirm wird H: MM: SS.nnn angezeigt.
#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---------------------------------------------------------------------------
Ich denke das ist wonach du suchst:
Timecode Commander ist eine grafische Benutzeroberfläche und ein Befehlszeilenprogramm zum Brennen von Timecode über Video im Windows Media-Format (WMV).
Unglaublich nützlich, um Proxies an Redakteure, Transkriptions- oder Untertitelungshäuser weiterzuleiten.