--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.0... --------------------------------------------------------------------------------------------------------------- [02:48:18.080] Vidbot :: start() [02:48:18.081] Vidbot :: _next(), _stepIndex:0 of 4 [02:48:18.081] index :: _onStepStarted_vidbot(), step: 1 [02:48:18.082] Vidbot :: step[0], label:Initializing Core [02:48:18.091] index :: _onStepProgress_vidbot(), percent: 20 [02:48:18.091] Vidbot :: _parse() [02:48:18.092] index :: _onStepProgress_vidbot(), percent: 40 [02:48:18.093] Vidbot :: _validate() [02:48:18.093] index :: _onStepProgress_vidbot(), percent: 60 [02:48:18.094] Vidbot :: _fonts() [02:48:18.094] FabricFontManager :: add(), id: SourceSansPro-Bold [02:48:18.094] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [02:48:18.103] FabricFontManager :: add(), id: SourceSansPro-Light [02:48:18.103] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [02:48:18.104] FabricFontManager :: add(), id: DINOT-Bold [02:48:18.104] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [02:48:18.105] FabricFontManager :: add(), id: DINOT-Light [02:48:18.105] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [02:48:18.106] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [02:48:18.106] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [02:48:18.107] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [02:48:18.107] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [02:48:18.108] index :: _onStepProgress_vidbot(), percent: 80 [02:48:18.108] Vidbot :: _clips() [02:48:18.109] StreamManager :: add(), id:audio_vo, type:audio [02:48:18.109] AudioClip[audio_vo] :: constructor() [02:48:18.109] InputStream[audio_vo] :: constructor() [02:48:18.109] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [02:48:18.112] StreamManager :: add(), id:bg_music, type:audio [02:48:18.112] AudioClip[bg_music] :: constructor() [02:48:18.112] InputStream[bg_music] :: constructor() [02:48:18.113] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [02:48:18.113] StreamManager :: add(), id:simplefadedisplay, type:canvas [02:48:18.113] CanvasStream[canvas_1734395423155] :: constructor() [02:48:18.113] InputStream[canvas_1734395423155] :: constructor() [02:48:18.199] KenBurnsSlideshow[simplefadedisplay] :: constructor() [02:48:18.199] Overlay[simplefadedisplay] :: constructor() [02:48:18.199] CanvasClip[simplefadedisplay] :: constructor() [02:48:18.199] Clip[simplefadedisplay] :: constructor() [02:48:18.199] clip:"simplefadedisplay" added to stream:"canvas_1734395423155" [02:48:18.199] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1734395423155', clipId: 'simplefadedisplay' } [02:48:18.200] StreamManager :: add(), id:caption, type:canvas [02:48:18.200] RenCaption[caption] :: constructor() [02:48:18.200] Ren[caption] :: constructor() [02:48:18.200] Overlay[caption] :: constructor() [02:48:18.200] CanvasClip[caption] :: constructor() [02:48:18.200] Clip[caption] :: constructor() [02:48:18.200] clip:"caption" added to stream:"canvas_1734395423155" [02:48:18.200] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1734395423155', clipId: 'caption' } [02:48:18.200] all added... [02:48:18.201] Vidbot :: _next(), _stepIndex:1 of 4 [02:48:18.201] index :: _onStepCompleted_vidbot(), step: 1 [02:48:18.201] index :: _onStepStarted_vidbot(), step: 2 [02:48:18.201] Vidbot :: step[1], label:Initializing Input Streams [02:48:18.202] StreamManager :: init() [02:48:18.202] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [02:48:18.202] index :: _onStepProgress_vidbot(), percent: 33 [02:48:18.202] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [02:48:18.203] index :: _onStepProgress_vidbot(), percent: 67 [02:48:18.203] CanvasStream[canvas_1734395423155] :: _init(), BEGIN [02:48:18.203] i:0, c.id:simplefadedisplay [02:48:18.204] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [02:48:18.204] KenBurnsSlideshow[simplefadedisplay] :: _validate() [02:48:18.204] KenBurnsSlideshow[undefined] :: _validateAnim() [02:48:18.205] KenBurnsSlideshow[undefined] :: _validateTheme() [02:48:18.206] i:1, c.id:caption [02:48:18.206] RenCaption[caption] :: _init() [02:48:18.207] RenCaption[caption] :: _validate() [02:48:18.208] KenBurnsSlideshow[simplefadedisplay] :: _build() [02:48:18.214] AnimatedImageFrame[aif] :: constructor() [02:48:18.215] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.215] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_1.jpg [02:48:18.228] RenCaption[caption] :: _build() [02:48:18.247] Overlay[caption] :: _animate() [02:48:18.250] CanvasStream[caption] :: _init(), p.then() [02:48:18.270] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.273] AnimatedImageFrame[aif] :: _init(), END [02:48:18.274] AnimatedImageFrame[aif] :: constructor() [02:48:18.274] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.275] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_2.jpg [02:48:18.289] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.291] AnimatedImageFrame[aif] :: _init(), END [02:48:18.292] AnimatedImageFrame[aif] :: constructor() [02:48:18.292] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.292] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_3.jpg [02:48:18.307] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.308] AnimatedImageFrame[aif] :: _init(), END [02:48:18.309] AnimatedImageFrame[aif] :: constructor() [02:48:18.309] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.309] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_4.jpg [02:48:18.335] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.336] AnimatedImageFrame[aif] :: _init(), END [02:48:18.336] AnimatedImageFrame[aif] :: constructor() [02:48:18.337] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.337] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_5.jpg [02:48:18.357] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.358] AnimatedImageFrame[aif] :: _init(), END [02:48:18.359] AnimatedImageFrame[aif] :: constructor() [02:48:18.359] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.359] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_6.jpg [02:48:18.380] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.381] AnimatedImageFrame[aif] :: _init(), END [02:48:18.382] AnimatedImageFrame[aif] :: constructor() [02:48:18.382] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.382] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_7.jpg [02:48:18.402] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.403] AnimatedImageFrame[aif] :: _init(), END [02:48:18.403] AnimatedImageFrame[aif] :: constructor() [02:48:18.403] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.403] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_8.jpg [02:48:18.422] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.423] AnimatedImageFrame[aif] :: _init(), END [02:48:18.423] AnimatedImageFrame[aif] :: constructor() [02:48:18.424] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.424] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_9.jpg [02:48:18.444] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.445] AnimatedImageFrame[aif] :: _init(), END [02:48:18.445] AnimatedImageFrame[aif] :: constructor() [02:48:18.445] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.445] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_10.jpg [02:48:18.463] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.464] AnimatedImageFrame[aif] :: _init(), END [02:48:18.465] AnimatedImageFrame[aif] :: constructor() [02:48:18.465] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.465] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_11.jpg [02:48:18.487] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.488] AnimatedImageFrame[aif] :: _init(), END [02:48:18.489] AnimatedImageFrame[aif] :: constructor() [02:48:18.489] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.489] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_12.jpg [02:48:18.524] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.525] AnimatedImageFrame[aif] :: _init(), END [02:48:18.525] AnimatedImageFrame[aif] :: constructor() [02:48:18.525] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.525] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_13.jpg [02:48:18.550] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.551] AnimatedImageFrame[aif] :: _init(), END [02:48:18.551] AnimatedImageFrame[aif] :: constructor() [02:48:18.551] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.551] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_14.jpg [02:48:18.564] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.566] AnimatedImageFrame[aif] :: _init(), END [02:48:18.566] AnimatedImageFrame[aif] :: constructor() [02:48:18.567] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.567] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_15.jpg [02:48:18.582] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.583] AnimatedImageFrame[aif] :: _init(), END [02:48:18.584] AnimatedImageFrame[aif] :: constructor() [02:48:18.584] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.584] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_16.jpg [02:48:18.598] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.599] AnimatedImageFrame[aif] :: _init(), END [02:48:18.600] AnimatedImageFrame[aif] :: constructor() [02:48:18.600] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.600] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_17.jpg [02:48:18.613] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.614] AnimatedImageFrame[aif] :: _init(), END [02:48:18.615] AnimatedImageFrame[aif] :: constructor() [02:48:18.615] AnimatedImageFrame[aif] :: _init(), BEGIN [02:48:18.615] CanvasClip :: LoadImageWithPromise(), src: AC654891-8327-A9C9-F135-996DC4133534_18.jpg [02:48:18.628] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:48:18.629] AnimatedImageFrame[aif] :: _init(), END [02:48:18.629] Overlay[simplefadedisplay] :: _animate() [02:48:18.630] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [02:48:18.630] CanvasStream[simplefadedisplay] :: _init(), p.then() [02:48:18.630] CanvasStream[canvas_1734395423155] :: _init(), promise.all.then() [02:48:18.632] CanvasStream[canvas_1734395423155] :: _init(), END [02:48:18.632] StreamMangaer :: init(), stream[canvas_1734395423155].then() [02:48:18.633] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_1734395423155', progress: 1 } [02:48:18.633] index :: _onStepProgress_vidbot(), percent: 100 [02:48:18.633] StreamManager :: init(), promise.all.then... [02:48:18.633] Vidbot :: StreamMgr.on( 'INITED' ) [02:48:18.633] Vidbot :: _next(), _stepIndex:2 of 4 [02:48:18.633] index :: _onStepCompleted_vidbot(), step: 2 [02:48:18.633] index :: _onStepStarted_vidbot(), step: 3 [02:48:18.634] Vidbot :: step[2], label:Rendering Canvas Streams [02:48:18.634] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [02:48:18.634] StreamManager :: render() [02:48:18.635] CanvasStream[canvas_1734395423155] :: render() [02:48:18.672] index :: _onStepProgress_vidbot(), percent: 0 [02:48:26.103] index :: _onStepProgress_vidbot(), percent: 5 [02:48:37.219] index :: _onStepProgress_vidbot(), percent: 10 [02:48:44.994] index :: _onStepProgress_vidbot(), percent: 15 [02:48:57.360] index :: _onStepProgress_vidbot(), percent: 20 [02:49:13.351] index :: _onStepProgress_vidbot(), percent: 25 [02:49:28.959] index :: _onStepProgress_vidbot(), percent: 30 [02:49:45.307] index :: _onStepProgress_vidbot(), percent: 35 [02:50:00.996] index :: _onStepProgress_vidbot(), percent: 40 [02:50:13.934] index :: _onStepProgress_vidbot(), percent: 45 [02:50:29.559] index :: _onStepProgress_vidbot(), percent: 50 [02:50:46.658] index :: _onStepProgress_vidbot(), percent: 55 [02:51:06.057] index :: _onStepProgress_vidbot(), percent: 60 [02:51:22.779] index :: _onStepProgress_vidbot(), percent: 65 [02:51:38.459] index :: _onStepProgress_vidbot(), percent: 70 [02:51:50.492] index :: _onStepProgress_vidbot(), percent: 75 [02:51:57.756] index :: _onStepProgress_vidbot(), percent: 80 [02:52:05.079] index :: _onStepProgress_vidbot(), percent: 85 [02:52:12.971] index :: _onStepProgress_vidbot(), percent: 90 [02:52:19.948] index :: _onStepProgress_vidbot(), percent: 95 [02:52:26.651] index :: _onStepProgress_vidbot(), percent: 100 [02:52:27.312] StreamManager :: render(), Promise.all.then... [02:52:27.312] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [02:52:27.312] Vidbot :: _next(), _stepIndex:3 of 4 [02:52:27.313] index :: _onStepCompleted_vidbot(), step: 3 [02:52:27.313] index :: _onStepStarted_vidbot(), step: 4 [02:52:27.314] Vidbot :: step[3], label:Encoding Media [02:52:27.317] CanvasFilters :: Overlay() [02:52:27.317] AudioStream[audio_vo] :: inputOptions() [02:52:27.317] AudioFilters :: Volume() [02:52:27.318] filter: [2:a]volume=1[2_vol] [02:52:27.318] AudioFilters :: Delay() [02:52:27.318] filter: [2_vol]adelay=0|0[2_del] [02:52:27.318] AudioStream[bg_music] :: inputOptions() [02:52:27.318] AudioFilters :: Volume() [02:52:27.318] filter: [3:a]volume=0.25[3_vol] [02:52:27.318] AudioFilters :: FadeOut() [02:52:27.318] filter: [3_vol]afade=t=out:st=54:d=1[3_fadeout] [02:52:27.318] AudioFilters :: Delay() [02:52:27.318] filter: [3_fadeout]adelay=0|0[3_del] [02:52:27.319] AudioFilters :: Mix() [02:52:27.319] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:52:27.319] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:52:27.321] hang.time: 60 [02:52:27.425] Vidbot :: ffmpeg.on( 'start' ) [02:52:27.425] ffmpeg -f lavfi -i color=c=000000:s=640x360:r=30:duration=54 -r 30 -i ./tmp/canvas_1734395423155_%05d.png -to 00:00:54.000 -i file:///var/www/html/cli [02:52:27.425] ents/16183/audio/AC654891-8327-A9C9-F135-996DC4133534.mp3 -to 00:00:54.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Concept5. [02:52:27.425] 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]afade=t=out:st=54 [02:52:27.425] :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_out] [02:52:27.425] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/16183/video/AC654891-8327-A9C9-F135-9 [02:52:27.425] 96DC4133534.mp4 [02:52:27.585] index :: _onStepProgress_vidbot(), percent: -3846756402 [02:52:28.038] index :: _onStepProgress_vidbot(), percent: 2 [02:52:29.046] index :: _onStepProgress_vidbot(), percent: 6 [02:52:30.069] index :: _onStepProgress_vidbot(), percent: 11 [02:52:31.078] index :: _onStepProgress_vidbot(), percent: 16 [02:52:32.097] index :: _onStepProgress_vidbot(), percent: 22 [02:52:33.099] index :: _onStepProgress_vidbot(), percent: 27 [02:52:33.600] index :: _onStepProgress_vidbot(), percent: 30 [02:52:34.609] index :: _onStepProgress_vidbot(), percent: 35 [02:52:35.614] index :: _onStepProgress_vidbot(), percent: 42 [02:52:36.118] index :: _onStepProgress_vidbot(), percent: 46 [02:52:37.125] index :: _onStepProgress_vidbot(), percent: 52 [02:52:38.127] index :: _onStepProgress_vidbot(), percent: 57 [02:52:38.637] index :: _onStepProgress_vidbot(), percent: 60 [02:52:39.631] index :: _onStepProgress_vidbot(), percent: 67 [02:52:40.135] index :: _onStepProgress_vidbot(), percent: 70 [02:52:40.637] index :: _onStepProgress_vidbot(), percent: 75 [02:52:41.639] index :: _onStepProgress_vidbot(), percent: 83 [02:52:42.152] index :: _onStepProgress_vidbot(), percent: 86 [02:52:42.655] index :: _onStepProgress_vidbot(), percent: 91 [02:52:43.166] index :: _onStepProgress_vidbot(), percent: 95 [02:52:43.788] index :: _onStepProgress_vidbot(), percent: 100 [02:52:43.821] Vidbot :: ffmpeg.on( 'end' ), Done! [02:52:43.821] StreamManager :: dispose() [02:52:43.822] CanvasStream[canvas_1734395423155] :: dispose() [02:52:43.827] Vidbot :: fflog.on( 'finish' ) [02:52:43.827] fflog.path: /var/www/html/clients/16183/video/AC654891-8327-A9C9-F135-996DC4133534.mp4.fflog [02:52:43.827] Vidbot :: _next(), _stepIndex:4 of 4 [02:52:43.827] index :: _onStepCompleted_vidbot(), step: 4 [02:52:43.828] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 265.768, output: '/var/www/html/clients/16183/video/AC654891-8327-A9C9-F135-996DC4133534.mp4', duration: 54 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/16183/video/AC654891-8327-A9C9-F135-996DC4133534.mp4 Media Duration : 00:00:54.000 Generation Time : 00:04:25.767 ---------------------------------------------------------------------------------------------------------------