--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.6.0... --------------------------------------------------------------------------------------------------------------- [01:55:00.950] Vidbot :: start() [01:55:00.950] Vidbot :: _next(), _stepIndex:0 of 4 [01:55:00.951] index :: _onStepStarted_vidbot(), step: 1 [01:55:00.952] Vidbot :: step[0], label:Initializing Core [01:55:00.960] index :: _onStepProgress_vidbot(), percent: 20 [01:55:00.960] Vidbot :: _parse() [01:55:00.962] index :: _onStepProgress_vidbot(), percent: 40 [01:55:00.962] Vidbot :: _validate() [01:55:00.963] index :: _onStepProgress_vidbot(), percent: 60 [01:55:00.963] Vidbot :: _fonts() [01:55:00.963] FabricFontManager :: add(), id: SourceSansPro-Bold [01:55:00.963] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [01:55:00.971] FabricFontManager :: add(), id: SourceSansPro-Light [01:55:00.971] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [01:55:00.972] FabricFontManager :: add(), id: DINOT-Bold [01:55:00.972] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [01:55:00.973] FabricFontManager :: add(), id: DINOT-Light [01:55:00.973] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [01:55:00.974] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [01:55:00.974] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [01:55:00.974] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [01:55:00.975] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [01:55:00.976] index :: _onStepProgress_vidbot(), percent: 80 [01:55:00.976] Vidbot :: _clips() [01:55:00.976] StreamManager :: add(), id:audio_vo, type:audio [01:55:00.977] AudioClip[audio_vo] :: constructor() [01:55:00.977] InputStream[audio_vo] :: constructor() [01:55:00.977] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [01:55:00.980] StreamManager :: add(), id:bg_music, type:audio [01:55:00.980] AudioClip[bg_music] :: constructor() [01:55:00.980] InputStream[bg_music] :: constructor() [01:55:00.980] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [01:55:00.980] StreamManager :: add(), id:intro, type:video [01:55:00.980] VideoStream[intro] :: constructor() [01:55:00.980] InputStream[intro] :: constructor() [01:55:00.981] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'intro', clipId: null } [01:55:00.981] StreamManager :: add(), id:simplefadedisplay, type:canvas [01:55:00.981] CanvasStream[canvas_524385828401] :: constructor() [01:55:00.981] InputStream[canvas_524385828401] :: constructor() [01:55:01.060] KenBurnsSlideshow[simplefadedisplay] :: constructor() [01:55:01.060] Overlay[simplefadedisplay] :: constructor() [01:55:01.060] CanvasClip[simplefadedisplay] :: constructor() [01:55:01.060] Clip[simplefadedisplay] :: constructor() [01:55:01.061] clip:"simplefadedisplay" added to stream:"canvas_524385828401" [01:55:01.061] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_524385828401', clipId: 'simplefadedisplay' } [01:55:01.061] StreamManager :: add(), id:caption, type:canvas [01:55:01.061] RenCaption[caption] :: constructor() [01:55:01.061] Ren[caption] :: constructor() [01:55:01.061] Overlay[caption] :: constructor() [01:55:01.061] CanvasClip[caption] :: constructor() [01:55:01.061] Clip[caption] :: constructor() [01:55:01.061] clip:"caption" added to stream:"canvas_524385828401" [01:55:01.061] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_524385828401', clipId: 'caption' } [01:55:01.062] StreamManager :: add(), id:outro, type:video [01:55:01.062] VideoStream[outro] :: constructor() [01:55:01.062] InputStream[outro] :: constructor() [01:55:01.062] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'outro', clipId: null } [01:55:01.062] all added... [01:55:01.062] Vidbot :: _next(), _stepIndex:1 of 4 [01:55:01.062] index :: _onStepCompleted_vidbot(), step: 1 [01:55:01.062] index :: _onStepStarted_vidbot(), step: 2 [01:55:01.063] Vidbot :: step[1], label:Initializing Input Streams [01:55:01.063] StreamManager :: init() [01:55:01.063] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.2 } [01:55:01.064] index :: _onStepProgress_vidbot(), percent: 20 [01:55:01.064] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.4 } [01:55:01.064] index :: _onStepProgress_vidbot(), percent: 40 [01:55:01.064] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'intro', progress: 0.6 } [01:55:01.064] index :: _onStepProgress_vidbot(), percent: 60 [01:55:01.064] CanvasStream[canvas_524385828401] :: _init(), BEGIN [01:55:01.065] i:0, c.id:simplefadedisplay [01:55:01.065] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [01:55:01.065] KenBurnsSlideshow[simplefadedisplay] :: _validate() [01:55:01.066] KenBurnsSlideshow[undefined] :: _validateAnim() [01:55:01.066] KenBurnsSlideshow[undefined] :: _validateTheme() [01:55:01.067] i:1, c.id:caption [01:55:01.067] RenCaption[caption] :: _init() [01:55:01.068] RenCaption[caption] :: _validate() [01:55:01.068] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'outro', progress: 0.8 } [01:55:01.069] index :: _onStepProgress_vidbot(), percent: 80 [01:55:01.069] KenBurnsSlideshow[simplefadedisplay] :: _build() [01:55:01.075] AnimatedImageFrame[aif] :: constructor() [01:55:01.076] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.077] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_1.jpg [01:55:01.090] RenCaption[caption] :: _build() [01:55:01.110] Overlay[caption] :: _animate() [01:55:01.113] CanvasStream[caption] :: _init(), p.then() [01:55:01.132] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.135] AnimatedImageFrame[aif] :: _init(), END [01:55:01.137] AnimatedImageFrame[aif] :: constructor() [01:55:01.137] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.137] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_2.jpg [01:55:01.149] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.150] AnimatedImageFrame[aif] :: _init(), END [01:55:01.151] AnimatedImageFrame[aif] :: constructor() [01:55:01.151] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.151] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_3.jpg [01:55:01.169] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.170] AnimatedImageFrame[aif] :: _init(), END [01:55:01.171] AnimatedImageFrame[aif] :: constructor() [01:55:01.171] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.171] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_4.jpg [01:55:01.182] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.183] AnimatedImageFrame[aif] :: _init(), END [01:55:01.184] AnimatedImageFrame[aif] :: constructor() [01:55:01.184] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.184] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_1.jpg [01:55:01.199] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.200] AnimatedImageFrame[aif] :: _init(), END [01:55:01.201] AnimatedImageFrame[aif] :: constructor() [01:55:01.201] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.201] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_2.jpg [01:55:01.214] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.215] AnimatedImageFrame[aif] :: _init(), END [01:55:01.216] AnimatedImageFrame[aif] :: constructor() [01:55:01.216] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.216] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_3.jpg [01:55:01.238] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.239] AnimatedImageFrame[aif] :: _init(), END [01:55:01.240] AnimatedImageFrame[aif] :: constructor() [01:55:01.240] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.240] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_4.jpg [01:55:01.254] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.255] AnimatedImageFrame[aif] :: _init(), END [01:55:01.256] AnimatedImageFrame[aif] :: constructor() [01:55:01.256] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.256] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_1.jpg [01:55:01.279] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.280] AnimatedImageFrame[aif] :: _init(), END [01:55:01.280] AnimatedImageFrame[aif] :: constructor() [01:55:01.280] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.281] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_2.jpg [01:55:01.295] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.296] AnimatedImageFrame[aif] :: _init(), END [01:55:01.296] AnimatedImageFrame[aif] :: constructor() [01:55:01.296] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.297] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_3.jpg [01:55:01.311] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.312] AnimatedImageFrame[aif] :: _init(), END [01:55:01.313] AnimatedImageFrame[aif] :: constructor() [01:55:01.313] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.313] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_4.jpg [01:55:01.324] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.325] AnimatedImageFrame[aif] :: _init(), END [01:55:01.326] AnimatedImageFrame[aif] :: constructor() [01:55:01.326] AnimatedImageFrame[aif] :: _init(), BEGIN [01:55:01.326] CanvasClip :: LoadImageWithPromise(), src: 7670B358-735A-5788-C2DB-E1CE67EEE048_1.jpg [01:55:01.342] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [01:55:01.343] AnimatedImageFrame[aif] :: _init(), END [01:55:01.343] Overlay[simplefadedisplay] :: _animate() [01:55:01.344] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [01:55:01.344] CanvasStream[simplefadedisplay] :: _init(), p.then() [01:55:01.344] CanvasStream[canvas_524385828401] :: _init(), promise.all.then() [01:55:01.346] CanvasStream[canvas_524385828401] :: _init(), END [01:55:01.346] StreamMangaer :: init(), stream[canvas_524385828401].then() [01:55:01.346] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_524385828401', progress: 1 } [01:55:01.347] index :: _onStepProgress_vidbot(), percent: 100 [01:55:01.347] StreamManager :: init(), promise.all.then... [01:55:01.347] Vidbot :: StreamMgr.on( 'INITED' ) [01:55:01.347] Vidbot :: _next(), _stepIndex:2 of 4 [01:55:01.347] index :: _onStepCompleted_vidbot(), step: 2 [01:55:01.347] index :: _onStepStarted_vidbot(), step: 3 [01:55:01.348] Vidbot :: step[2], label:Rendering Canvas Streams [01:55:01.348] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [01:55:01.348] StreamManager :: render() [01:55:01.349] CanvasStream[canvas_524385828401] :: render() [01:55:01.386] index :: _onStepProgress_vidbot(), percent: 0 [01:55:04.006] index :: _onStepProgress_vidbot(), percent: 5 [01:55:06.793] index :: _onStepProgress_vidbot(), percent: 10 [01:55:09.761] index :: _onStepProgress_vidbot(), percent: 15 [01:55:12.759] index :: _onStepProgress_vidbot(), percent: 20 [01:55:15.872] index :: _onStepProgress_vidbot(), percent: 25 [01:55:18.976] index :: _onStepProgress_vidbot(), percent: 30 [01:55:22.108] index :: _onStepProgress_vidbot(), percent: 35 [01:55:25.210] index :: _onStepProgress_vidbot(), percent: 40 [01:55:38.140] index :: _onStepProgress_vidbot(), percent: 45 [01:55:52.943] index :: _onStepProgress_vidbot(), percent: 50 [01:56:04.815] index :: _onStepProgress_vidbot(), percent: 55 [01:56:13.830] index :: _onStepProgress_vidbot(), percent: 60 [01:56:31.189] index :: _onStepProgress_vidbot(), percent: 65 [01:56:41.972] index :: _onStepProgress_vidbot(), percent: 70 [01:56:51.229] index :: _onStepProgress_vidbot(), percent: 75 [01:57:03.611] index :: _onStepProgress_vidbot(), percent: 80 [01:57:17.620] index :: _onStepProgress_vidbot(), percent: 85 [01:57:28.229] index :: _onStepProgress_vidbot(), percent: 90 [01:57:36.748] index :: _onStepProgress_vidbot(), percent: 95 [01:57:52.211] index :: _onStepProgress_vidbot(), percent: 100 [01:57:52.484] StreamManager :: render(), Promise.all.then... [01:57:52.484] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [01:57:52.484] Vidbot :: _next(), _stepIndex:3 of 4 [01:57:52.489] index :: _onStepCompleted_vidbot(), step: 3 [01:57:52.490] index :: _onStepStarted_vidbot(), step: 4 [01:57:52.491] Vidbot :: step[3], label:Encoding Media [01:57:52.494] VideoStream[intro] :: inputOptions() [01:57:52.494] VideoFilters :: Scale() [01:57:52.495] VideoFilters :: Overlay() [01:57:52.495] CanvasFilters :: Overlay() [01:57:52.495] VideoStream[outro] :: inputOptions() [01:57:52.496] VideoFilters :: Tpad() [01:57:52.496] VideoFilters :: Scale() [01:57:52.496] VideoFilters :: Overlay() [01:57:52.496] AudioStream[audio_vo] :: inputOptions() [01:57:52.497] AudioFilters :: Volume() [01:57:52.497] filter: [4:a]volume=1[4_vol] [01:57:52.497] AudioFilters :: Delay() [01:57:52.497] filter: [4_vol]adelay=28040|28040[4_del] [01:57:52.497] AudioStream[bg_music] :: inputOptions() [01:57:52.497] AudioFilters :: Volume() [01:57:52.497] filter: [5:a]volume=0.25[5_vol] [01:57:52.497] AudioFilters :: FadeOut() [01:57:52.498] filter: [5_vol]afade=t=out:st=38.77:d=1[5_fadeout] [01:57:52.498] AudioFilters :: Delay() [01:57:52.498] filter: [5_fadeout]adelay=28040|28040[5_del] [01:57:52.498] VideoStream[intro] :: inputOptions() [01:57:52.498] AudioFilters :: Volume() [01:57:52.498] filter: [6:a]volume=1[6_vol] [01:57:52.498] AudioFilters :: Delay() [01:57:52.498] filter: [6_vol]adelay=0|0[6_del] [01:57:52.498] VideoStream[outro] :: inputOptions() [01:57:52.498] AudioFilters :: Volume() [01:57:52.498] filter: [7:a]volume=1[7_vol] [01:57:52.498] AudioFilters :: Delay() [01:57:52.498] filter: [7_vol]adelay=66810|66810[7_del] [01:57:52.498] AudioFilters :: Mix() [01:57:52.499] filter: [4_del][5_del][6_del][7_del]amix=inputs=4:duration=longest[a_out] [01:57:52.499] mixed filter: [4_del][5_del][6_del][7_del]amix=inputs=4:duration=longest[a_out] [01:57:52.501] hang.time: 60 [01:57:52.603] Vidbot :: ffmpeg.on( 'start' ) [01:57:52.603] ffmpeg -f lavfi -i color=c=000000:s=640x360:r=30:duration=72.91 -to 00:00:28.039 -i file:///var/www/html/clients/9064/library/intro.mp4 -r 30 -i ./tmp [01:57:52.603] /canvas_524385828401_%05d.png -to 00:00:06.099 -i file:///var/www/html/clients/9064/library/outro.mp4 -to 00:00:38.770 -i file:///var/www/html/clients [01:57:52.603] /9064/audio/7670B358-735A-5788-C2DB-E1CE67EEE048.mp3 -to 00:00:38.770 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Groove.mp3 -to [01:57:52.603] 00:00:28.039 -i file:///var/www/html/clients/9064/library/intro.mp4 -to 00:00:06.099 -i file:///var/www/html/clients/9064/library/outro.mp4 -y -filte [01:57:52.604] r_complex [1:v]scale=w=640:h=360[1_scaled];[0:v][1_scaled]overlay=x=0:y=0:enable='between(t,0,28.04)'[1_out];[1_out][2:v]overlay=x=0:y=0[2_out];[3:v]t [01:57:52.604] pad=start_duration=66.76[3_tpad];[3_tpad]scale=w=640:h=360[3_scaled];[2_out][3_scaled]overlay=x=0:y=0:enable='between(t,66.81,72.91)'[3_out];[4:a]volu [01:57:52.604] me=1[4_vol];[4_vol]adelay=28040|28040[4_del];[5:a]volume=0.25[5_vol];[5_vol]afade=t=out:st=38.77:d=1[5_fadeout];[5_fadeout]adelay=28040|28040[5_del];[ [01:57:52.604] 6:a]volume=1[6_vol];[6_vol]adelay=0|0[6_del];[7:a]volume=1[7_vol];[7_vol]adelay=66810|66810[7_del];[4_del][5_del][6_del][7_del]amix=inputs=4:duration= [01:57:52.604] longest[a_out] -acodec aac -vcodec libx264 -r 30 -f mp4 -map [a_out] -map [3_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt [01:57:52.604] yuv420p /var/www/html/clients/9064/video/7670B358-735A-5788-C2DB-E1CE67EEE048.mp4 [01:57:53.135] index :: _onStepProgress_vidbot(), percent: -2849058370 [01:57:53.355] index :: _onStepProgress_vidbot(), percent: 0 [01:57:55.372] index :: _onStepProgress_vidbot(), percent: 5 [01:57:57.394] index :: _onStepProgress_vidbot(), percent: 10 [01:57:59.403] index :: _onStepProgress_vidbot(), percent: 15 [01:58:01.935] index :: _onStepProgress_vidbot(), percent: 20 [01:58:03.936] index :: _onStepProgress_vidbot(), percent: 26 [01:58:05.462] index :: _onStepProgress_vidbot(), percent: 30 [01:58:06.968] index :: _onStepProgress_vidbot(), percent: 36 [01:58:07.972] index :: _onStepProgress_vidbot(), percent: 40 [01:58:09.502] index :: _onStepProgress_vidbot(), percent: 46 [01:58:10.501] index :: _onStepProgress_vidbot(), percent: 50 [01:58:11.506] index :: _onStepProgress_vidbot(), percent: 55 [01:58:12.506] index :: _onStepProgress_vidbot(), percent: 60 [01:58:13.524] index :: _onStepProgress_vidbot(), percent: 66 [01:58:14.525] index :: _onStepProgress_vidbot(), percent: 72 [01:58:15.533] index :: _onStepProgress_vidbot(), percent: 76 [01:58:16.540] index :: _onStepProgress_vidbot(), percent: 81 [01:58:17.541] index :: _onStepProgress_vidbot(), percent: 86 [01:58:18.552] index :: _onStepProgress_vidbot(), percent: 91 [01:58:19.551] index :: _onStepProgress_vidbot(), percent: 99 [01:58:19.627] index :: _onStepProgress_vidbot(), percent: 100 [01:58:19.694] Vidbot :: ffmpeg.on( 'end' ), Done! [01:58:19.695] StreamManager :: dispose() [01:58:19.695] CanvasStream[canvas_524385828401] :: dispose() [01:58:19.728] Vidbot :: fflog.on( 'finish' ) [01:58:19.728] fflog.path: /var/www/html/clients/9064/video/7670B358-735A-5788-C2DB-E1CE67EEE048.mp4.fflog [01:58:19.728] Vidbot :: _next(), _stepIndex:4 of 4 [01:58:19.728] index :: _onStepCompleted_vidbot(), step: 4 [01:58:19.729] index :: _onComplete_vidbot(), data: { stepTime: 0.001, appTime: 198.798, output: '/var/www/html/clients/9064/video/7670B358-735A-5788-C2DB-E1CE67EEE048.mp4', duration: 72.91 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/9064/video/7670B358-735A-5788-C2DB-E1CE67EEE048.mp4 Media Duration : 00:01:12.909 Generation Time : 00:03:18.798 ---------------------------------------------------------------------------------------------------------------