У меня есть файл ролика, на котором я должен показать временной код (время выполнения). Это должно быть "записано в" к видео. Как я могу сделать это?
Можно использовать AviSynth.
Это - удивительно мощный командный сценарий для встроенной обработки видео и его свободное. Если Ваше видео уже не находится в .avi формате, можно использовать DirectShowSource AviSynth ("myOriginalVideo.xyz") funciton, иначе использовать AviSource ("myOriginalVideo.avi").
Как это работает:
AviSynth является языком сценариев. Вы пишете свои команды в простом текстовом файле, который имеет тип файла .avs (например, "myNewVideo.avs"), и сам сценарий становится (новым) играемым .avi.
Поскольку вывод .avs файла является полностью несжатым (видео и аудио), необходимо будет подать "myNewVidwo.avs" в любой видео кодер, который Вы любите; повторно сжимать его. VirtualDub является очень эффективным и простым для шага перекодирования (VirtualDub свободен).
Вот сценарий AviSynth, который сделает задание. Это помещает H:MM:SS.nnn в верхний левый из экрана.
#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---------------------------------------------------------------------------
Я думаю, что это - то, что Вы ищете:
Командующим временного кода является GUI и инструмент командной строки для записи во временном коде поверх видео в Windows Media (.wmv) формат.
Невероятно полезный для смещающихся раунд прокси редакторам, записи или озаглавливающим зданиям.