--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [02:00:22.933] Vidbot :: start() [02:00:22.933] Vidbot :: _next(), _stepIndex:0 of 4 [02:00:22.934] index :: _onStepStarted_vidbot(), step: 1 [02:00:22.935] Vidbot :: step[0], label:Initializing Core [02:00:22.944] index :: _onStepProgress_vidbot(), percent: 20 [02:00:22.944] Vidbot :: _parse() [02:00:22.946] index :: _onStepProgress_vidbot(), percent: 40 [02:00:22.946] Vidbot :: _validate() [02:00:22.947] index :: _onStepProgress_vidbot(), percent: 60 [02:00:22.947] Vidbot :: _fonts() [02:00:22.947] FabricFontManager :: add(), id: SourceSansPro-Bold [02:00:22.947] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [02:00:22.956] FabricFontManager :: add(), id: SourceSansPro-Light [02:00:22.956] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [02:00:22.957] FabricFontManager :: add(), id: DINOT-Bold [02:00:22.957] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [02:00:22.958] FabricFontManager :: add(), id: DINOT-Light [02:00:22.958] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [02:00:22.959] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [02:00:22.959] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [02:00:22.960] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [02:00:22.960] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [02:00:22.961] index :: _onStepProgress_vidbot(), percent: 80 [02:00:22.961] Vidbot :: _clips() [02:00:22.962] StreamManager :: add(), id:audio_vo, type:audio [02:00:22.962] AudioClip[audio_vo] :: constructor() [02:00:22.962] InputStream[audio_vo] :: constructor() [02:00:22.962] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [02:00:22.965] StreamManager :: add(), id:bg_music, type:audio [02:00:22.965] AudioClip[bg_music] :: constructor() [02:00:22.965] InputStream[bg_music] :: constructor() [02:00:22.966] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [02:00:22.966] StreamManager :: add(), id:simplefadedisplay, type:canvas [02:00:22.966] CanvasStream[canvas_682975750834] :: constructor() [02:00:22.966] InputStream[canvas_682975750834] :: constructor() [02:00:23.051] KenBurnsSlideshow[simplefadedisplay] :: constructor() [02:00:23.051] Overlay[simplefadedisplay] :: constructor() [02:00:23.051] CanvasClip[simplefadedisplay] :: constructor() [02:00:23.051] Clip[simplefadedisplay] :: constructor() [02:00:23.052] clip:"simplefadedisplay" added to stream:"canvas_682975750834" [02:00:23.052] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_682975750834', clipId: 'simplefadedisplay' } [02:00:23.052] StreamManager :: add(), id:caption, type:canvas [02:00:23.052] RenCaption[caption] :: constructor() [02:00:23.052] Ren[caption] :: constructor() [02:00:23.052] Overlay[caption] :: constructor() [02:00:23.052] CanvasClip[caption] :: constructor() [02:00:23.052] Clip[caption] :: constructor() [02:00:23.052] clip:"caption" added to stream:"canvas_682975750834" [02:00:23.053] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_682975750834', clipId: 'caption' } [02:00:23.053] StreamManager :: add(), id:options, type:canvas [02:00:23.053] RenOptions[options] :: constructor() [02:00:23.053] Ren[options] :: constructor() [02:00:23.053] Overlay[options] :: constructor() [02:00:23.053] CanvasClip[options] :: constructor() [02:00:23.053] Clip[options] :: constructor() [02:00:23.053] clip:"options" added to stream:"canvas_682975750834" [02:00:23.053] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_682975750834', clipId: 'options' } [02:00:23.053] StreamManager :: add(), id:map, type:canvas [02:00:23.054] RenMap[map] :: constructor() [02:00:23.054] Ren[map] :: constructor() [02:00:23.054] Overlay[map] :: constructor() [02:00:23.054] CanvasClip[map] :: constructor() [02:00:23.054] Clip[map] :: constructor() [02:00:23.054] clip:"map" added to stream:"canvas_682975750834" [02:00:23.054] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_682975750834', clipId: 'map' } [02:00:23.054] all added... [02:00:23.054] Vidbot :: _next(), _stepIndex:1 of 4 [02:00:23.055] index :: _onStepCompleted_vidbot(), step: 1 [02:00:23.055] index :: _onStepStarted_vidbot(), step: 2 [02:00:23.055] Vidbot :: step[1], label:Initializing Input Streams [02:00:23.056] StreamManager :: init() [02:00:23.056] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [02:00:23.056] index :: _onStepProgress_vidbot(), percent: 33 [02:00:23.056] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [02:00:23.056] index :: _onStepProgress_vidbot(), percent: 67 [02:00:23.057] CanvasStream[canvas_682975750834] :: _init(), BEGIN [02:00:23.057] i:0, c.id:simplefadedisplay [02:00:23.057] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [02:00:23.058] KenBurnsSlideshow[simplefadedisplay] :: _validate() [02:00:23.058] KenBurnsSlideshow[undefined] :: _validateAnim() [02:00:23.059] KenBurnsSlideshow[undefined] :: _validateTheme() [02:00:23.060] i:1, c.id:caption [02:00:23.060] RenCaption[caption] :: _init() [02:00:23.061] RenCaption[caption] :: _validate() [02:00:23.062] i:2, c.id:options [02:00:23.063] RenPrice[options] :: _init() [02:00:23.063] RenOptions[options] :: _validate() [02:00:23.064] i:3, c.id:map [02:00:23.064] RenMap[map] :: _init() [02:00:23.064] RenMap[map] :: _validate() [02:00:23.065] KenBurnsSlideshow[simplefadedisplay] :: _build() [02:00:23.073] AnimatedImageFrame[aif] :: constructor() [02:00:23.074] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.075] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_1.jpg [02:00:23.088] RenCaption[caption] :: _build() [02:00:23.103] RenOptions[options] :: _assets() [02:00:23.104] CanvasClip :: LoadSVGFromStringWithPromise() [02:00:23.135] CanvasClip :: LoadSVGFromString(), loaded [02:00:23.137] RenMap[map] :: _assets() [02:00:23.138] CanvasClip :: LoadSVGFromStringWithPromise() [02:00:23.149] CanvasClip :: LoadSVGFromString(), loaded [02:00:23.151] CanvasClip :: LoadImageWithPromise(), src: map_720.jpg [02:00:23.154] Overlay[caption] :: _animate() [02:00:23.158] RenOptions[options] :: _build() [02:00:23.264] CanvasStream[caption] :: _init(), p.then() [02:00:23.265] RenOptions[options] :: _animate() [02:00:23.265] Overlay[options] :: _animate() [02:00:23.266] CanvasStream[options] :: _init(), p.then() [02:00:23.342] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.347] AnimatedImageFrame[aif] :: _init(), END [02:00:23.349] AnimatedImageFrame[aif] :: constructor() [02:00:23.350] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.350] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_2.jpg [02:00:23.387] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.388] RenMap[map] :: _build() [02:00:23.406] Overlay[map] :: _animate() [02:00:23.407] CanvasStream[map] :: _init(), p.then() [02:00:23.481] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.483] AnimatedImageFrame[aif] :: _init(), END [02:00:23.483] AnimatedImageFrame[aif] :: constructor() [02:00:23.484] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.484] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_3.jpg [02:00:23.557] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.559] AnimatedImageFrame[aif] :: _init(), END [02:00:23.559] AnimatedImageFrame[aif] :: constructor() [02:00:23.560] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.560] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_4.jpg [02:00:23.617] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.619] AnimatedImageFrame[aif] :: _init(), END [02:00:23.619] AnimatedImageFrame[aif] :: constructor() [02:00:23.620] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.620] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_5.jpg [02:00:23.689] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.690] AnimatedImageFrame[aif] :: _init(), END [02:00:23.691] AnimatedImageFrame[aif] :: constructor() [02:00:23.691] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.691] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_6.jpg [02:00:23.752] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.753] AnimatedImageFrame[aif] :: _init(), END [02:00:23.753] AnimatedImageFrame[aif] :: constructor() [02:00:23.754] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.754] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_7.jpg [02:00:23.834] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.835] AnimatedImageFrame[aif] :: _init(), END [02:00:23.836] AnimatedImageFrame[aif] :: constructor() [02:00:23.836] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.836] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_8.jpg [02:00:23.901] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.903] AnimatedImageFrame[aif] :: _init(), END [02:00:23.903] AnimatedImageFrame[aif] :: constructor() [02:00:23.903] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.903] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_9.jpg [02:00:23.967] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:23.968] AnimatedImageFrame[aif] :: _init(), END [02:00:23.968] AnimatedImageFrame[aif] :: constructor() [02:00:23.969] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:23.969] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_10.jpg [02:00:24.021] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:24.022] AnimatedImageFrame[aif] :: _init(), END [02:00:24.022] AnimatedImageFrame[aif] :: constructor() [02:00:24.022] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:24.023] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_1.jpg [02:00:24.085] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:24.086] AnimatedImageFrame[aif] :: _init(), END [02:00:24.087] AnimatedImageFrame[aif] :: constructor() [02:00:24.087] AnimatedImageFrame[aif] :: _init(), BEGIN [02:00:24.087] CanvasClip :: LoadImageWithPromise(), src: FC4209B8-99D6-F24E-196C-83F7A5950AA1_2.jpg [02:00:24.152] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:00:24.153] AnimatedImageFrame[aif] :: _init(), END [02:00:24.153] Overlay[simplefadedisplay] :: _animate() [02:00:24.154] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [02:00:24.154] CanvasStream[simplefadedisplay] :: _init(), p.then() [02:00:24.154] CanvasStream[canvas_682975750834] :: _init(), promise.all.then() [02:00:24.157] CanvasStream[canvas_682975750834] :: _init(), END [02:00:24.157] StreamMangaer :: init(), stream[canvas_682975750834].then() [02:00:24.157] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_682975750834', progress: 1 } [02:00:24.157] index :: _onStepProgress_vidbot(), percent: 100 [02:00:24.158] StreamManager :: init(), promise.all.then... [02:00:24.158] Vidbot :: StreamMgr.on( 'INITED' ) [02:00:24.158] Vidbot :: _next(), _stepIndex:2 of 4 [02:00:24.158] index :: _onStepCompleted_vidbot(), step: 2 [02:00:24.158] index :: _onStepStarted_vidbot(), step: 3 [02:00:24.158] Vidbot :: step[2], label:Rendering Canvas Streams [02:00:24.159] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [02:00:24.159] StreamManager :: render() [02:00:24.159] CanvasStream[canvas_682975750834] :: render() [02:00:24.287] index :: _onStepProgress_vidbot(), percent: 0 [02:01:01.650] index :: _onStepProgress_vidbot(), percent: 5 [02:01:47.896] index :: _onStepProgress_vidbot(), percent: 10 [02:02:29.887] index :: _onStepProgress_vidbot(), percent: 15 [02:03:16.910] index :: _onStepProgress_vidbot(), percent: 20 [02:03:59.969] index :: _onStepProgress_vidbot(), percent: 25 [02:04:44.687] index :: _onStepProgress_vidbot(), percent: 30 [02:05:30.136] index :: _onStepProgress_vidbot(), percent: 35 [02:06:05.872] index :: _onStepProgress_vidbot(), percent: 40 [02:06:38.897] index :: _onStepProgress_vidbot(), percent: 45 [02:07:08.561] index :: _onStepProgress_vidbot(), percent: 50 [02:07:42.943] index :: _onStepProgress_vidbot(), percent: 55 [02:08:15.395] index :: _onStepProgress_vidbot(), percent: 60 [02:08:45.736] index :: _onStepProgress_vidbot(), percent: 65 [02:09:22.264] index :: _onStepProgress_vidbot(), percent: 70 [02:09:57.169] index :: _onStepProgress_vidbot(), percent: 75 [02:10:31.714] index :: _onStepProgress_vidbot(), percent: 80 [02:11:04.589] index :: _onStepProgress_vidbot(), percent: 85 [02:11:45.128] index :: _onStepProgress_vidbot(), percent: 90 [02:12:18.222] index :: _onStepProgress_vidbot(), percent: 95 [02:12:43.411] index :: _onStepProgress_vidbot(), percent: 100 [02:12:45.558] StreamManager :: render(), Promise.all.then... [02:12:45.558] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [02:12:45.558] Vidbot :: _next(), _stepIndex:3 of 4 [02:12:45.558] index :: _onStepCompleted_vidbot(), step: 3 [02:12:45.559] index :: _onStepStarted_vidbot(), step: 4 [02:12:45.560] Vidbot :: step[3], label:Encoding Media [02:12:45.563] CanvasFilters :: Overlay() [02:12:45.563] AudioStream[audio_vo] :: inputOptions() [02:12:45.563] AudioFilters :: Volume() [02:12:45.564] filter: [2:a]volume=1[2_vol] [02:12:45.564] AudioFilters :: Delay() [02:12:45.564] filter: [2_vol]adelay=0|0[2_del] [02:12:45.564] AudioStream[bg_music] :: inputOptions() [02:12:45.564] AudioFilters :: Volume() [02:12:45.564] filter: [3:a]volume=0.20[3_vol] [02:12:45.564] AudioFilters :: FadeOut() [02:12:45.564] filter: [3_vol]afade=t=out:st=33.09:d=1[3_fadeout] [02:12:45.564] AudioFilters :: Delay() [02:12:45.564] filter: [3_fadeout]adelay=0|0[3_del] [02:12:45.565] AudioFilters :: Mix() [02:12:45.565] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:12:45.565] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:12:45.567] hang.time: 60 [02:12:45.717] Vidbot :: ffmpeg.on( 'start' ) [02:12:45.717] ffmpeg -f lavfi -i color=c=000000:s=1280x720:r=30:duration=36.09 -r 30 -i ./tmp/canvas_682975750834_%05d.png -to 00:00:36.090 -i file:///var/www/html/ [02:12:45.717] clients/18513/audio/FC4209B8-99D6-F24E-196C-83F7A5950AA1.mp3 -to 00:00:33.090 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Jazz-4 [02:12:45.717] .mp3 -y -filter_complex [0:v][1:v]overlay=x=0:y=0[1_out];[2:a]volume=1[2_vol];[2_vol]adelay=0|0[2_del];[3:a]volume=0.20[3_vol];[3_vol]afade=t=out:st=3 [02:12:45.717] 3.09:d=1[3_fadeout];[3_fadeout]adelay=0|0[3_del];[2_del][3_del]amix=inputs=2:duration=longest[a_out] -acodec aac -vcodec libx264 -r 30 -f mp4 -map [a_ [02:12:45.717] out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/18513/video/FC4209B8-99D6-F24E-19 [02:12:45.717] 6C-83F7A5950AA1.mp4 [02:12:45.953] index :: _onStepProgress_vidbot(), percent: -5755745240 [02:12:46.342] index :: _onStepProgress_vidbot(), percent: 2 [02:12:47.349] index :: _onStepProgress_vidbot(), percent: 8 [02:12:47.850] index :: _onStepProgress_vidbot(), percent: 11 [02:12:48.871] index :: _onStepProgress_vidbot(), percent: 18 [02:12:49.379] index :: _onStepProgress_vidbot(), percent: 21 [02:12:50.380] index :: _onStepProgress_vidbot(), percent: 27 [02:12:50.881] index :: _onStepProgress_vidbot(), percent: 30 [02:12:51.884] index :: _onStepProgress_vidbot(), percent: 36 [02:12:52.891] index :: _onStepProgress_vidbot(), percent: 42 [02:12:53.399] index :: _onStepProgress_vidbot(), percent: 46 [02:12:54.425] index :: _onStepProgress_vidbot(), percent: 51 [02:12:55.435] index :: _onStepProgress_vidbot(), percent: 56 [02:12:56.451] index :: _onStepProgress_vidbot(), percent: 62 [02:12:57.455] index :: _onStepProgress_vidbot(), percent: 66 [02:12:58.476] index :: _onStepProgress_vidbot(), percent: 72 [02:12:58.985] index :: _onStepProgress_vidbot(), percent: 75 [02:12:59.992] index :: _onStepProgress_vidbot(), percent: 80 [02:13:01.508] index :: _onStepProgress_vidbot(), percent: 85 [02:13:02.525] index :: _onStepProgress_vidbot(), percent: 90 [02:13:04.047] index :: _onStepProgress_vidbot(), percent: 96 [02:13:04.643] index :: _onStepProgress_vidbot(), percent: 100 [02:13:04.731] Vidbot :: ffmpeg.on( 'end' ), Done! [02:13:04.732] StreamManager :: dispose() [02:13:04.732] CanvasStream[canvas_682975750834] :: dispose() [02:13:04.742] Vidbot :: fflog.on( 'finish' ) [02:13:04.742] fflog.path: /var/www/html/clients/18513/video/FC4209B8-99D6-F24E-196C-83F7A5950AA1.mp4.fflog [02:13:04.742] Vidbot :: _next(), _stepIndex:4 of 4 [02:13:04.742] index :: _onStepCompleted_vidbot(), step: 4 [02:13:04.743] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 761.83, output: '/var/www/html/clients/18513/video/FC4209B8-99D6-F24E-196C-83F7A5950AA1.mp4', duration: 36.09 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/18513/video/FC4209B8-99D6-F24E-196C-83F7A5950AA1.mp4 Media Duration : 00:00:36.090 Generation Time : 00:12:41.830 ---------------------------------------------------------------------------------------------------------------