Mam plik filmowy, w którym muszę pokazać kod czasowy (czas działania). Musi być „wypalony” w filmie. Jak mogę to zrobić?
Mam plik filmowy, w którym muszę pokazać kod czasowy (czas działania). Musi być „wypalony” w filmie. Jak mogę to zrobić?
Odpowiedzi:
Możesz użyć AviSynth .
Jest to niesamowicie potężny skrypt poleceń do przetwarzania wideo w linii i jest bezpłatny. Jeśli Twój film nie jest jeszcze w formacie .avi, możesz użyć funkcji DirectShowSource („myOriginalVideo.xyz”) AviSynth, w przeciwnym razie użyj AviSource („myOriginalVideo.avi”).
Jak to działa:
AviSynth to język skryptowy. Zapisujesz swoje polecenia w prostym pliku tekstowym, który ma typ pliku .avs (np. „MyNewVideo.avs”), a sam skrypt staje się (nowym) odtwarzalnym .avi.
Ponieważ plik wyjściowy .avs jest całkowicie nieskompresowany (wideo i audio), będziesz musiał wprowadzić „myNewVidwo.avs” do dowolnego kodera wideo, który ci się podoba; ponownie skompresować. VirtualDub jest bardzo skuteczny i prosty w procesie ponownego kodowania (VirtualDub jest bezpłatny).
Oto skrypt AviSynth, który wykona zadanie. Umieszcza H: MM: SS.nnn w lewym górnym rogu ekranu.
#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---------------------------------------------------------------------------
Myślę, że tego właśnie szukasz:
Timecode Commander to GUI i narzędzie wiersza polecenia do nagrywania w kodzie czasowym nad wideo w formacie Windows Media (.wmv).
Niezwykle przydatne w przypadku zastępczych serwerów proxy do redaktorów, transkrypcji lub napisów.