--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.0... --------------------------------------------------------------------------------------------------------------- [09:50:15.730] Vidbot :: start() [09:50:15.730] Vidbot :: _next(), _stepIndex:0 of 4 [09:50:15.731] index :: _onStepStarted_vidbot(), step: 1 [09:50:15.732] Vidbot :: step[0], label:Initializing Core [09:50:15.741] index :: _onStepProgress_vidbot(), percent: 20 [09:50:15.741] Vidbot :: _parse() [09:50:15.742] index :: _onStepProgress_vidbot(), percent: 40 [09:50:15.742] Vidbot :: _validate() [09:50:15.743] index :: _onStepProgress_vidbot(), percent: 60 [09:50:15.743] Vidbot :: _fonts() [09:50:15.744] FabricFontManager :: add(), id: SourceSansPro-Bold [09:50:15.744] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [09:50:15.753] FabricFontManager :: add(), id: SourceSansPro-Light [09:50:15.753] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [09:50:15.754] FabricFontManager :: add(), id: DINOT-Bold [09:50:15.754] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [09:50:15.755] FabricFontManager :: add(), id: DINOT-Light [09:50:15.755] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [09:50:15.755] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [09:50:15.756] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [09:50:15.756] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [09:50:15.756] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [09:50:15.758] index :: _onStepProgress_vidbot(), percent: 80 [09:50:15.758] Vidbot :: _clips() [09:50:15.758] StreamManager :: add(), id:audio_vo, type:audio [09:50:15.759] AudioClip[audio_vo] :: constructor() [09:50:15.759] InputStream[audio_vo] :: constructor() [09:50:15.759] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [09:50:15.762] StreamManager :: add(), id:bg_music, type:audio [09:50:15.762] AudioClip[bg_music] :: constructor() [09:50:15.762] InputStream[bg_music] :: constructor() [09:50:15.763] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [09:50:15.763] StreamManager :: add(), id:simplefadedisplay, type:canvas [09:50:15.763] CanvasStream[canvas_809521675620] :: constructor() [09:50:15.763] InputStream[canvas_809521675620] :: constructor() [09:50:15.849] KenBurnsSlideshow[simplefadedisplay] :: constructor() [09:50:15.850] Overlay[simplefadedisplay] :: constructor() [09:50:15.850] CanvasClip[simplefadedisplay] :: constructor() [09:50:15.850] Clip[simplefadedisplay] :: constructor() [09:50:15.850] clip:"simplefadedisplay" added to stream:"canvas_809521675620" [09:50:15.850] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_809521675620', clipId: 'simplefadedisplay' } [09:50:15.850] StreamManager :: add(), id:caption, type:canvas [09:50:15.851] RenCaption[caption] :: constructor() [09:50:15.851] Ren[caption] :: constructor() [09:50:15.851] Overlay[caption] :: constructor() [09:50:15.851] CanvasClip[caption] :: constructor() [09:50:15.851] Clip[caption] :: constructor() [09:50:15.851] clip:"caption" added to stream:"canvas_809521675620" [09:50:15.851] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_809521675620', clipId: 'caption' } [09:50:15.851] all added... [09:50:15.851] Vidbot :: _next(), _stepIndex:1 of 4 [09:50:15.852] index :: _onStepCompleted_vidbot(), step: 1 [09:50:15.852] index :: _onStepStarted_vidbot(), step: 2 [09:50:15.852] Vidbot :: step[1], label:Initializing Input Streams [09:50:15.852] StreamManager :: init() [09:50:15.853] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [09:50:15.853] index :: _onStepProgress_vidbot(), percent: 33 [09:50:15.853] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [09:50:15.853] index :: _onStepProgress_vidbot(), percent: 67 [09:50:15.854] CanvasStream[canvas_809521675620] :: _init(), BEGIN [09:50:15.854] i:0, c.id:simplefadedisplay [09:50:15.854] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [09:50:15.855] KenBurnsSlideshow[simplefadedisplay] :: _validate() [09:50:15.855] KenBurnsSlideshow[undefined] :: _validateAnim() [09:50:15.856] KenBurnsSlideshow[undefined] :: _validateTheme() [09:50:15.857] i:1, c.id:caption [09:50:15.857] RenCaption[caption] :: _init() [09:50:15.857] RenCaption[caption] :: _validate() [09:50:15.858] KenBurnsSlideshow[simplefadedisplay] :: _build() [09:50:15.865] AnimatedImageFrame[aif] :: constructor() [09:50:15.866] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:15.866] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_1.jpg [09:50:15.878] RenCaption[caption] :: _build() [09:50:15.898] Overlay[caption] :: _animate() [09:50:15.901] CanvasStream[caption] :: _init(), p.then() [09:50:15.924] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:15.927] AnimatedImageFrame[aif] :: _init(), END [09:50:15.929] AnimatedImageFrame[aif] :: constructor() [09:50:15.929] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:15.929] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_2.jpg [09:50:15.948] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:15.950] AnimatedImageFrame[aif] :: _init(), END [09:50:15.951] AnimatedImageFrame[aif] :: constructor() [09:50:15.951] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:15.951] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_3.jpg [09:50:15.969] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:15.970] AnimatedImageFrame[aif] :: _init(), END [09:50:15.970] AnimatedImageFrame[aif] :: constructor() [09:50:15.970] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:15.971] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_4.jpg [09:50:15.988] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:15.989] AnimatedImageFrame[aif] :: _init(), END [09:50:15.989] AnimatedImageFrame[aif] :: constructor() [09:50:15.989] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:15.989] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_1.jpg [09:50:16.007] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.008] AnimatedImageFrame[aif] :: _init(), END [09:50:16.008] AnimatedImageFrame[aif] :: constructor() [09:50:16.008] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.008] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_2.jpg [09:50:16.025] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.026] AnimatedImageFrame[aif] :: _init(), END [09:50:16.027] AnimatedImageFrame[aif] :: constructor() [09:50:16.027] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.027] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_3.jpg [09:50:16.044] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.045] AnimatedImageFrame[aif] :: _init(), END [09:50:16.045] AnimatedImageFrame[aif] :: constructor() [09:50:16.045] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.045] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_4.jpg [09:50:16.063] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.064] AnimatedImageFrame[aif] :: _init(), END [09:50:16.064] AnimatedImageFrame[aif] :: constructor() [09:50:16.064] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.064] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_1.jpg [09:50:16.082] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.097] AnimatedImageFrame[aif] :: _init(), END [09:50:16.097] AnimatedImageFrame[aif] :: constructor() [09:50:16.098] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.098] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_2.jpg [09:50:16.116] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.117] AnimatedImageFrame[aif] :: _init(), END [09:50:16.117] AnimatedImageFrame[aif] :: constructor() [09:50:16.118] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.118] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_3.jpg [09:50:16.136] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.137] AnimatedImageFrame[aif] :: _init(), END [09:50:16.137] AnimatedImageFrame[aif] :: constructor() [09:50:16.137] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.138] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_4.jpg [09:50:16.154] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.155] AnimatedImageFrame[aif] :: _init(), END [09:50:16.156] AnimatedImageFrame[aif] :: constructor() [09:50:16.156] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.156] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_1.jpg [09:50:16.174] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.175] AnimatedImageFrame[aif] :: _init(), END [09:50:16.175] AnimatedImageFrame[aif] :: constructor() [09:50:16.176] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.176] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_2.jpg [09:50:16.193] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.193] AnimatedImageFrame[aif] :: _init(), END [09:50:16.194] AnimatedImageFrame[aif] :: constructor() [09:50:16.194] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.194] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_3.jpg [09:50:16.211] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.211] AnimatedImageFrame[aif] :: _init(), END [09:50:16.212] AnimatedImageFrame[aif] :: constructor() [09:50:16.212] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.212] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_4.jpg [09:50:16.229] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.230] AnimatedImageFrame[aif] :: _init(), END [09:50:16.230] AnimatedImageFrame[aif] :: constructor() [09:50:16.230] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.230] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_1.jpg [09:50:16.247] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.248] AnimatedImageFrame[aif] :: _init(), END [09:50:16.248] AnimatedImageFrame[aif] :: constructor() [09:50:16.248] AnimatedImageFrame[aif] :: _init(), BEGIN [09:50:16.249] CanvasClip :: LoadImageWithPromise(), src: A929304C-1BD5-CE5B-B781-9BCC597E14D4_2.jpg [09:50:16.265] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [09:50:16.266] AnimatedImageFrame[aif] :: _init(), END [09:50:16.267] Overlay[simplefadedisplay] :: _animate() [09:50:16.267] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [09:50:16.268] CanvasStream[simplefadedisplay] :: _init(), p.then() [09:50:16.268] CanvasStream[canvas_809521675620] :: _init(), promise.all.then() [09:50:16.270] CanvasStream[canvas_809521675620] :: _init(), END [09:50:16.270] StreamMangaer :: init(), stream[canvas_809521675620].then() [09:50:16.270] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_809521675620', progress: 1 } [09:50:16.270] index :: _onStepProgress_vidbot(), percent: 100 [09:50:16.271] StreamManager :: init(), promise.all.then... [09:50:16.271] Vidbot :: StreamMgr.on( 'INITED' ) [09:50:16.271] Vidbot :: _next(), _stepIndex:2 of 4 [09:50:16.271] index :: _onStepCompleted_vidbot(), step: 2 [09:50:16.271] index :: _onStepStarted_vidbot(), step: 3 [09:50:16.271] Vidbot :: step[2], label:Rendering Canvas Streams [09:50:16.272] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [09:50:16.272] StreamManager :: render() [09:50:16.272] CanvasStream[canvas_809521675620] :: render() [09:50:16.309] index :: _onStepProgress_vidbot(), percent: 0 [09:50:30.495] index :: _onStepProgress_vidbot(), percent: 5 [09:50:46.236] index :: _onStepProgress_vidbot(), percent: 10 [09:51:01.697] index :: _onStepProgress_vidbot(), percent: 15 [09:51:16.014] index :: _onStepProgress_vidbot(), percent: 20 [09:51:30.170] index :: _onStepProgress_vidbot(), percent: 25 [09:51:43.697] index :: _onStepProgress_vidbot(), percent: 30 [09:51:57.707] index :: _onStepProgress_vidbot(), percent: 35 [09:52:11.954] index :: _onStepProgress_vidbot(), percent: 40 [09:52:27.033] index :: _onStepProgress_vidbot(), percent: 45 [09:52:43.121] index :: _onStepProgress_vidbot(), percent: 50 [09:52:59.208] index :: _onStepProgress_vidbot(), percent: 55 [09:53:15.311] index :: _onStepProgress_vidbot(), percent: 60 [09:53:31.066] index :: _onStepProgress_vidbot(), percent: 65 [09:53:46.923] index :: _onStepProgress_vidbot(), percent: 70 [09:54:02.724] index :: _onStepProgress_vidbot(), percent: 75 [09:54:18.283] index :: _onStepProgress_vidbot(), percent: 80 [09:54:32.981] index :: _onStepProgress_vidbot(), percent: 85 [09:54:47.129] index :: _onStepProgress_vidbot(), percent: 90 [09:55:01.148] index :: _onStepProgress_vidbot(), percent: 95 [09:55:14.746] index :: _onStepProgress_vidbot(), percent: 100 [09:55:16.383] StreamManager :: render(), Promise.all.then... [09:55:16.383] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [09:55:16.383] Vidbot :: _next(), _stepIndex:3 of 4 [09:55:16.383] index :: _onStepCompleted_vidbot(), step: 3 [09:55:16.384] index :: _onStepStarted_vidbot(), step: 4 [09:55:16.385] Vidbot :: step[3], label:Encoding Media [09:55:16.387] CanvasFilters :: Overlay() [09:55:16.387] AudioStream[audio_vo] :: inputOptions() [09:55:16.388] AudioFilters :: Volume() [09:55:16.388] filter: [2:a]volume=1[2_vol] [09:55:16.388] AudioFilters :: Delay() [09:55:16.388] filter: [2_vol]adelay=0|0[2_del] [09:55:16.388] AudioStream[bg_music] :: inputOptions() [09:55:16.388] AudioFilters :: Volume() [09:55:16.388] filter: [3:a]volume=0.25[3_vol] [09:55:16.388] AudioFilters :: FadeOut() [09:55:16.388] filter: [3_vol]afade=t=out:st=51.35:d=1[3_fadeout] [09:55:16.388] AudioFilters :: Delay() [09:55:16.389] filter: [3_fadeout]adelay=0|0[3_del] [09:55:16.389] AudioFilters :: Mix() [09:55:16.389] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [09:55:16.389] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [09:55:16.391] hang.time: 60 [09:55:16.491] Vidbot :: ffmpeg.on( 'start' ) [09:55:16.492] ffmpeg -f lavfi -i color=c=000000:s=640x360:r=30:duration=51.35 -r 30 -i ./tmp/canvas_809521675620_%05d.png -to 00:00:51.350 -i file:///var/www/html/c [09:55:16.492] lients/19307/audio/A929304C-1BD5-CE5B-B781-9BCC597E14D4.mp3 -to 00:00:51.350 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Concept [09:55:16.492] 4.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= [09:55:16.492] 51.35: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 [09:55:16.492] _out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/19307/video/A929304C-1BD5-CE5B-B [09:55:16.492] 781-9BCC597E14D4.mp4 [09:55:16.630] index :: _onStepProgress_vidbot(), percent: -4045274503 [09:55:17.073] index :: _onStepProgress_vidbot(), percent: 2 [09:55:17.574] index :: _onStepProgress_vidbot(), percent: 6 [09:55:18.074] index :: _onStepProgress_vidbot(), percent: 10 [09:55:18.575] index :: _onStepProgress_vidbot(), percent: 15 [09:55:19.588] index :: _onStepProgress_vidbot(), percent: 23 [09:55:20.088] index :: _onStepProgress_vidbot(), percent: 27 [09:55:20.592] index :: _onStepProgress_vidbot(), percent: 31 [09:55:21.097] index :: _onStepProgress_vidbot(), percent: 35 [09:55:22.113] index :: _onStepProgress_vidbot(), percent: 43 [09:55:22.619] index :: _onStepProgress_vidbot(), percent: 48 [09:55:23.128] index :: _onStepProgress_vidbot(), percent: 52 [09:55:23.628] index :: _onStepProgress_vidbot(), percent: 56 [09:55:24.135] index :: _onStepProgress_vidbot(), percent: 60 [09:55:25.142] index :: _onStepProgress_vidbot(), percent: 67 [09:55:25.646] index :: _onStepProgress_vidbot(), percent: 72 [09:55:26.152] index :: _onStepProgress_vidbot(), percent: 77 [09:55:26.665] index :: _onStepProgress_vidbot(), percent: 82 [09:55:27.166] index :: _onStepProgress_vidbot(), percent: 88 [09:55:27.667] index :: _onStepProgress_vidbot(), percent: 94 [09:55:28.169] index :: _onStepProgress_vidbot(), percent: 99 [09:55:28.230] index :: _onStepProgress_vidbot(), percent: 100 [09:55:28.253] Vidbot :: ffmpeg.on( 'end' ), Done! [09:55:28.253] StreamManager :: dispose() [09:55:28.254] CanvasStream[canvas_809521675620] :: dispose() [09:55:28.258] Vidbot :: fflog.on( 'finish' ) [09:55:28.259] fflog.path: /var/www/html/clients/19307/video/A929304C-1BD5-CE5B-B781-9BCC597E14D4.mp4.fflog [09:55:28.259] Vidbot :: _next(), _stepIndex:4 of 4 [09:55:28.259] index :: _onStepCompleted_vidbot(), step: 4 [09:55:28.259] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 312.549, output: '/var/www/html/clients/19307/video/A929304C-1BD5-CE5B-B781-9BCC597E14D4.mp4', duration: 51.35 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/19307/video/A929304C-1BD5-CE5B-B781-9BCC597E14D4.mp4 Media Duration : 00:00:51.350 Generation Time : 00:05:12.548 ---------------------------------------------------------------------------------------------------------------