--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [02:51:12.585] Vidbot :: start() [02:51:12.586] Vidbot :: _next(), _stepIndex:0 of 4 [02:51:12.586] index :: _onStepStarted_vidbot(), step: 1 [02:51:12.587] Vidbot :: step[0], label:Initializing Core [02:51:12.596] index :: _onStepProgress_vidbot(), percent: 20 [02:51:12.596] Vidbot :: _parse() [02:51:12.597] index :: _onStepProgress_vidbot(), percent: 40 [02:51:12.597] Vidbot :: _validate() [02:51:12.598] index :: _onStepProgress_vidbot(), percent: 60 [02:51:12.598] Vidbot :: _fonts() [02:51:12.599] FabricFontManager :: add(), id: SourceSansPro-Bold [02:51:12.599] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [02:51:12.607] FabricFontManager :: add(), id: SourceSansPro-Light [02:51:12.607] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [02:51:12.607] FabricFontManager :: add(), id: DINOT-Bold [02:51:12.608] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [02:51:12.608] FabricFontManager :: add(), id: DINOT-Light [02:51:12.608] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [02:51:12.609] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [02:51:12.609] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [02:51:12.610] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [02:51:12.610] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [02:51:12.611] index :: _onStepProgress_vidbot(), percent: 80 [02:51:12.611] Vidbot :: _clips() [02:51:12.612] StreamManager :: add(), id:audio_vo, type:audio [02:51:12.612] AudioClip[audio_vo] :: constructor() [02:51:12.612] InputStream[audio_vo] :: constructor() [02:51:12.612] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [02:51:12.615] StreamManager :: add(), id:bg_music, type:audio [02:51:12.615] AudioClip[bg_music] :: constructor() [02:51:12.615] InputStream[bg_music] :: constructor() [02:51:12.615] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [02:51:12.616] StreamManager :: add(), id:simplefadedisplay, type:canvas [02:51:12.616] CanvasStream[canvas_1719559955058] :: constructor() [02:51:12.616] InputStream[canvas_1719559955058] :: constructor() [02:51:12.690] KenBurnsSlideshow[simplefadedisplay] :: constructor() [02:51:12.690] Overlay[simplefadedisplay] :: constructor() [02:51:12.690] CanvasClip[simplefadedisplay] :: constructor() [02:51:12.690] Clip[simplefadedisplay] :: constructor() [02:51:12.691] clip:"simplefadedisplay" added to stream:"canvas_1719559955058" [02:51:12.691] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1719559955058', clipId: 'simplefadedisplay' } [02:51:12.691] StreamManager :: add(), id:caption, type:canvas [02:51:12.691] RenCaption[caption] :: constructor() [02:51:12.691] Ren[caption] :: constructor() [02:51:12.691] Overlay[caption] :: constructor() [02:51:12.691] CanvasClip[caption] :: constructor() [02:51:12.691] Clip[caption] :: constructor() [02:51:12.691] clip:"caption" added to stream:"canvas_1719559955058" [02:51:12.691] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1719559955058', clipId: 'caption' } [02:51:12.692] StreamManager :: add(), id:options, type:canvas [02:51:12.692] RenOptions[options] :: constructor() [02:51:12.692] Ren[options] :: constructor() [02:51:12.692] Overlay[options] :: constructor() [02:51:12.692] CanvasClip[options] :: constructor() [02:51:12.692] Clip[options] :: constructor() [02:51:12.692] clip:"options" added to stream:"canvas_1719559955058" [02:51:12.692] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1719559955058', clipId: 'options' } [02:51:12.692] StreamManager :: add(), id:map, type:canvas [02:51:12.692] RenMap[map] :: constructor() [02:51:12.692] Ren[map] :: constructor() [02:51:12.692] Overlay[map] :: constructor() [02:51:12.692] CanvasClip[map] :: constructor() [02:51:12.693] Clip[map] :: constructor() [02:51:12.693] clip:"map" added to stream:"canvas_1719559955058" [02:51:12.693] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1719559955058', clipId: 'map' } [02:51:12.693] all added... [02:51:12.693] Vidbot :: _next(), _stepIndex:1 of 4 [02:51:12.693] index :: _onStepCompleted_vidbot(), step: 1 [02:51:12.693] index :: _onStepStarted_vidbot(), step: 2 [02:51:12.694] Vidbot :: step[1], label:Initializing Input Streams [02:51:12.694] StreamManager :: init() [02:51:12.694] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [02:51:12.695] index :: _onStepProgress_vidbot(), percent: 33 [02:51:12.695] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [02:51:12.695] index :: _onStepProgress_vidbot(), percent: 67 [02:51:12.695] CanvasStream[canvas_1719559955058] :: _init(), BEGIN [02:51:12.695] i:0, c.id:simplefadedisplay [02:51:12.696] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [02:51:12.696] KenBurnsSlideshow[simplefadedisplay] :: _validate() [02:51:12.696] KenBurnsSlideshow[undefined] :: _validateAnim() [02:51:12.697] KenBurnsSlideshow[undefined] :: _validateTheme() [02:51:12.698] i:1, c.id:caption [02:51:12.698] RenCaption[caption] :: _init() [02:51:12.698] RenCaption[caption] :: _validate() [02:51:12.699] i:2, c.id:options [02:51:12.699] RenPrice[options] :: _init() [02:51:12.700] RenOptions[options] :: _validate() [02:51:12.700] i:3, c.id:map [02:51:12.700] RenMap[map] :: _init() [02:51:12.701] RenMap[map] :: _validate() [02:51:12.701] KenBurnsSlideshow[simplefadedisplay] :: _build() [02:51:12.707] AnimatedImageFrame[aif] :: constructor() [02:51:12.708] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:12.708] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_1.jpg [02:51:12.719] RenCaption[caption] :: _build() [02:51:12.734] RenOptions[options] :: _assets() [02:51:12.734] CanvasClip :: LoadSVGFromStringWithPromise() [02:51:12.762] CanvasClip :: LoadSVGFromString(), loaded [02:51:12.770] RenMap[map] :: _assets() [02:51:12.770] CanvasClip :: LoadSVGFromStringWithPromise() [02:51:12.782] CanvasClip :: LoadSVGFromString(), loaded [02:51:12.784] CanvasClip :: LoadImageWithPromise(), src: map_540.jpg [02:51:12.786] Overlay[caption] :: _animate() [02:51:12.790] RenOptions[options] :: _build() [02:51:12.900] CanvasStream[caption] :: _init(), p.then() [02:51:12.900] RenOptions[options] :: _animate() [02:51:12.901] Overlay[options] :: _animate() [02:51:12.901] CanvasStream[options] :: _init(), p.then() [02:51:12.948] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:12.952] AnimatedImageFrame[aif] :: _init(), END [02:51:12.953] AnimatedImageFrame[aif] :: constructor() [02:51:12.953] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:12.954] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_2.jpg [02:51:12.973] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:12.974] RenMap[map] :: _build() [02:51:12.995] Overlay[map] :: _animate() [02:51:12.995] CanvasStream[map] :: _init(), p.then() [02:51:13.032] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.033] AnimatedImageFrame[aif] :: _init(), END [02:51:13.034] AnimatedImageFrame[aif] :: constructor() [02:51:13.034] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.035] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_3.jpg [02:51:13.075] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.077] AnimatedImageFrame[aif] :: _init(), END [02:51:13.077] AnimatedImageFrame[aif] :: constructor() [02:51:13.078] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.078] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_4.jpg [02:51:13.119] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.120] AnimatedImageFrame[aif] :: _init(), END [02:51:13.121] AnimatedImageFrame[aif] :: constructor() [02:51:13.121] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.121] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_5.jpg [02:51:13.159] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.160] AnimatedImageFrame[aif] :: _init(), END [02:51:13.160] AnimatedImageFrame[aif] :: constructor() [02:51:13.161] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.161] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_6.jpg [02:51:13.208] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.209] AnimatedImageFrame[aif] :: _init(), END [02:51:13.209] AnimatedImageFrame[aif] :: constructor() [02:51:13.209] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.209] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_7.jpg [02:51:13.247] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.247] AnimatedImageFrame[aif] :: _init(), END [02:51:13.248] AnimatedImageFrame[aif] :: constructor() [02:51:13.248] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.248] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_8.jpg [02:51:13.286] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.287] AnimatedImageFrame[aif] :: _init(), END [02:51:13.288] AnimatedImageFrame[aif] :: constructor() [02:51:13.288] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.288] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_9.jpg [02:51:13.331] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.332] AnimatedImageFrame[aif] :: _init(), END [02:51:13.332] AnimatedImageFrame[aif] :: constructor() [02:51:13.333] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.333] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_10.jpg [02:51:13.364] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.365] AnimatedImageFrame[aif] :: _init(), END [02:51:13.365] AnimatedImageFrame[aif] :: constructor() [02:51:13.366] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.366] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_11.jpg [02:51:13.393] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.394] AnimatedImageFrame[aif] :: _init(), END [02:51:13.394] AnimatedImageFrame[aif] :: constructor() [02:51:13.395] AnimatedImageFrame[aif] :: _init(), BEGIN [02:51:13.395] CanvasClip :: LoadImageWithPromise(), src: 6FD5C327-74D3-9084-2E7C-39554D276861_12.jpg [02:51:13.425] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:51:13.426] AnimatedImageFrame[aif] :: _init(), END [02:51:13.426] Overlay[simplefadedisplay] :: _animate() [02:51:13.427] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [02:51:13.427] CanvasStream[simplefadedisplay] :: _init(), p.then() [02:51:13.427] CanvasStream[canvas_1719559955058] :: _init(), promise.all.then() [02:51:13.430] CanvasStream[canvas_1719559955058] :: _init(), END [02:51:13.430] StreamMangaer :: init(), stream[canvas_1719559955058].then() [02:51:13.430] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_1719559955058', progress: 1 } [02:51:13.430] index :: _onStepProgress_vidbot(), percent: 100 [02:51:13.431] StreamManager :: init(), promise.all.then... [02:51:13.431] Vidbot :: StreamMgr.on( 'INITED' ) [02:51:13.431] Vidbot :: _next(), _stepIndex:2 of 4 [02:51:13.431] index :: _onStepCompleted_vidbot(), step: 2 [02:51:13.431] index :: _onStepStarted_vidbot(), step: 3 [02:51:13.431] Vidbot :: step[2], label:Rendering Canvas Streams [02:51:13.432] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [02:51:13.432] StreamManager :: render() [02:51:13.433] CanvasStream[canvas_1719559955058] :: render() [02:51:13.504] index :: _onStepProgress_vidbot(), percent: 0 [02:51:38.895] index :: _onStepProgress_vidbot(), percent: 5 [02:52:08.071] index :: _onStepProgress_vidbot(), percent: 10 [02:52:33.111] index :: _onStepProgress_vidbot(), percent: 15 [02:53:02.891] index :: _onStepProgress_vidbot(), percent: 20 [02:53:34.923] index :: _onStepProgress_vidbot(), percent: 25 [02:53:59.997] index :: _onStepProgress_vidbot(), percent: 30 [02:54:25.956] index :: _onStepProgress_vidbot(), percent: 35 [02:54:51.743] index :: _onStepProgress_vidbot(), percent: 40 [02:55:11.742] index :: _onStepProgress_vidbot(), percent: 45 [02:55:32.983] index :: _onStepProgress_vidbot(), percent: 50 [02:55:56.096] index :: _onStepProgress_vidbot(), percent: 55 [02:56:16.839] index :: _onStepProgress_vidbot(), percent: 60 [02:56:40.291] index :: _onStepProgress_vidbot(), percent: 65 [02:57:07.579] index :: _onStepProgress_vidbot(), percent: 70 [02:57:33.516] index :: _onStepProgress_vidbot(), percent: 75 [02:58:00.803] index :: _onStepProgress_vidbot(), percent: 80 [02:58:26.055] index :: _onStepProgress_vidbot(), percent: 85 [02:58:51.267] index :: _onStepProgress_vidbot(), percent: 90 [02:59:09.487] index :: _onStepProgress_vidbot(), percent: 95 [02:59:22.551] index :: _onStepProgress_vidbot(), percent: 100 [02:59:23.510] StreamManager :: render(), Promise.all.then... [02:59:23.510] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [02:59:23.510] Vidbot :: _next(), _stepIndex:3 of 4 [02:59:23.511] index :: _onStepCompleted_vidbot(), step: 3 [02:59:23.511] index :: _onStepStarted_vidbot(), step: 4 [02:59:23.513] Vidbot :: step[3], label:Encoding Media [02:59:23.516] CanvasFilters :: Overlay() [02:59:23.516] AudioStream[audio_vo] :: inputOptions() [02:59:23.517] AudioFilters :: Volume() [02:59:23.517] filter: [2:a]volume=1[2_vol] [02:59:23.517] AudioFilters :: Delay() [02:59:23.517] filter: [2_vol]adelay=0|0[2_del] [02:59:23.517] AudioStream[bg_music] :: inputOptions() [02:59:23.517] AudioFilters :: Volume() [02:59:23.517] filter: [3:a]volume=0.20[3_vol] [02:59:23.518] AudioFilters :: FadeOut() [02:59:23.518] filter: [3_vol]afade=t=out:st=36:d=1[3_fadeout] [02:59:23.518] AudioFilters :: Delay() [02:59:23.518] filter: [3_fadeout]adelay=0|0[3_del] [02:59:23.518] AudioFilters :: Mix() [02:59:23.518] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:59:23.518] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:59:23.521] hang.time: 60 [02:59:23.637] Vidbot :: ffmpeg.on( 'start' ) [02:59:23.638] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=39 -r 30 -i ./tmp/canvas_1719559955058_%05d.png -to 00:00:39.000 -i file:///var/www/html/cli [02:59:23.638] ents/14716/audio/6FD5C327-74D3-9084-2E7C-39554D276861.mp3 -to 00:00:36.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Jazz-4.mp [02:59:23.638] 3 -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=36:d [02:59:23.638] =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:59:23.638] map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/14716/video/6FD5C327-74D3-9084-2E7C-395 [02:59:23.638] 54D276861.mp4 [02:59:23.836] index :: _onStepProgress_vidbot(), percent: -5326278095 [02:59:24.255] index :: _onStepProgress_vidbot(), percent: 2 [02:59:24.766] index :: _onStepProgress_vidbot(), percent: 6 [02:59:25.770] index :: _onStepProgress_vidbot(), percent: 11 [02:59:26.778] index :: _onStepProgress_vidbot(), percent: 17 [02:59:27.285] index :: _onStepProgress_vidbot(), percent: 20 [02:59:28.295] index :: _onStepProgress_vidbot(), percent: 27 [02:59:28.795] index :: _onStepProgress_vidbot(), percent: 30 [02:59:29.805] index :: _onStepProgress_vidbot(), percent: 37 [02:59:30.305] index :: _onStepProgress_vidbot(), percent: 40 [02:59:31.317] index :: _onStepProgress_vidbot(), percent: 46 [02:59:31.819] index :: _onStepProgress_vidbot(), percent: 50 [02:59:32.835] index :: _onStepProgress_vidbot(), percent: 57 [02:59:33.337] index :: _onStepProgress_vidbot(), percent: 60 [02:59:34.372] index :: _onStepProgress_vidbot(), percent: 66 [02:59:35.371] index :: _onStepProgress_vidbot(), percent: 72 [02:59:36.378] index :: _onStepProgress_vidbot(), percent: 77 [02:59:36.876] index :: _onStepProgress_vidbot(), percent: 80 [02:59:37.895] index :: _onStepProgress_vidbot(), percent: 86 [02:59:38.406] index :: _onStepProgress_vidbot(), percent: 90 [02:59:39.421] index :: _onStepProgress_vidbot(), percent: 95 [02:59:39.814] index :: _onStepProgress_vidbot(), percent: 100 [02:59:39.849] Vidbot :: ffmpeg.on( 'end' ), Done! [02:59:39.849] StreamManager :: dispose() [02:59:39.850] CanvasStream[canvas_1719559955058] :: dispose() [02:59:39.867] Vidbot :: fflog.on( 'finish' ) [02:59:39.868] fflog.path: /var/www/html/clients/14716/video/6FD5C327-74D3-9084-2E7C-39554D276861.mp4.fflog [02:59:39.868] Vidbot :: _next(), _stepIndex:4 of 4 [02:59:39.868] index :: _onStepCompleted_vidbot(), step: 4 [02:59:39.868] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 507.308, output: '/var/www/html/clients/14716/video/6FD5C327-74D3-9084-2E7C-39554D276861.mp4', duration: 39 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/14716/video/6FD5C327-74D3-9084-2E7C-39554D276861.mp4 Media Duration : 00:00:39.000 Generation Time : 00:08:27.307 ---------------------------------------------------------------------------------------------------------------