--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [13:43:03.350] Vidbot :: start() [13:43:03.350] Vidbot :: _next(), _stepIndex:0 of 4 [13:43:03.351] index :: _onStepStarted_vidbot(), step: 1 [13:43:03.352] Vidbot :: step[0], label:Initializing Core [13:43:03.364] index :: _onStepProgress_vidbot(), percent: 20 [13:43:03.364] Vidbot :: _parse() [13:43:03.366] index :: _onStepProgress_vidbot(), percent: 40 [13:43:03.366] Vidbot :: _validate() [13:43:03.367] index :: _onStepProgress_vidbot(), percent: 60 [13:43:03.367] Vidbot :: _fonts() [13:43:03.367] FabricFontManager :: add(), id: SourceSansPro-Bold [13:43:03.367] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [13:43:03.376] FabricFontManager :: add(), id: SourceSansPro-Light [13:43:03.377] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [13:43:03.377] FabricFontManager :: add(), id: DINOT-Bold [13:43:03.378] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [13:43:03.378] FabricFontManager :: add(), id: DINOT-Light [13:43:03.379] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [13:43:03.379] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [13:43:03.379] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [13:43:03.380] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [13:43:03.380] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [13:43:03.382] index :: _onStepProgress_vidbot(), percent: 80 [13:43:03.382] Vidbot :: _clips() [13:43:03.382] StreamManager :: add(), id:audio_vo, type:audio [13:43:03.383] AudioClip[audio_vo] :: constructor() [13:43:03.383] InputStream[audio_vo] :: constructor() [13:43:03.383] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [13:43:03.386] StreamManager :: add(), id:bg_music, type:audio [13:43:03.386] AudioClip[bg_music] :: constructor() [13:43:03.386] InputStream[bg_music] :: constructor() [13:43:03.386] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [13:43:03.387] StreamManager :: add(), id:simplefadedisplay, type:canvas [13:43:03.387] CanvasStream[canvas_1238318286387] :: constructor() [13:43:03.387] InputStream[canvas_1238318286387] :: constructor() [13:43:03.471] KenBurnsSlideshow[simplefadedisplay] :: constructor() [13:43:03.471] Overlay[simplefadedisplay] :: constructor() [13:43:03.471] CanvasClip[simplefadedisplay] :: constructor() [13:43:03.471] Clip[simplefadedisplay] :: constructor() [13:43:03.472] clip:"simplefadedisplay" added to stream:"canvas_1238318286387" [13:43:03.472] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1238318286387', clipId: 'simplefadedisplay' } [13:43:03.472] StreamManager :: add(), id:caption, type:canvas [13:43:03.472] RenCaption[caption] :: constructor() [13:43:03.472] Ren[caption] :: constructor() [13:43:03.472] Overlay[caption] :: constructor() [13:43:03.472] CanvasClip[caption] :: constructor() [13:43:03.472] Clip[caption] :: constructor() [13:43:03.472] clip:"caption" added to stream:"canvas_1238318286387" [13:43:03.473] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1238318286387', clipId: 'caption' } [13:43:03.473] StreamManager :: add(), id:options, type:canvas [13:43:03.473] RenOptions[options] :: constructor() [13:43:03.473] Ren[options] :: constructor() [13:43:03.473] Overlay[options] :: constructor() [13:43:03.473] CanvasClip[options] :: constructor() [13:43:03.473] Clip[options] :: constructor() [13:43:03.473] clip:"options" added to stream:"canvas_1238318286387" [13:43:03.473] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1238318286387', clipId: 'options' } [13:43:03.473] all added... [13:43:03.473] Vidbot :: _next(), _stepIndex:1 of 4 [13:43:03.474] index :: _onStepCompleted_vidbot(), step: 1 [13:43:03.474] index :: _onStepStarted_vidbot(), step: 2 [13:43:03.474] Vidbot :: step[1], label:Initializing Input Streams [13:43:03.475] StreamManager :: init() [13:43:03.475] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [13:43:03.475] index :: _onStepProgress_vidbot(), percent: 33 [13:43:03.475] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [13:43:03.476] index :: _onStepProgress_vidbot(), percent: 67 [13:43:03.476] CanvasStream[canvas_1238318286387] :: _init(), BEGIN [13:43:03.476] i:0, c.id:simplefadedisplay [13:43:03.476] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [13:43:03.477] KenBurnsSlideshow[simplefadedisplay] :: _validate() [13:43:03.477] KenBurnsSlideshow[undefined] :: _validateAnim() [13:43:03.478] KenBurnsSlideshow[undefined] :: _validateTheme() [13:43:03.479] i:1, c.id:caption [13:43:03.479] RenCaption[caption] :: _init() [13:43:03.479] RenCaption[caption] :: _validate() [13:43:03.480] i:2, c.id:options [13:43:03.481] RenPrice[options] :: _init() [13:43:03.481] RenOptions[options] :: _validate() [13:43:03.482] KenBurnsSlideshow[simplefadedisplay] :: _build() [13:43:03.488] AnimatedImageFrame[aif] :: constructor() [13:43:03.489] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.490] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_1.jpg [13:43:03.503] RenCaption[caption] :: _build() [13:43:03.520] RenOptions[options] :: _assets() [13:43:03.521] CanvasClip :: LoadSVGFromStringWithPromise() [13:43:03.553] CanvasClip :: LoadSVGFromString(), loaded [13:43:03.556] Overlay[caption] :: _animate() [13:43:03.560] RenOptions[options] :: _build() [13:43:03.672] CanvasStream[caption] :: _init(), p.then() [13:43:03.673] RenOptions[options] :: _animate() [13:43:03.673] Overlay[options] :: _animate() [13:43:03.674] CanvasStream[options] :: _init(), p.then() [13:43:03.717] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.721] AnimatedImageFrame[aif] :: _init(), END [13:43:03.725] AnimatedImageFrame[aif] :: constructor() [13:43:03.725] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.725] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_2.jpg [13:43:03.764] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.766] AnimatedImageFrame[aif] :: _init(), END [13:43:03.766] AnimatedImageFrame[aif] :: constructor() [13:43:03.766] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.767] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_3.jpg [13:43:03.802] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.803] AnimatedImageFrame[aif] :: _init(), END [13:43:03.804] AnimatedImageFrame[aif] :: constructor() [13:43:03.804] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.804] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_4.jpg [13:43:03.841] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.842] AnimatedImageFrame[aif] :: _init(), END [13:43:03.843] AnimatedImageFrame[aif] :: constructor() [13:43:03.843] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.843] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_5.jpg [13:43:03.874] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.875] AnimatedImageFrame[aif] :: _init(), END [13:43:03.875] AnimatedImageFrame[aif] :: constructor() [13:43:03.876] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.876] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_6.jpg [13:43:03.911] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.912] AnimatedImageFrame[aif] :: _init(), END [13:43:03.913] AnimatedImageFrame[aif] :: constructor() [13:43:03.913] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.913] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_7.jpg [13:43:03.942] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.943] AnimatedImageFrame[aif] :: _init(), END [13:43:03.943] AnimatedImageFrame[aif] :: constructor() [13:43:03.944] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.944] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_8.jpg [13:43:03.976] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:03.977] AnimatedImageFrame[aif] :: _init(), END [13:43:03.978] AnimatedImageFrame[aif] :: constructor() [13:43:03.978] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:03.978] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_9.jpg [13:43:04.013] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.014] AnimatedImageFrame[aif] :: _init(), END [13:43:04.014] AnimatedImageFrame[aif] :: constructor() [13:43:04.015] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.015] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_10.jpg [13:43:04.051] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.052] AnimatedImageFrame[aif] :: _init(), END [13:43:04.052] AnimatedImageFrame[aif] :: constructor() [13:43:04.053] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.053] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_11.jpg [13:43:04.088] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.089] AnimatedImageFrame[aif] :: _init(), END [13:43:04.090] AnimatedImageFrame[aif] :: constructor() [13:43:04.090] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.090] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_1.jpg [13:43:04.126] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.127] AnimatedImageFrame[aif] :: _init(), END [13:43:04.128] AnimatedImageFrame[aif] :: constructor() [13:43:04.128] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.128] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_2.jpg [13:43:04.162] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.163] AnimatedImageFrame[aif] :: _init(), END [13:43:04.164] AnimatedImageFrame[aif] :: constructor() [13:43:04.164] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.164] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_3.jpg [13:43:04.208] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.210] AnimatedImageFrame[aif] :: _init(), END [13:43:04.210] AnimatedImageFrame[aif] :: constructor() [13:43:04.210] AnimatedImageFrame[aif] :: _init(), BEGIN [13:43:04.211] CanvasClip :: LoadImageWithPromise(), src: 81D938B0-FFDD-5860-2ABC-A5C19615D167_4.jpg [13:43:04.253] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [13:43:04.254] AnimatedImageFrame[aif] :: _init(), END [13:43:04.255] Overlay[simplefadedisplay] :: _animate() [13:43:04.255] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [13:43:04.255] CanvasStream[simplefadedisplay] :: _init(), p.then() [13:43:04.256] CanvasStream[canvas_1238318286387] :: _init(), promise.all.then() [13:43:04.258] CanvasStream[canvas_1238318286387] :: _init(), END [13:43:04.259] StreamMangaer :: init(), stream[canvas_1238318286387].then() [13:43:04.259] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_1238318286387', progress: 1 } [13:43:04.259] index :: _onStepProgress_vidbot(), percent: 100 [13:43:04.259] StreamManager :: init(), promise.all.then... [13:43:04.259] Vidbot :: StreamMgr.on( 'INITED' ) [13:43:04.260] Vidbot :: _next(), _stepIndex:2 of 4 [13:43:04.260] index :: _onStepCompleted_vidbot(), step: 2 [13:43:04.260] index :: _onStepStarted_vidbot(), step: 3 [13:43:04.260] Vidbot :: step[2], label:Rendering Canvas Streams [13:43:04.260] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [13:43:04.261] StreamManager :: render() [13:43:04.261] CanvasStream[canvas_1238318286387] :: render() [13:43:04.332] index :: _onStepProgress_vidbot(), percent: 0 [13:43:26.714] index :: _onStepProgress_vidbot(), percent: 5 [13:43:53.656] index :: _onStepProgress_vidbot(), percent: 10 [13:44:18.648] index :: _onStepProgress_vidbot(), percent: 15 [13:44:42.381] index :: _onStepProgress_vidbot(), percent: 20 [13:45:03.603] index :: _onStepProgress_vidbot(), percent: 25 [13:45:24.031] index :: _onStepProgress_vidbot(), percent: 30 [13:45:38.442] index :: _onStepProgress_vidbot(), percent: 35 [13:46:01.597] index :: _onStepProgress_vidbot(), percent: 40 [13:46:24.106] index :: _onStepProgress_vidbot(), percent: 45 [13:46:38.993] index :: _onStepProgress_vidbot(), percent: 50 [13:46:58.165] index :: _onStepProgress_vidbot(), percent: 55 [13:47:18.257] index :: _onStepProgress_vidbot(), percent: 60 [13:47:38.439] index :: _onStepProgress_vidbot(), percent: 65 [13:48:04.310] index :: _onStepProgress_vidbot(), percent: 70 [13:48:28.545] index :: _onStepProgress_vidbot(), percent: 75 [13:48:51.846] index :: _onStepProgress_vidbot(), percent: 80 [13:49:16.266] index :: _onStepProgress_vidbot(), percent: 85 [13:49:40.605] index :: _onStepProgress_vidbot(), percent: 90 [13:50:02.996] index :: _onStepProgress_vidbot(), percent: 95 [13:50:23.709] index :: _onStepProgress_vidbot(), percent: 100 [13:50:25.854] StreamManager :: render(), Promise.all.then... [13:50:25.855] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [13:50:25.855] Vidbot :: _next(), _stepIndex:3 of 4 [13:50:25.855] index :: _onStepCompleted_vidbot(), step: 3 [13:50:25.855] index :: _onStepStarted_vidbot(), step: 4 [13:50:25.856] Vidbot :: step[3], label:Encoding Media [13:50:25.859] CanvasFilters :: Overlay() [13:50:25.859] AudioStream[audio_vo] :: inputOptions() [13:50:25.860] AudioFilters :: Volume() [13:50:25.860] filter: [2:a]volume=1[2_vol] [13:50:25.860] AudioFilters :: Delay() [13:50:25.860] filter: [2_vol]adelay=0|0[2_del] [13:50:25.860] AudioStream[bg_music] :: inputOptions() [13:50:25.860] AudioFilters :: Volume() [13:50:25.860] filter: [3:a]volume=0.25[3_vol] [13:50:25.860] AudioFilters :: FadeOut() [13:50:25.860] filter: [3_vol]afade=t=out:st=42.09:d=1[3_fadeout] [13:50:25.860] AudioFilters :: Delay() [13:50:25.861] filter: [3_fadeout]adelay=0|0[3_del] [13:50:25.861] AudioFilters :: Mix() [13:50:25.861] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [13:50:25.861] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [13:50:25.863] hang.time: 60 [13:50:25.988] Vidbot :: ffmpeg.on( 'start' ) [13:50:25.988] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=42.09 -r 30 -i ./tmp/canvas_1238318286387_%05d.png -to 00:00:42.090 -i file:///var/www/html/ [13:50:25.988] clients/20178/audio/81D938B0-FFDD-5860-2ABC-A5C19615D167.mp3 -to 00:00:42.090 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/RF3_Ea [13:50:25.988] sy_Listening.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.25[3_vol];[3_vol]afad [13:50:25.988] e=t=out:st=42.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 [13:50:25.989] mp4 -map [a_out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/20178/video/81D938B0- [13:50:25.989] FFDD-5860-2ABC-A5C19615D167.mp4 [13:50:26.256] index :: _onStepProgress_vidbot(), percent: -4935254116 [13:50:26.655] index :: _onStepProgress_vidbot(), percent: 1 [13:50:27.669] index :: _onStepProgress_vidbot(), percent: 7 [13:50:28.681] index :: _onStepProgress_vidbot(), percent: 12 [13:50:29.181] index :: _onStepProgress_vidbot(), percent: 15 [13:50:30.188] index :: _onStepProgress_vidbot(), percent: 20 [13:50:31.196] index :: _onStepProgress_vidbot(), percent: 25 [13:50:32.205] index :: _onStepProgress_vidbot(), percent: 30 [13:50:33.712] index :: _onStepProgress_vidbot(), percent: 36 [13:50:34.737] index :: _onStepProgress_vidbot(), percent: 41 [13:50:35.754] index :: _onStepProgress_vidbot(), percent: 46 [13:50:36.775] index :: _onStepProgress_vidbot(), percent: 51 [13:50:37.784] index :: _onStepProgress_vidbot(), percent: 56 [13:50:38.799] index :: _onStepProgress_vidbot(), percent: 61 [13:50:39.807] index :: _onStepProgress_vidbot(), percent: 67 [13:50:40.315] index :: _onStepProgress_vidbot(), percent: 70 [13:50:41.324] index :: _onStepProgress_vidbot(), percent: 75 [13:50:42.345] index :: _onStepProgress_vidbot(), percent: 80 [13:50:43.353] index :: _onStepProgress_vidbot(), percent: 85 [13:50:44.363] index :: _onStepProgress_vidbot(), percent: 90 [13:50:45.370] index :: _onStepProgress_vidbot(), percent: 95 [13:50:46.293] index :: _onStepProgress_vidbot(), percent: 100 [13:50:46.345] Vidbot :: ffmpeg.on( 'end' ), Done! [13:50:46.345] StreamManager :: dispose() [13:50:46.346] CanvasStream[canvas_1238318286387] :: dispose() [13:50:46.351] Vidbot :: fflog.on( 'finish' ) [13:50:46.351] fflog.path: /var/www/html/clients/20178/video/81D938B0-FFDD-5860-2ABC-A5C19615D167.mp4.fflog [13:50:46.351] Vidbot :: _next(), _stepIndex:4 of 4 [13:50:46.351] index :: _onStepCompleted_vidbot(), step: 4 [13:50:46.352] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 463.023, output: '/var/www/html/clients/20178/video/81D938B0-FFDD-5860-2ABC-A5C19615D167.mp4', duration: 42.09 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/20178/video/81D938B0-FFDD-5860-2ABC-A5C19615D167.mp4 Media Duration : 00:00:42.090 Generation Time : 00:07:43.023 ---------------------------------------------------------------------------------------------------------------