--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [02:03:25.078] Vidbot :: start() [02:03:25.079] Vidbot :: _next(), _stepIndex:0 of 4 [02:03:25.080] index :: _onStepStarted_vidbot(), step: 1 [02:03:25.081] Vidbot :: step[0], label:Initializing Core [02:03:25.091] index :: _onStepProgress_vidbot(), percent: 20 [02:03:25.092] Vidbot :: _parse() [02:03:25.093] index :: _onStepProgress_vidbot(), percent: 40 [02:03:25.093] Vidbot :: _validate() [02:03:25.094] index :: _onStepProgress_vidbot(), percent: 60 [02:03:25.094] Vidbot :: _fonts() [02:03:25.095] FabricFontManager :: add(), id: SourceSansPro-Bold [02:03:25.095] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [02:03:25.104] FabricFontManager :: add(), id: SourceSansPro-Light [02:03:25.105] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [02:03:25.106] FabricFontManager :: add(), id: DINOT-Bold [02:03:25.106] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [02:03:25.107] FabricFontManager :: add(), id: DINOT-Light [02:03:25.107] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [02:03:25.108] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [02:03:25.108] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [02:03:25.108] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [02:03:25.109] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [02:03:25.110] index :: _onStepProgress_vidbot(), percent: 80 [02:03:25.110] Vidbot :: _clips() [02:03:25.111] StreamManager :: add(), id:audio_vo, type:audio [02:03:25.111] AudioClip[audio_vo] :: constructor() [02:03:25.111] InputStream[audio_vo] :: constructor() [02:03:25.112] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [02:03:25.114] StreamManager :: add(), id:bg_music, type:audio [02:03:25.115] AudioClip[bg_music] :: constructor() [02:03:25.115] InputStream[bg_music] :: constructor() [02:03:25.115] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [02:03:25.115] StreamManager :: add(), id:simplefadedisplay, type:canvas [02:03:25.116] CanvasStream[canvas_823592227228] :: constructor() [02:03:25.116] InputStream[canvas_823592227228] :: constructor() [02:03:25.205] KenBurnsSlideshow[simplefadedisplay] :: constructor() [02:03:25.205] Overlay[simplefadedisplay] :: constructor() [02:03:25.205] CanvasClip[simplefadedisplay] :: constructor() [02:03:25.206] Clip[simplefadedisplay] :: constructor() [02:03:25.206] clip:"simplefadedisplay" added to stream:"canvas_823592227228" [02:03:25.206] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_823592227228', clipId: 'simplefadedisplay' } [02:03:25.206] StreamManager :: add(), id:caption, type:canvas [02:03:25.206] RenCaption[caption] :: constructor() [02:03:25.207] Ren[caption] :: constructor() [02:03:25.207] Overlay[caption] :: constructor() [02:03:25.207] CanvasClip[caption] :: constructor() [02:03:25.207] Clip[caption] :: constructor() [02:03:25.207] clip:"caption" added to stream:"canvas_823592227228" [02:03:25.207] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_823592227228', clipId: 'caption' } [02:03:25.207] StreamManager :: add(), id:options, type:canvas [02:03:25.207] RenOptions[options] :: constructor() [02:03:25.207] Ren[options] :: constructor() [02:03:25.207] Overlay[options] :: constructor() [02:03:25.208] CanvasClip[options] :: constructor() [02:03:25.208] Clip[options] :: constructor() [02:03:25.208] clip:"options" added to stream:"canvas_823592227228" [02:03:25.208] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_823592227228', clipId: 'options' } [02:03:25.208] StreamManager :: add(), id:map, type:canvas [02:03:25.208] RenMap[map] :: constructor() [02:03:25.208] Ren[map] :: constructor() [02:03:25.208] Overlay[map] :: constructor() [02:03:25.208] CanvasClip[map] :: constructor() [02:03:25.208] Clip[map] :: constructor() [02:03:25.209] clip:"map" added to stream:"canvas_823592227228" [02:03:25.209] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_823592227228', clipId: 'map' } [02:03:25.209] all added... [02:03:25.209] Vidbot :: _next(), _stepIndex:1 of 4 [02:03:25.209] index :: _onStepCompleted_vidbot(), step: 1 [02:03:25.210] index :: _onStepStarted_vidbot(), step: 2 [02:03:25.210] Vidbot :: step[1], label:Initializing Input Streams [02:03:25.210] StreamManager :: init() [02:03:25.211] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [02:03:25.211] index :: _onStepProgress_vidbot(), percent: 33 [02:03:25.211] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [02:03:25.211] index :: _onStepProgress_vidbot(), percent: 67 [02:03:25.212] CanvasStream[canvas_823592227228] :: _init(), BEGIN [02:03:25.212] i:0, c.id:simplefadedisplay [02:03:25.212] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [02:03:25.212] KenBurnsSlideshow[simplefadedisplay] :: _validate() [02:03:25.213] KenBurnsSlideshow[undefined] :: _validateAnim() [02:03:25.213] KenBurnsSlideshow[undefined] :: _validateTheme() [02:03:25.215] i:1, c.id:caption [02:03:25.215] RenCaption[caption] :: _init() [02:03:25.215] RenCaption[caption] :: _validate() [02:03:25.216] i:2, c.id:options [02:03:25.216] RenPrice[options] :: _init() [02:03:25.217] RenOptions[options] :: _validate() [02:03:25.218] i:3, c.id:map [02:03:25.218] RenMap[map] :: _init() [02:03:25.218] RenMap[map] :: _validate() [02:03:25.219] KenBurnsSlideshow[simplefadedisplay] :: _build() [02:03:25.226] AnimatedImageFrame[aif] :: constructor() [02:03:25.227] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.227] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_1.jpg [02:03:25.241] RenCaption[caption] :: _build() [02:03:25.259] RenOptions[options] :: _assets() [02:03:25.260] CanvasClip :: LoadSVGFromStringWithPromise() [02:03:25.295] CanvasClip :: LoadSVGFromString(), loaded [02:03:25.297] RenMap[map] :: _assets() [02:03:25.298] CanvasClip :: LoadSVGFromStringWithPromise() [02:03:25.312] CanvasClip :: LoadSVGFromString(), loaded [02:03:25.315] CanvasClip :: LoadImageWithPromise(), src: map_540.jpg [02:03:25.318] Overlay[caption] :: _animate() [02:03:25.324] RenOptions[options] :: _build() [02:03:25.451] CanvasStream[caption] :: _init(), p.then() [02:03:25.452] RenOptions[options] :: _animate() [02:03:25.452] Overlay[options] :: _animate() [02:03:25.453] CanvasStream[options] :: _init(), p.then() [02:03:25.497] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.501] AnimatedImageFrame[aif] :: _init(), END [02:03:25.503] AnimatedImageFrame[aif] :: constructor() [02:03:25.503] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.503] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_2.jpg [02:03:25.527] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.528] RenMap[map] :: _build() [02:03:25.549] Overlay[map] :: _animate() [02:03:25.550] CanvasStream[map] :: _init(), p.then() [02:03:25.642] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.644] AnimatedImageFrame[aif] :: _init(), END [02:03:25.644] AnimatedImageFrame[aif] :: constructor() [02:03:25.645] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.645] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_3.jpg [02:03:25.689] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.691] AnimatedImageFrame[aif] :: _init(), END [02:03:25.692] AnimatedImageFrame[aif] :: constructor() [02:03:25.692] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.692] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_4.jpg [02:03:25.738] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.739] AnimatedImageFrame[aif] :: _init(), END [02:03:25.740] AnimatedImageFrame[aif] :: constructor() [02:03:25.740] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.740] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_5.jpg [02:03:25.785] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.787] AnimatedImageFrame[aif] :: _init(), END [02:03:25.787] AnimatedImageFrame[aif] :: constructor() [02:03:25.787] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.788] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_6.jpg [02:03:25.831] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.832] AnimatedImageFrame[aif] :: _init(), END [02:03:25.833] AnimatedImageFrame[aif] :: constructor() [02:03:25.833] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.833] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_7.jpg [02:03:25.879] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.881] AnimatedImageFrame[aif] :: _init(), END [02:03:25.881] AnimatedImageFrame[aif] :: constructor() [02:03:25.882] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.882] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_8.jpg [02:03:25.919] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.920] AnimatedImageFrame[aif] :: _init(), END [02:03:25.920] AnimatedImageFrame[aif] :: constructor() [02:03:25.921] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.921] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_9.jpg [02:03:25.975] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:25.977] AnimatedImageFrame[aif] :: _init(), END [02:03:25.977] AnimatedImageFrame[aif] :: constructor() [02:03:25.977] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:25.977] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_10.jpg [02:03:26.049] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.050] AnimatedImageFrame[aif] :: _init(), END [02:03:26.051] AnimatedImageFrame[aif] :: constructor() [02:03:26.051] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:26.051] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_11.jpg [02:03:26.120] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.132] AnimatedImageFrame[aif] :: _init(), END [02:03:26.132] AnimatedImageFrame[aif] :: constructor() [02:03:26.132] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:26.133] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_12.jpg [02:03:26.171] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.172] AnimatedImageFrame[aif] :: _init(), END [02:03:26.173] AnimatedImageFrame[aif] :: constructor() [02:03:26.173] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:26.174] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_13.jpg [02:03:26.210] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.211] AnimatedImageFrame[aif] :: _init(), END [02:03:26.212] AnimatedImageFrame[aif] :: constructor() [02:03:26.212] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:26.212] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_14.jpg [02:03:26.280] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.281] AnimatedImageFrame[aif] :: _init(), END [02:03:26.282] AnimatedImageFrame[aif] :: constructor() [02:03:26.282] AnimatedImageFrame[aif] :: _init(), BEGIN [02:03:26.282] CanvasClip :: LoadImageWithPromise(), src: C68F3A0C-E9E7-E54F-A54D-A125C21E55C0_15.jpg [02:03:26.366] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [02:03:26.367] AnimatedImageFrame[aif] :: _init(), END [02:03:26.368] Overlay[simplefadedisplay] :: _animate() [02:03:26.369] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [02:03:26.369] CanvasStream[simplefadedisplay] :: _init(), p.then() [02:03:26.369] CanvasStream[canvas_823592227228] :: _init(), promise.all.then() [02:03:26.373] CanvasStream[canvas_823592227228] :: _init(), END [02:03:26.373] StreamMangaer :: init(), stream[canvas_823592227228].then() [02:03:26.373] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_823592227228', progress: 1 } [02:03:26.373] index :: _onStepProgress_vidbot(), percent: 100 [02:03:26.373] StreamManager :: init(), promise.all.then... [02:03:26.373] Vidbot :: StreamMgr.on( 'INITED' ) [02:03:26.374] Vidbot :: _next(), _stepIndex:2 of 4 [02:03:26.374] index :: _onStepCompleted_vidbot(), step: 2 [02:03:26.374] index :: _onStepStarted_vidbot(), step: 3 [02:03:26.374] Vidbot :: step[2], label:Rendering Canvas Streams [02:03:26.375] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [02:03:26.375] StreamManager :: render() [02:03:26.375] CanvasStream[canvas_823592227228] :: render() [02:03:26.448] index :: _onStepProgress_vidbot(), percent: 0 [02:03:51.134] index :: _onStepProgress_vidbot(), percent: 5 [02:04:20.860] index :: _onStepProgress_vidbot(), percent: 10 [02:04:51.050] index :: _onStepProgress_vidbot(), percent: 15 [02:05:21.790] index :: _onStepProgress_vidbot(), percent: 20 [02:05:54.245] index :: _onStepProgress_vidbot(), percent: 25 [02:06:25.832] index :: _onStepProgress_vidbot(), percent: 30 [02:06:56.249] index :: _onStepProgress_vidbot(), percent: 35 [02:07:20.950] index :: _onStepProgress_vidbot(), percent: 40 [02:07:46.278] index :: _onStepProgress_vidbot(), percent: 45 [02:08:08.626] index :: _onStepProgress_vidbot(), percent: 50 [02:08:34.173] index :: _onStepProgress_vidbot(), percent: 55 [02:09:04.370] index :: _onStepProgress_vidbot(), percent: 60 [02:09:34.674] index :: _onStepProgress_vidbot(), percent: 65 [02:10:02.994] index :: _onStepProgress_vidbot(), percent: 70 [02:10:30.900] index :: _onStepProgress_vidbot(), percent: 75 [02:10:58.125] index :: _onStepProgress_vidbot(), percent: 80 [02:11:29.415] index :: _onStepProgress_vidbot(), percent: 85 [02:12:02.872] index :: _onStepProgress_vidbot(), percent: 90 [02:12:31.463] index :: _onStepProgress_vidbot(), percent: 95 [02:12:51.495] index :: _onStepProgress_vidbot(), percent: 100 [02:12:53.508] StreamManager :: render(), Promise.all.then... [02:12:53.509] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [02:12:53.509] Vidbot :: _next(), _stepIndex:3 of 4 [02:12:53.509] index :: _onStepCompleted_vidbot(), step: 3 [02:12:53.510] index :: _onStepStarted_vidbot(), step: 4 [02:12:53.511] Vidbot :: step[3], label:Encoding Media [02:12:53.513] CanvasFilters :: Overlay() [02:12:53.514] AudioStream[audio_vo] :: inputOptions() [02:12:53.514] AudioFilters :: Volume() [02:12:53.514] filter: [2:a]volume=1[2_vol] [02:12:53.514] AudioFilters :: Delay() [02:12:53.514] filter: [2_vol]adelay=0|0[2_del] [02:12:53.514] AudioStream[bg_music] :: inputOptions() [02:12:53.514] AudioFilters :: Volume() [02:12:53.514] filter: [3:a]volume=0.20[3_vol] [02:12:53.515] AudioFilters :: FadeOut() [02:12:53.515] filter: [3_vol]afade=t=out:st=45:d=1[3_fadeout] [02:12:53.515] AudioFilters :: Delay() [02:12:53.515] filter: [3_fadeout]adelay=0|0[3_del] [02:12:53.515] AudioFilters :: Mix() [02:12:53.515] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:12:53.515] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [02:12:53.517] hang.time: 60 [02:12:53.663] Vidbot :: ffmpeg.on( 'start' ) [02:12:53.663] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=48 -r 30 -i ./tmp/canvas_823592227228_%05d.png -to 00:00:48.000 -i file:///var/www/html/clie [02:12:53.663] nts/18777/audio/C68F3A0C-E9E7-E54F-A54D-A125C21E55C0.mp3 -to 00:00:45.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Jazz-4.mp3 [02:12:53.663] -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=45:d= [02:12:53.663] 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] -m [02:12:53.663] ap [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/18777/video/C68F3A0C-E9E7-E54F-A54D-A125 [02:12:53.664] C21E55C0.mp4 [02:12:53.942] index :: _onStepProgress_vidbot(), percent: -4327600953 [02:12:54.311] index :: _onStepProgress_vidbot(), percent: 1 [02:12:55.315] index :: _onStepProgress_vidbot(), percent: 5 [02:12:56.839] index :: _onStepProgress_vidbot(), percent: 12 [02:12:57.858] index :: _onStepProgress_vidbot(), percent: 17 [02:12:58.899] index :: _onStepProgress_vidbot(), percent: 21 [02:12:59.903] index :: _onStepProgress_vidbot(), percent: 26 [02:13:00.915] index :: _onStepProgress_vidbot(), percent: 30 [02:13:00.915] index :: _onStepProgress_vidbot(), percent: 35 [02:13:02.431] index :: _onStepProgress_vidbot(), percent: 42 [02:13:03.488] index :: _onStepProgress_vidbot(), percent: 46 [02:13:04.495] index :: _onStepProgress_vidbot(), percent: 51 [02:13:05.538] index :: _onStepProgress_vidbot(), percent: 56 [02:13:06.539] index :: _onStepProgress_vidbot(), percent: 62 [02:13:07.044] index :: _onStepProgress_vidbot(), percent: 65 [02:13:08.062] index :: _onStepProgress_vidbot(), percent: 71 [02:13:09.062] index :: _onStepProgress_vidbot(), percent: 76 [02:13:09.573] index :: _onStepProgress_vidbot(), percent: 80 [02:13:10.586] index :: _onStepProgress_vidbot(), percent: 86 [02:13:11.090] index :: _onStepProgress_vidbot(), percent: 90 [02:13:12.091] index :: _onStepProgress_vidbot(), percent: 95 [02:13:12.513] index :: _onStepProgress_vidbot(), percent: 100 [02:13:12.550] Vidbot :: ffmpeg.on( 'end' ), Done! [02:13:12.550] StreamManager :: dispose() [02:13:12.551] CanvasStream[canvas_823592227228] :: dispose() [02:13:12.560] Vidbot :: fflog.on( 'finish' ) [02:13:12.560] fflog.path: /var/www/html/clients/18777/video/C68F3A0C-E9E7-E54F-A54D-A125C21E55C0.mp4.fflog [02:13:12.560] Vidbot :: _next(), _stepIndex:4 of 4 [02:13:12.560] index :: _onStepCompleted_vidbot(), step: 4 [02:13:12.561] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 587.503, output: '/var/www/html/clients/18777/video/C68F3A0C-E9E7-E54F-A54D-A125C21E55C0.mp4', duration: 48 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/18777/video/C68F3A0C-E9E7-E54F-A54D-A125C21E55C0.mp4 Media Duration : 00:00:48.000 Generation Time : 00:09:47.503 ---------------------------------------------------------------------------------------------------------------