--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [21:04:40.181] Vidbot :: start() [21:04:40.181] Vidbot :: _next(), _stepIndex:0 of 4 [21:04:40.182] index :: _onStepStarted_vidbot(), step: 1 [21:04:40.183] Vidbot :: step[0], label:Initializing Core [21:04:40.192] index :: _onStepProgress_vidbot(), percent: 20 [21:04:40.193] Vidbot :: _parse() [21:04:40.194] index :: _onStepProgress_vidbot(), percent: 40 [21:04:40.194] Vidbot :: _validate() [21:04:40.195] index :: _onStepProgress_vidbot(), percent: 60 [21:04:40.195] Vidbot :: _fonts() [21:04:40.196] FabricFontManager :: add(), id: SourceSansPro-Bold [21:04:40.196] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [21:04:40.205] FabricFontManager :: add(), id: SourceSansPro-Light [21:04:40.205] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [21:04:40.206] FabricFontManager :: add(), id: DINOT-Bold [21:04:40.206] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [21:04:40.207] FabricFontManager :: add(), id: DINOT-Light [21:04:40.207] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [21:04:40.208] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [21:04:40.208] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [21:04:40.209] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [21:04:40.209] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [21:04:40.210] index :: _onStepProgress_vidbot(), percent: 80 [21:04:40.210] Vidbot :: _clips() [21:04:40.211] StreamManager :: add(), id:audio_vo, type:audio [21:04:40.211] AudioClip[audio_vo] :: constructor() [21:04:40.211] InputStream[audio_vo] :: constructor() [21:04:40.211] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [21:04:40.214] StreamManager :: add(), id:bg_music, type:audio [21:04:40.214] AudioClip[bg_music] :: constructor() [21:04:40.215] InputStream[bg_music] :: constructor() [21:04:40.215] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [21:04:40.215] StreamManager :: add(), id:simplefadedisplay, type:canvas [21:04:40.215] CanvasStream[canvas_1746992583554] :: constructor() [21:04:40.215] InputStream[canvas_1746992583554] :: constructor() [21:04:40.298] KenBurnsSlideshow[simplefadedisplay] :: constructor() [21:04:40.299] Overlay[simplefadedisplay] :: constructor() [21:04:40.299] CanvasClip[simplefadedisplay] :: constructor() [21:04:40.299] Clip[simplefadedisplay] :: constructor() [21:04:40.299] clip:"simplefadedisplay" added to stream:"canvas_1746992583554" [21:04:40.299] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1746992583554', clipId: 'simplefadedisplay' } [21:04:40.300] StreamManager :: add(), id:caption, type:canvas [21:04:40.300] RenCaption[caption] :: constructor() [21:04:40.300] Ren[caption] :: constructor() [21:04:40.300] Overlay[caption] :: constructor() [21:04:40.300] CanvasClip[caption] :: constructor() [21:04:40.300] Clip[caption] :: constructor() [21:04:40.300] clip:"caption" added to stream:"canvas_1746992583554" [21:04:40.300] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_1746992583554', clipId: 'caption' } [21:04:40.300] all added... [21:04:40.300] Vidbot :: _next(), _stepIndex:1 of 4 [21:04:40.301] index :: _onStepCompleted_vidbot(), step: 1 [21:04:40.301] index :: _onStepStarted_vidbot(), step: 2 [21:04:40.301] Vidbot :: step[1], label:Initializing Input Streams [21:04:40.302] StreamManager :: init() [21:04:40.302] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [21:04:40.302] index :: _onStepProgress_vidbot(), percent: 33 [21:04:40.302] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [21:04:40.303] index :: _onStepProgress_vidbot(), percent: 67 [21:04:40.303] CanvasStream[canvas_1746992583554] :: _init(), BEGIN [21:04:40.303] i:0, c.id:simplefadedisplay [21:04:40.303] KenBurnsSlideshow[simplefadedisplay] :: _init(), BEGIN [21:04:40.304] KenBurnsSlideshow[simplefadedisplay] :: _validate() [21:04:40.304] KenBurnsSlideshow[undefined] :: _validateAnim() [21:04:40.305] KenBurnsSlideshow[undefined] :: _validateTheme() [21:04:40.306] i:1, c.id:caption [21:04:40.306] RenCaption[caption] :: _init() [21:04:40.306] RenCaption[caption] :: _validate() [21:04:40.308] KenBurnsSlideshow[simplefadedisplay] :: _build() [21:04:40.314] AnimatedImageFrame[aif] :: constructor() [21:04:40.315] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.316] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_1.jpg [21:04:40.329] RenCaption[caption] :: _build() [21:04:40.348] Overlay[caption] :: _animate() [21:04:40.351] CanvasStream[caption] :: _init(), p.then() [21:04:40.379] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.383] AnimatedImageFrame[aif] :: _init(), END [21:04:40.385] AnimatedImageFrame[aif] :: constructor() [21:04:40.385] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.385] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_2.jpg [21:04:40.410] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.412] AnimatedImageFrame[aif] :: _init(), END [21:04:40.412] AnimatedImageFrame[aif] :: constructor() [21:04:40.413] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.413] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_3.jpg [21:04:40.447] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.449] AnimatedImageFrame[aif] :: _init(), END [21:04:40.450] AnimatedImageFrame[aif] :: constructor() [21:04:40.450] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.450] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_4.jpg [21:04:40.475] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.476] AnimatedImageFrame[aif] :: _init(), END [21:04:40.477] AnimatedImageFrame[aif] :: constructor() [21:04:40.477] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.477] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_1.jpg [21:04:40.501] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.503] AnimatedImageFrame[aif] :: _init(), END [21:04:40.503] AnimatedImageFrame[aif] :: constructor() [21:04:40.504] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.504] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_2.jpg [21:04:40.528] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.529] AnimatedImageFrame[aif] :: _init(), END [21:04:40.529] AnimatedImageFrame[aif] :: constructor() [21:04:40.530] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.530] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_3.jpg [21:04:40.553] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.555] AnimatedImageFrame[aif] :: _init(), END [21:04:40.555] AnimatedImageFrame[aif] :: constructor() [21:04:40.555] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.555] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_4.jpg [21:04:40.588] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.589] AnimatedImageFrame[aif] :: _init(), END [21:04:40.590] AnimatedImageFrame[aif] :: constructor() [21:04:40.590] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.590] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_1.jpg [21:04:40.617] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.618] AnimatedImageFrame[aif] :: _init(), END [21:04:40.619] AnimatedImageFrame[aif] :: constructor() [21:04:40.619] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.619] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_2.jpg [21:04:40.643] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.644] AnimatedImageFrame[aif] :: _init(), END [21:04:40.645] AnimatedImageFrame[aif] :: constructor() [21:04:40.645] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.645] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_3.jpg [21:04:40.669] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.670] AnimatedImageFrame[aif] :: _init(), END [21:04:40.670] AnimatedImageFrame[aif] :: constructor() [21:04:40.671] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.671] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_4.jpg [21:04:40.698] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.699] AnimatedImageFrame[aif] :: _init(), END [21:04:40.700] AnimatedImageFrame[aif] :: constructor() [21:04:40.700] AnimatedImageFrame[aif] :: _init(), BEGIN [21:04:40.700] CanvasClip :: LoadImageWithPromise(), src: BB8C5E6C-387A-E515-0ED8-13B329FD0BEC_1.jpg [21:04:40.725] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [21:04:40.727] AnimatedImageFrame[aif] :: _init(), END [21:04:40.727] Overlay[simplefadedisplay] :: _animate() [21:04:40.728] KenBurnsSlideshow[simplefadedisplay] :: _init(), END [21:04:40.728] CanvasStream[simplefadedisplay] :: _init(), p.then() [21:04:40.728] CanvasStream[canvas_1746992583554] :: _init(), promise.all.then() [21:04:40.731] CanvasStream[canvas_1746992583554] :: _init(), END [21:04:40.731] StreamMangaer :: init(), stream[canvas_1746992583554].then() [21:04:40.731] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_1746992583554', progress: 1 } [21:04:40.731] index :: _onStepProgress_vidbot(), percent: 100 [21:04:40.732] StreamManager :: init(), promise.all.then... [21:04:40.732] Vidbot :: StreamMgr.on( 'INITED' ) [21:04:40.732] Vidbot :: _next(), _stepIndex:2 of 4 [21:04:40.732] index :: _onStepCompleted_vidbot(), step: 2 [21:04:40.732] index :: _onStepStarted_vidbot(), step: 3 [21:04:40.732] Vidbot :: step[2], label:Rendering Canvas Streams [21:04:40.733] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [21:04:40.733] StreamManager :: render() [21:04:40.734] CanvasStream[canvas_1746992583554] :: render() [21:04:40.810] index :: _onStepProgress_vidbot(), percent: 0 [21:04:52.818] index :: _onStepProgress_vidbot(), percent: 5 [21:05:05.794] index :: _onStepProgress_vidbot(), percent: 10 [21:05:18.562] index :: _onStepProgress_vidbot(), percent: 15 [21:05:31.835] index :: _onStepProgress_vidbot(), percent: 20 [21:05:44.463] index :: _onStepProgress_vidbot(), percent: 25 [21:05:58.318] index :: _onStepProgress_vidbot(), percent: 30 [21:06:11.765] index :: _onStepProgress_vidbot(), percent: 35 [21:06:24.854] index :: _onStepProgress_vidbot(), percent: 40 [21:06:38.925] index :: _onStepProgress_vidbot(), percent: 45 [21:06:51.702] index :: _onStepProgress_vidbot(), percent: 50 [21:07:04.562] index :: _onStepProgress_vidbot(), percent: 55 [21:07:18.643] index :: _onStepProgress_vidbot(), percent: 60 [21:07:31.489] index :: _onStepProgress_vidbot(), percent: 65 [21:07:45.522] index :: _onStepProgress_vidbot(), percent: 70 [21:07:58.787] index :: _onStepProgress_vidbot(), percent: 75 [21:08:10.728] index :: _onStepProgress_vidbot(), percent: 80 [21:08:24.077] index :: _onStepProgress_vidbot(), percent: 85 [21:08:35.488] index :: _onStepProgress_vidbot(), percent: 90 [21:08:47.050] index :: _onStepProgress_vidbot(), percent: 95 [21:08:59.316] index :: _onStepProgress_vidbot(), percent: 100 [21:09:00.247] StreamManager :: render(), Promise.all.then... [21:09:00.247] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [21:09:00.247] Vidbot :: _next(), _stepIndex:3 of 4 [21:09:00.247] index :: _onStepCompleted_vidbot(), step: 3 [21:09:00.248] index :: _onStepStarted_vidbot(), step: 4 [21:09:00.249] Vidbot :: step[3], label:Encoding Media [21:09:00.251] CanvasFilters :: Overlay() [21:09:00.251] AudioStream[audio_vo] :: inputOptions() [21:09:00.252] AudioFilters :: Volume() [21:09:00.252] filter: [2:a]volume=1[2_vol] [21:09:00.252] AudioFilters :: Delay() [21:09:00.252] filter: [2_vol]adelay=0|0[2_del] [21:09:00.252] AudioStream[bg_music] :: inputOptions() [21:09:00.252] AudioFilters :: Volume() [21:09:00.252] filter: [3:a]volume=0.25[3_vol] [21:09:00.252] AudioFilters :: FadeOut() [21:09:00.253] filter: [3_vol]afade=t=out:st=37.09:d=1[3_fadeout] [21:09:00.253] AudioFilters :: Delay() [21:09:00.253] filter: [3_fadeout]adelay=0|0[3_del] [21:09:00.253] AudioFilters :: Mix() [21:09:00.253] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [21:09:00.253] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [21:09:00.255] hang.time: 60 [21:09:00.346] Vidbot :: ffmpeg.on( 'start' ) [21:09:00.346] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=37.09 -r 30 -i ./tmp/canvas_1746992583554_%05d.png -to 00:00:37.090 -i file:///var/www/html/ [21:09:00.346] clients/20508/audio/BB8C5E6C-387A-E515-0ED8-13B329FD0BEC.mp3 -to 00:00:37.090 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/RF8_ED [21:09:00.346] M_1.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:s [21:09:00.346] t=37.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 mp4 -map [21:09:00.347] [a_out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/20508/video/BB8C5E6C-387A-E515 [21:09:00.347] -0ED8-13B329FD0BEC.mp4 [21:09:00.555] index :: _onStepProgress_vidbot(), percent: -5600562031 [21:09:00.998] index :: _onStepProgress_vidbot(), percent: 2 [21:09:01.500] index :: _onStepProgress_vidbot(), percent: 5 [21:09:02.532] index :: _onStepProgress_vidbot(), percent: 10 [21:09:03.539] index :: _onStepProgress_vidbot(), percent: 16 [21:09:04.039] index :: _onStepProgress_vidbot(), percent: 20 [21:09:05.054] index :: _onStepProgress_vidbot(), percent: 26 [21:09:05.557] index :: _onStepProgress_vidbot(), percent: 30 [21:09:06.559] index :: _onStepProgress_vidbot(), percent: 37 [21:09:07.063] index :: _onStepProgress_vidbot(), percent: 40 [21:09:08.098] index :: _onStepProgress_vidbot(), percent: 47 [21:09:08.599] index :: _onStepProgress_vidbot(), percent: 50 [21:09:09.601] index :: _onStepProgress_vidbot(), percent: 56 [21:09:10.612] index :: _onStepProgress_vidbot(), percent: 62 [21:09:11.133] index :: _onStepProgress_vidbot(), percent: 65 [21:09:12.143] index :: _onStepProgress_vidbot(), percent: 72 [21:09:12.654] index :: _onStepProgress_vidbot(), percent: 75 [21:09:13.668] index :: _onStepProgress_vidbot(), percent: 80 [21:09:14.660] index :: _onStepProgress_vidbot(), percent: 86 [21:09:15.662] index :: _onStepProgress_vidbot(), percent: 92 [21:09:16.179] index :: _onStepProgress_vidbot(), percent: 95 [21:09:17.156] index :: _onStepProgress_vidbot(), percent: 100 [21:09:17.224] Vidbot :: ffmpeg.on( 'end' ), Done! [21:09:17.224] StreamManager :: dispose() [21:09:17.225] CanvasStream[canvas_1746992583554] :: dispose() [21:09:17.250] Vidbot :: fflog.on( 'finish' ) [21:09:17.250] fflog.path: /var/www/html/clients/20508/video/BB8C5E6C-387A-E515-0ED8-13B329FD0BEC.mp4.fflog [21:09:17.250] Vidbot :: _next(), _stepIndex:4 of 4 [21:09:17.250] index :: _onStepCompleted_vidbot(), step: 4 [21:09:17.251] index :: _onComplete_vidbot(), data: { stepTime: 0, appTime: 277.091, output: '/var/www/html/clients/20508/video/BB8C5E6C-387A-E515-0ED8-13B329FD0BEC.mp4', duration: 37.09 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/20508/video/BB8C5E6C-387A-E515-0ED8-13B329FD0BEC.mp4 Media Duration : 00:00:37.090 Generation Time : 00:04:37.091 ---------------------------------------------------------------------------------------------------------------