n8n-nodes-sb-render 1.3.26 → 1.3.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AudioMixer.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/AudioMixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IAOlB;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM;IA4G/E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM;IAQ9E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAyB9C"}
1
+ {"version":3,"file":"AudioMixer.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/AudioMixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IAOlB;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM;IAkH/E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM;IAQ9E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAyB9C"}
@@ -52,8 +52,13 @@ class AudioMixer {
52
52
  bgmFilter += `,afade=t=in:ss=0:d=${bgmFadeIn}`;
53
53
  console.log(`[AudioMixer] Adding BGM fade in: ${bgmFadeIn}s`);
54
54
  }
55
- // Note: Fade out will be handled at the end based on actual mixed duration
56
- // For now, we don't apply fade out to BGM to preserve narration length
55
+ // Add fade out if specified and valid
56
+ const bgmFadeOut = config.bgmFadeOut || 0;
57
+ if (bgmFadeOut > 0 && !isNaN(bgmFadeOut) && videoDuration > bgmFadeOut) {
58
+ const fadeOutStart = videoDuration - bgmFadeOut;
59
+ bgmFilter += `,afade=t=out:st=${fadeOutStart.toFixed(3)}:d=${bgmFadeOut}`;
60
+ console.log(`[AudioMixer] Adding BGM fade out: ${bgmFadeOut}s starting at ${fadeOutStart.toFixed(3)}s`);
61
+ }
57
62
  bgmFilter += `[bgm]`;
58
63
  console.log(`[AudioMixer] BGM filter: ${bgmFilter}`);
59
64
  filters.push(bgmFilter);
@@ -1 +1 @@
1
- {"version":3,"file":"AudioMixer.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/AudioMixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioMixer.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/AudioMixer.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,UAAU;IACrB;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,OAAwB;QAExB,kDAAkD;QAClD,yEAAyE;QACzE,qDAAqD;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,MAAuB,EAAE,gBAAyB;QACpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,oDAAoD;QAExE,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACvE,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,aAAa,oBAAoB,gBAAgB,oBAAoB,aAAa,GAAG,CAAC,CAAC;QAEzL,8BAA8B;QAC9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,YAAY;QACZ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;YACzC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YAExC,OAAO,CAAC,GAAG,CAAC,yCAAyC,SAAS,eAAe,aAAa,GAAG,CAAC,CAAC;YAE/F,gDAAgD;YAChD,oCAAoC;YACpC,iEAAiE;YACjE,IAAI,SAAS,GAAG,IAAI,UAAU,aAAa,SAAS,EAAE,CAAC;YAEvD,qDAAqD;YACrD,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,SAAS,IAAI,sBAAsB,SAAS,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,sCAAsC;YACtC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;YAC1C,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;gBACvE,MAAM,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;gBAChD,SAAS,IAAI,mBAAmB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,iBAAiB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1G,CAAC;YAED,SAAS,IAAI,OAAO,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC;QACf,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,0BAA0B;YAEtE,OAAO,CAAC,GAAG,CAAC,+CAA+C,eAAe,YAAY,KAAK,IAAI,CAAC,CAAC;YAEjG,IAAI,eAAe,GAAG,IAAI,UAAU,aAAa,eAAe,EAAE,CAAC;YAEnE,4CAA4C;YAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,eAAe,IAAI,WAAW,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,wCAAwC,KAAK,IAAI,CAAC,CAAC;YACjE,CAAC;YAED,eAAe,IAAI,aAAa,CAAC;YAEjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,UAAU,EAAE,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC,CAAC,kBAAkB;QAC/B,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,gDAAgD;YAChD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,WAAW,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,iDAAiD,aAAa,GAAG,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,6EAA6E;YAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElC,uFAAuF;YACvF,OAAO,CAAC,IAAI,CACV,GAAG,SAAS,eAAe,MAAM,CAAC,MAAM,6BAA6B,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAC5H,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,MAAM,yBAAyB,aAAa,GAAG,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAC;QAEnE,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,WAAmB;QAC7C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sCAAsC;QACtC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrG,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,8BAA8B;QAC9B,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9D,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,UAAU,aAAa,QAAQ,CAAC,CAAC;YAChG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qCAAqC;QACrC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAuB,EAAE,gBAAyB;QACnE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,gBAAgB;YAAE,KAAK,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,aAAa;YAAE,KAAK,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAuB;QACpC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF;AAnND,gCAmNC"}
@@ -20,11 +20,6 @@ export declare class VideoComposer implements IVideoComposer {
20
20
  * Get audio file duration
21
21
  */
22
22
  getAudioDuration(audioPath: string): Promise<number>;
23
- /**
24
- * Get video's audio track duration
25
- * This is useful when video has audio that might be longer than video duration
26
- */
27
- getVideoAudioDuration(videoPath: string): Promise<number>;
28
23
  /**
29
24
  * Get video metadata (duration, resolution, codec)
30
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VideoComposer.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/VideoComposer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA0KzF;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAkGlB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC;IA4TlB;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1D;;;OAGG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgC/D;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoGlE;;OAEG;IACH,OAAO,CAAC,MAAM;IAcd;;OAEG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAY,EACtB,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,SAAQ,GACnB,OAAO,CAAC,MAAM,CAAC;IA+KlB;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAY,EACtB,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,SAAQ,GACnB,OAAO,CAAC,MAAM,CAAC;IA+ElB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAiBlD"}
1
+ {"version":3,"file":"VideoComposer.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/VideoComposer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAyEzF;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAiGlB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAgRlB;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1D;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0FlE;;OAEG;IACH,OAAO,CAAC,MAAM;IAcd;;OAEG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAY,EACtB,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,SAAQ,GACnB,OAAO,CAAC,MAAM,CAAC;IA6KlB;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAY,EACtB,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,SAAQ,GACnB,OAAO,CAAC,MAAM,CAAC;IA4ElB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAiBlD"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,32 +39,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.VideoComposer = void 0;
7
40
  const fs_1 = require("fs");
8
41
  const path_1 = require("path");
9
- const child_process_1 = require("child_process");
10
42
  const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
43
+ const ffmpeg_1 = __importDefault(require("@ffmpeg-installer/ffmpeg"));
44
+ const ffprobeInstaller = __importStar(require("@ffprobe-installer/ffprobe"));
11
45
  // Debug mode: set SB_RENDER_DEBUG=true to enable file-based debug logging
12
46
  const DEBUG_MODE = process.env.SB_RENDER_DEBUG === 'true';
13
47
  const DEBUG_LOG_PATH = '/tmp/sb-render-debug.log';
14
- // Configuration constants
15
- const CONFIG = {
16
- // Video defaults
17
- DEFAULT_WIDTH: 1920,
18
- DEFAULT_HEIGHT: 1080,
19
- DEFAULT_FPS: 24,
20
- DEFAULT_DURATION: 30,
21
- // Audio defaults
22
- AUDIO_SAMPLE_RATE: 44100,
23
- AUDIO_CHANNELS: 2,
24
- AUDIO_BITRATE: '192k',
25
- DEFAULT_BGM_VOLUME: 30,
26
- DEFAULT_NARRATION_VOLUME: 100,
27
- // Timeouts (in milliseconds)
28
- FFMPEG_TIMEOUT_MS: 3600000, // 1 hour for long videos
29
- FFPROBE_TIMEOUT_MS: 30000, // 30 seconds for metadata
30
- // Limits
31
- MAX_BGM_LOOPS: 100,
32
- MIN_SUBTITLE_DURATION: 0.1,
33
- SUBTITLE_GAP: 0.05,
34
- };
35
48
  // Helper function for debug logging
36
49
  function debugLog(message) {
37
50
  if (DEBUG_MODE) {
@@ -39,125 +52,64 @@ function debugLog(message) {
39
52
  (0, fs_1.appendFileSync)(DEBUG_LOG_PATH, `${timestamp} ${message}\n`);
40
53
  }
41
54
  }
42
- /**
43
- * Create a timeout wrapper for FFmpeg commands
44
- */
45
- function createTimeoutPromise(promise, timeoutMs, operationName, cleanup) {
46
- return new Promise((resolve, reject) => {
47
- const timeoutId = setTimeout(() => {
48
- if (cleanup)
49
- cleanup();
50
- reject(new Error(`[${operationName}] Operation timed out after ${timeoutMs / 1000}s`));
51
- }, timeoutMs);
52
- promise
53
- .then((result) => {
54
- clearTimeout(timeoutId);
55
- resolve(result);
56
- })
57
- .catch((error) => {
58
- clearTimeout(timeoutId);
59
- reject(error);
60
- });
61
- });
62
- }
63
- /**
64
- * Check if a command is available in the system
65
- */
66
- function isCommandAvailable(command) {
67
- try {
68
- (0, child_process_1.execSync)(`which ${command}`, { stdio: 'ignore' });
69
- return true;
70
- }
71
- catch {
72
- return false;
73
- }
74
- }
75
- /**
76
- * Fix permissions for npm-installed binaries
77
- */
78
- function fixBinaryPermissions(binaryPath) {
79
- try {
80
- if ((0, fs_1.existsSync)(binaryPath)) {
81
- (0, child_process_1.execSync)(`chmod +x "${binaryPath}"`, { stdio: 'ignore' });
82
- return true;
83
- }
84
- }
85
- catch (error) {
86
- debugLog(`[VideoComposer] Failed to fix permissions for ${binaryPath}: ${error}`);
87
- }
88
- return false;
89
- }
90
- // Set FFmpeg and FFprobe paths with intelligent fallback strategy
91
- // Priority: 1. System binaries (most reliable in Docker)
92
- // 2. npm packages with permission fix
93
- // 3. Graceful degradation
55
+ // Set FFmpeg and FFprobe paths with validation
94
56
  try {
95
- let ffmpegPath;
96
- let ffprobePath;
97
- // STRATEGY 1: Try system binaries first (best for Docker/n8n)
98
- if (isCommandAvailable('ffmpeg')) {
99
- ffmpegPath = 'ffmpeg';
100
- console.log('[VideoComposer] Using system ffmpeg');
101
- debugLog('[VideoComposer] Using system ffmpeg');
102
- }
103
- if (isCommandAvailable('ffprobe')) {
104
- ffprobePath = 'ffprobe';
105
- console.log('[VideoComposer] ✅ Using system ffprobe');
106
- debugLog('[VideoComposer] Using system ffprobe');
107
- }
108
- // STRATEGY 2: Try npm-installed binaries if system binaries not available
109
- if (!ffmpegPath || !ffprobePath) {
57
+ const ffmpegPath = ffmpeg_1.default.path;
58
+ const ffprobePath = ffprobeInstaller.path;
59
+ // Validate that binaries actually exist (critical for n8n environment)
60
+ if (!(0, fs_1.existsSync)(ffmpegPath)) {
61
+ console.error(`[VideoComposer] FFmpeg binary not found at: ${ffmpegPath}`);
62
+ debugLog(`[VideoComposer] FFmpeg binary missing: ${ffmpegPath}`);
63
+ // Try system ffmpeg as fallback
110
64
  try {
111
- // eslint-disable-next-line @typescript-eslint/no-var-requires
112
- const ffmpegInstaller = require('@ffmpeg-installer/ffmpeg');
113
- // eslint-disable-next-line @typescript-eslint/no-var-requires
114
- const ffprobeInstaller = require('@ffprobe-installer/ffprobe');
115
- if (!ffmpegPath && ffmpegInstaller.path) {
116
- if ((0, fs_1.existsSync)(ffmpegInstaller.path)) {
117
- // Try to fix permissions
118
- fixBinaryPermissions(ffmpegInstaller.path);
119
- ffmpegPath = ffmpegInstaller.path;
120
- console.log(`[VideoComposer] ✅ Using npm ffmpeg: ${ffmpegPath}`);
121
- debugLog(`[VideoComposer] Using npm ffmpeg: ${ffmpegPath}`);
122
- }
123
- }
124
- if (!ffprobePath && ffprobeInstaller.path) {
125
- if ((0, fs_1.existsSync)(ffprobeInstaller.path)) {
126
- // Try to fix permissions
127
- fixBinaryPermissions(ffprobeInstaller.path);
128
- ffprobePath = ffprobeInstaller.path;
129
- console.log(`[VideoComposer] ✅ Using npm ffprobe: ${ffprobePath}`);
130
- debugLog(`[VideoComposer] Using npm ffprobe: ${ffprobePath}`);
131
- }
132
- }
65
+ fluent_ffmpeg_1.default.setFfmpegPath('ffmpeg');
66
+ console.warn('[VideoComposer] Using system ffmpeg as fallback');
67
+ debugLog('[VideoComposer] Using system ffmpeg as fallback');
133
68
  }
134
- catch (npmError) {
135
- console.warn('[VideoComposer] npm ffmpeg/ffprobe packages not available:', npmError);
136
- debugLog(`[VideoComposer] npm packages unavailable: ${npmError}`);
69
+ catch (systemError) {
70
+ throw new Error(`FFmpeg binary not found at ${ffmpegPath} and system ffmpeg unavailable`);
137
71
  }
138
72
  }
139
- // Set the paths in fluent-ffmpeg
140
- if (ffmpegPath) {
141
- fluent_ffmpeg_1.default.setFfmpegPath(ffmpegPath);
142
- }
143
73
  else {
144
- console.error('[VideoComposer] ⚠️ No FFmpeg found - video operations will fail');
145
- debugLog('[VideoComposer] No FFmpeg available');
74
+ fluent_ffmpeg_1.default.setFfmpegPath(ffmpegPath);
75
+ console.log(`[VideoComposer] FFmpeg verified: ${ffmpegPath}`);
76
+ debugLog(`[VideoComposer] FFmpeg path set and verified: ${ffmpegPath}`);
146
77
  }
147
- if (ffprobePath) {
148
- fluent_ffmpeg_1.default.setFfprobePath(ffprobePath);
78
+ if (!(0, fs_1.existsSync)(ffprobePath)) {
79
+ console.error(`[VideoComposer] FFprobe binary not found at: ${ffprobePath}`);
80
+ debugLog(`[VideoComposer] FFprobe binary missing: ${ffprobePath}`);
81
+ // Try system ffprobe as fallback
82
+ try {
83
+ fluent_ffmpeg_1.default.setFfprobePath('ffprobe');
84
+ console.warn('[VideoComposer] Using system ffprobe as fallback');
85
+ debugLog('[VideoComposer] Using system ffprobe as fallback');
86
+ }
87
+ catch (systemError) {
88
+ console.warn('[VideoComposer] System ffprobe also unavailable, metadata detection will be limited');
89
+ debugLog('[VideoComposer] System ffprobe unavailable, will use fallback metadata');
90
+ // Don't throw - we'll handle this gracefully in getVideoMetadata
91
+ }
149
92
  }
150
93
  else {
151
- console.warn('[VideoComposer] ⚠️ No FFprobe found - metadata detection will be limited');
152
- debugLog('[VideoComposer] No FFprobe available - will use fallback metadata');
94
+ fluent_ffmpeg_1.default.setFfprobePath(ffprobePath);
95
+ console.log(`[VideoComposer] FFprobe verified: ${ffprobePath}`);
96
+ debugLog(`[VideoComposer] FFprobe path set and verified: ${ffprobePath}`);
153
97
  }
154
- // Log final configuration
155
- console.log('[VideoComposer] 🎬 FFmpeg configuration complete');
156
- debugLog(`[VideoComposer] Final config - FFmpeg: ${ffmpegPath || 'none'}, FFprobe: ${ffprobePath || 'none'}`);
157
98
  }
158
99
  catch (error) {
159
- console.error('[VideoComposer] ⚠️ Failed to initialize FFmpeg/FFprobe:', error);
100
+ console.error('[VideoComposer] CRITICAL: Failed to initialize FFmpeg/FFprobe:', error);
160
101
  debugLog(`[VideoComposer] Initialization error: ${error}`);
102
+ // Final fallback: try system binaries
103
+ try {
104
+ fluent_ffmpeg_1.default.setFfmpegPath('ffmpeg');
105
+ fluent_ffmpeg_1.default.setFfprobePath('ffprobe');
106
+ console.warn('[VideoComposer] Using system ffmpeg/ffprobe binaries as last resort');
107
+ debugLog('[VideoComposer] Using system binaries as last resort');
108
+ }
109
+ catch (systemError) {
110
+ console.error('[VideoComposer] No FFmpeg/FFprobe available - operations will be limited');
111
+ debugLog('[VideoComposer] No FFmpeg available - critical error');
112
+ }
161
113
  }
162
114
  /**
163
115
  * VideoComposer Service
@@ -184,8 +136,7 @@ class VideoComposer {
184
136
  // __dirname is dist/nodes/SbRender/services, go up 4 levels to package root
185
137
  const fontsDir = (0, path_1.join)((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)(__dirname)))), 'fonts');
186
138
  const escapedFontsDir = fontsDir.replace(/\\/g, '/').replace(/:/g, '\\:');
187
- // Use 'subtitles' filter instead of 'ass' - handles both SRT and ASS formats
188
- videoFilters.push(`subtitles=${escapedPath}:fontsdir=${escapedFontsDir}`);
139
+ videoFilters.push(`ass=${escapedPath}:fontsdir=${escapedFontsDir}`);
189
140
  }
190
141
  // Apply video filters if any
191
142
  if (videoFilters.length > 0) {
@@ -255,83 +206,79 @@ class VideoComposer {
255
206
  * Compose with complex audio mixing
256
207
  */
257
208
  async composeWithAudioMix(videoPath, bgmPath, narrationPath, subtitlePath, audioFilterChain, outputPath, config) {
258
- // Parallel metadata detection with timeout protection
259
- console.log('[ComposeAudioMix] Starting parallel metadata detection...');
260
- const metadataStart = Date.now();
261
- // Create promises for all metadata we need
262
- const videoMetadataPromise = this.getVideoMetadata(videoPath)
263
- .catch((error) => {
264
- console.warn('[ComposeAudioMix] Video metadata failed, trying fallback:', error.message);
265
- return this.getFallbackDuration(videoPath)
266
- .then((duration) => ({
267
- duration,
268
- width: CONFIG.DEFAULT_WIDTH,
269
- height: CONFIG.DEFAULT_HEIGHT,
270
- hasAudio: true,
271
- videoCodec: 'unknown'
272
- }))
273
- .catch(() => ({
274
- duration: CONFIG.DEFAULT_DURATION,
275
- width: CONFIG.DEFAULT_WIDTH,
276
- height: CONFIG.DEFAULT_HEIGHT,
277
- hasAudio: true,
278
- videoCodec: 'unknown'
279
- }));
280
- });
281
- const bgmDurationPromise = bgmPath
282
- ? this.getAudioDuration(bgmPath).catch(() => 180)
283
- : Promise.resolve(0);
284
- const narrationDurationPromise = narrationPath
285
- ? this.getAudioDuration(narrationPath).catch(() => 0)
286
- : Promise.resolve(0);
287
- // Run all metadata detection in parallel with timeout
288
- const [videoMetadata, bgmDuration, narrationDurationFromFile] = await createTimeoutPromise(Promise.all([videoMetadataPromise, bgmDurationPromise, narrationDurationPromise]), CONFIG.FFPROBE_TIMEOUT_MS, 'MetadataDetection');
289
- console.log(`[ComposeAudioMix] Metadata detection completed in ${Date.now() - metadataStart}ms`);
290
- console.log(`[ComposeAudioMix] Video: ${videoMetadata.duration}s, BGM: ${bgmDuration}s, Narration: ${narrationDurationFromFile}s`);
291
- debugLog(`[ComposeAudioMix] Video metadata: ${JSON.stringify(videoMetadata)}`);
209
+ // Get video duration with better error handling for n8n
210
+ let videoMetadata;
211
+ try {
212
+ videoMetadata = await this.getVideoMetadata(videoPath);
213
+ console.log(`[ComposeAudioMix] Video metadata: duration=${videoMetadata.duration}s, hasAudio=${videoMetadata.hasAudio}`);
214
+ debugLog(`[ComposeAudioMix] Video metadata: ${JSON.stringify(videoMetadata)}`);
215
+ }
216
+ catch (error) {
217
+ console.warn('[ComposeAudioMix] Failed to get video metadata, using fallback duration detection');
218
+ debugLog(`[ComposeAudioMix] Metadata detection failed: ${error}`);
219
+ // Fallback: Use ffprobe directly on video to get duration
220
+ try {
221
+ const fallbackDuration = await this.getFallbackDuration(videoPath);
222
+ videoMetadata = {
223
+ duration: fallbackDuration,
224
+ width: 1920,
225
+ height: 1080,
226
+ hasAudio: true, // Assume audio exists in n8n to preserve it
227
+ videoCodec: 'unknown'
228
+ };
229
+ console.log(`[ComposeAudioMix] Using fallback duration: ${fallbackDuration}s`);
230
+ }
231
+ catch (fallbackError) {
232
+ console.warn('[ComposeAudioMix] Fallback duration detection also failed, using 30s default');
233
+ videoMetadata = {
234
+ duration: 30, // Conservative default for multiple merged videos
235
+ width: 1920,
236
+ height: 1080,
237
+ hasAudio: true,
238
+ videoCodec: 'unknown'
239
+ };
240
+ }
241
+ }
292
242
  const videoDuration = videoMetadata.duration;
293
- // Check if video has audio longer than video (narration already merged)
294
- let narrationDuration = narrationDurationFromFile;
295
- if (!narrationPath && videoMetadata.hasAudio) {
243
+ // Get BGM duration if exists
244
+ let bgmDuration = 0;
245
+ if (bgmPath) {
296
246
  try {
297
- const videoAudioDuration = await this.getVideoAudioDuration(videoPath);
298
- if (videoAudioDuration > videoDuration) {
299
- narrationDuration = videoAudioDuration;
300
- console.log(`[ComposeAudioMix] Video contains audio longer than video: ${videoAudioDuration}s`);
301
- }
247
+ bgmDuration = await this.getAudioDuration(bgmPath);
248
+ console.log(`[ComposeAudioMix] BGM duration: ${bgmDuration}s, video duration: ${videoDuration}s`);
249
+ debugLog(`[ComposeAudioMix] BGM duration: ${bgmDuration}s`);
250
+ }
251
+ catch (error) {
252
+ console.warn('Failed to get BGM duration:', error);
253
+ bgmDuration = 180; // Default 3 minutes
254
+ }
255
+ }
256
+ // Get narration duration if exists
257
+ let narrationDuration = 0;
258
+ if (narrationPath) {
259
+ try {
260
+ const narrationMetadata = await this.getAudioDuration(narrationPath);
261
+ narrationDuration = narrationMetadata;
262
+ console.log(`[ComposeAudioMix] Narration duration: ${narrationDuration}s`);
302
263
  }
303
264
  catch (error) {
304
- console.warn('Failed to get video audio duration:', error);
265
+ console.warn('Failed to get narration duration:', error);
305
266
  }
306
267
  }
307
- // Calculate maximum duration needed for BGM (to cover both video and narration)
308
- // Validate durations to prevent NaN errors in FFmpeg
309
- const safeVideoDuration = isNaN(videoDuration) || videoDuration <= 0 ? CONFIG.DEFAULT_DURATION : videoDuration;
310
- const safeNarrationDuration = isNaN(narrationDuration) || narrationDuration < 0 ? 0 : narrationDuration;
311
- const maxDuration = Math.max(safeVideoDuration, safeNarrationDuration) + 10;
312
- console.log(`[ComposeAudioMix] Max duration for BGM: ${maxDuration}s (video: ${safeVideoDuration}s, narration: ${safeNarrationDuration}s)`);
268
+ // Calculate effective duration (max of video and narration) to ensure BGM covers the whole duration
269
+ const effectiveDuration = Math.max(videoDuration, narrationDuration);
270
+ console.log(`[ComposeAudioMix] Effective duration for BGM: ${effectiveDuration}s (Video: ${videoDuration}s, Narration: ${narrationDuration}s)`);
313
271
  return new Promise((resolve, reject) => {
314
272
  try {
315
273
  const command = (0, fluent_ffmpeg_1.default)(videoPath);
316
- // Add BGM input with dynamic loop calculation
274
+ // Add BGM input with simple approach
317
275
  if (bgmPath) {
318
- // Calculate required loops based on BGM and max duration
319
- // Validate bgmDuration to prevent NaN
320
- const safeBgmDuration = isNaN(bgmDuration) || bgmDuration <= 0 ? 180 : bgmDuration;
321
- let requiredLoops = 10; // Default minimum
322
- if (safeBgmDuration > 0 && maxDuration > 0) {
323
- requiredLoops = Math.ceil((maxDuration / safeBgmDuration) * 1.1); // 10% buffer
324
- requiredLoops = Math.max(requiredLoops, 1); // At least 1 loop
325
- requiredLoops = Math.min(requiredLoops, CONFIG.MAX_BGM_LOOPS); // Cap to prevent memory issues
326
- }
327
- // Ensure maxDuration is valid for -t option
328
- const safeTrimDuration = isNaN(maxDuration) || maxDuration <= 0 ? CONFIG.DEFAULT_DURATION + 10 : maxDuration;
329
- console.log(`[ComposeAudioMix] Adding BGM input: duration=${safeBgmDuration}s, maxNeeded=${safeTrimDuration}s, loops=${requiredLoops}`);
330
- debugLog(`[ComposeAudioMix] BGM strategy: dynamic loop calculation`);
331
- // Use calculated loops to ensure BGM covers entire duration
276
+ console.log(`[ComposeAudioMix] Adding BGM input for ${effectiveDuration}s video`);
277
+ debugLog(`[ComposeAudioMix] BGM strategy: simple input mapping`);
278
+ // Use simple input approach without complex looping
332
279
  command.input(bgmPath).inputOptions([
333
- '-stream_loop', requiredLoops.toString(),
334
- '-t', safeTrimDuration.toFixed(3)
280
+ '-stream_loop', '-1', // Infinite loop to cover any duration
281
+ '-t', (effectiveDuration + 10).toString() // Buffer time based on effective duration
335
282
  ]);
336
283
  }
337
284
  // Add narration input
@@ -360,14 +307,6 @@ class VideoComposer {
360
307
  finalAudioFilterChain = audioMixer.getAudioFilterChain(audioConfig, videoMetadata.hasAudio);
361
308
  console.log(`[ComposeAudioMix] Generated filter chain: "${finalAudioFilterChain}"`);
362
309
  debugLog(`[ComposeAudioMix] Generated filter chain: ${finalAudioFilterChain}`);
363
- // If Half Frame Rate is enabled, pad audio to match doubled video duration
364
- if (config.halfFrameRate && finalAudioFilterChain && finalAudioFilterChain.includes('[mixed]')) {
365
- const paddedVideoDuration = videoDuration * 2;
366
- // Add apad filter to extend audio with silence to match video duration
367
- finalAudioFilterChain = finalAudioFilterChain.replace('[mixed]', `,apad=whole_dur=${paddedVideoDuration}[mixed]`);
368
- console.log(`[ComposeAudioMix] Padding audio to ${paddedVideoDuration}s for Half Frame Rate`);
369
- debugLog(`[ComposeAudioMix] Audio padding filter added: whole_dur=${paddedVideoDuration}`);
370
- }
371
310
  }
372
311
  // Apply complex audio filter with fallback to simple approach
373
312
  if (finalAudioFilterChain && finalAudioFilterChain.trim() !== '') {
@@ -424,33 +363,15 @@ class VideoComposer {
424
363
  }
425
364
  // Video filters
426
365
  const videoFilters = [];
427
- // Calculate target video duration based on options
428
- let targetVideoDuration = videoDuration;
366
+ // Half frame rate if enabled (doubles duration)
429
367
  if (config.halfFrameRate) {
430
- // Half frame rate doubles the video duration by stretching PTS
368
+ // Slow down video by doubling PTS and maintaining consistent frame timing
431
369
  videoFilters.push('setpts=2.0*PTS');
432
- targetVideoDuration = videoDuration * 2;
433
- console.log(`[ComposeAudioMix] Half frame rate: ${videoDuration}s → ${targetVideoDuration}s (setpts=2.0*PTS)`);
434
- debugLog(`[ComposeAudioMix] Video PTS doubled for half frame rate`);
435
- }
436
- else if (config.syncToAudio && narrationDuration > 0) {
437
- // Sync to audio: stretch/compress video to match narration duration using setpts
438
- // setpts multiplier: >1 = slower/longer, <1 = faster/shorter
439
- const ptsFactor = narrationDuration / videoDuration;
440
- videoFilters.push(`setpts=${ptsFactor.toFixed(4)}*PTS`);
441
- targetVideoDuration = narrationDuration;
442
- console.log(`[ComposeAudioMix] Sync to audio: ${videoDuration}s → ${targetVideoDuration}s (setpts=${ptsFactor.toFixed(4)}*PTS)`);
443
- debugLog(`[ComposeAudioMix] Video PTS adjustment: ${ptsFactor.toFixed(4)}x for audio sync`);
444
370
  }
445
- // If narration is longer than target video duration, freeze last frame
446
- // This handles cases where narration is longer even after half frame rate
447
- if (safeNarrationDuration > targetVideoDuration && safeNarrationDuration > 0) {
448
- const freezeDuration = safeNarrationDuration - targetVideoDuration;
449
- // Validate freezeDuration to prevent NaN errors
450
- if (!isNaN(freezeDuration) && freezeDuration > 0) {
451
- videoFilters.push(`tpad=stop_mode=clone:stop_duration=${freezeDuration.toFixed(3)}`);
452
- console.log(`[ComposeAudioMix] Extending video with freeze frame: +${freezeDuration.toFixed(3)}s`);
453
- }
371
+ // If narration is longer than video AND sync enabled, freeze last frame
372
+ if (config.syncToAudio && narrationDuration > videoDuration) {
373
+ const freezeDuration = narrationDuration - videoDuration;
374
+ videoFilters.push(`tpad=stop_mode=clone:stop_duration=${freezeDuration}`);
454
375
  }
455
376
  // Add subtitle overlay if present
456
377
  if (subtitlePath) {
@@ -458,8 +379,7 @@ class VideoComposer {
458
379
  // __dirname is dist/nodes/SbRender/services, go up 4 levels to package root
459
380
  const fontsDir = (0, path_1.join)((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)((0, path_1.dirname)(__dirname)))), 'fonts');
460
381
  const escapedFontsDir = fontsDir.replace(/\\/g, '/').replace(/:/g, '\\:');
461
- // Use 'subtitles' filter instead of 'ass' - handles both SRT and ASS formats
462
- videoFilters.push(`subtitles=${escapedPath}:fontsdir=${escapedFontsDir}`);
382
+ videoFilters.push(`ass=${escapedPath}:fontsdir=${escapedFontsDir}`);
463
383
  }
464
384
  if (videoFilters.length > 0) {
465
385
  command.videoFilters(videoFilters);
@@ -471,8 +391,10 @@ class VideoComposer {
471
391
  '-preset medium',
472
392
  '-movflags +faststart',
473
393
  ];
474
- // Note: Half frame rate is handled by setpts=2.0*PTS in video filters
475
- // No need to change output frame rate here
394
+ // Add explicit frame rate for half frame rate mode to ensure proper playback
395
+ if (config.halfFrameRate) {
396
+ outputOptions.push('-r 24');
397
+ }
476
398
  // Map video and mixed audio with safe fallback
477
399
  if (finalAudioFilterChain && finalAudioFilterChain.includes('[mixed]')) {
478
400
  // Complex filter was successfully applied
@@ -488,17 +410,12 @@ class VideoComposer {
488
410
  }
489
411
  else if (narrationPath && !bgmPath) {
490
412
  // Narration only - map narration audio and video
491
- // Input 0: video, Input 1: narration (no BGM)
492
- outputOptions.unshift('-map 1:a', '-map 0:v');
493
- }
494
- else if (bgmPath && narrationPath) {
495
- // Both BGM and narration - Input 0: video, Input 1: BGM, Input 2: narration
496
- // Use amix filter for proper mixing, but fallback maps BGM (input 1)
497
- outputOptions.unshift('-map 1:a', '-map 0:v');
413
+ const narrationIndex = videoMetadata.hasAudio ? 1 : 1;
414
+ outputOptions.unshift(`-map ${narrationIndex}:a`, '-map 0:v');
498
415
  }
499
416
  else {
500
- // No BGM, no narration - preserve original if exists
501
- outputOptions.unshift('-map 0:a?', '-map 0:v');
417
+ // Both BGM and narration - use first audio input (BGM)
418
+ outputOptions.unshift('-map 1:a', '-map 0:v');
502
419
  }
503
420
  }
504
421
  else {
@@ -580,41 +497,6 @@ class VideoComposer {
580
497
  });
581
498
  });
582
499
  }
583
- /**
584
- * Get video's audio track duration
585
- * This is useful when video has audio that might be longer than video duration
586
- */
587
- async getVideoAudioDuration(videoPath) {
588
- return new Promise((resolve, reject) => {
589
- fluent_ffmpeg_1.default.ffprobe(videoPath, (error, metadata) => {
590
- var _a, _b;
591
- if (error) {
592
- reject(new Error(`Failed to get video audio duration: ${error.message}`));
593
- return;
594
- }
595
- // Find audio stream and get its duration
596
- const audioStream = (_a = metadata.streams) === null || _a === void 0 ? void 0 : _a.find((stream) => stream.codec_type === 'audio');
597
- if (audioStream && audioStream.duration !== undefined) {
598
- const duration = typeof audioStream.duration === 'string'
599
- ? parseFloat(audioStream.duration)
600
- : audioStream.duration;
601
- if (!isNaN(duration) && duration > 0) {
602
- resolve(duration);
603
- return;
604
- }
605
- }
606
- // Fallback to format duration with validation
607
- const formatDuration = (_b = metadata.format) === null || _b === void 0 ? void 0 : _b.duration;
608
- if (formatDuration && !isNaN(formatDuration) && formatDuration > 0) {
609
- resolve(formatDuration);
610
- }
611
- else {
612
- console.warn('[VideoAudioDuration] Unable to determine audio duration, returning 0');
613
- resolve(0);
614
- }
615
- });
616
- });
617
- }
618
500
  /**
619
501
  * Get video metadata (duration, resolution, codec)
620
502
  */
@@ -624,8 +506,16 @@ class VideoComposer {
624
506
  console.log(logMsg);
625
507
  // Also write to file for n8n debugging
626
508
  debugLog(`${logMsg}`);
627
- // FFprobe path is already configured at module initialization
628
- // No need to reconfigure here
509
+ // Try to use ffprobe
510
+ // Ensure path is set in case n8n environment is different
511
+ try {
512
+ fluent_ffmpeg_1.default.setFfprobePath(ffprobeInstaller.path);
513
+ debugLog(`[Metadata] FFprobe path reconfirmed: ${ffprobeInstaller.path}`);
514
+ }
515
+ catch (e) {
516
+ console.warn('[Metadata] Could not set ffprobe path:', e);
517
+ debugLog(`[Metadata] FFprobe path setting failed: ${e}`);
518
+ }
629
519
  fluent_ffmpeg_1.default.ffprobe(videoPath, (error, metadata) => {
630
520
  var _a;
631
521
  if (error) {
@@ -652,22 +542,8 @@ class VideoComposer {
652
542
  }
653
543
  const videoStream = metadata.streams.find((s) => s.codec_type === 'video');
654
544
  const audioStream = metadata.streams.find((s) => s.codec_type === 'audio');
655
- // Extract frame rate from video stream
656
- let fps;
657
- if (videoStream) {
658
- // r_frame_rate is a fraction like "24/1" or "30000/1001"
659
- const frameRateStr = videoStream.r_frame_rate || videoStream.avg_frame_rate;
660
- if (frameRateStr) {
661
- const [num, den] = frameRateStr.split('/').map(Number);
662
- if (den && den > 0) {
663
- fps = num / den;
664
- console.log(`[Metadata] Detected frame rate: ${fps.toFixed(2)}fps (${frameRateStr})`);
665
- debugLog(`[Metadata] Frame rate: ${fps}fps from ${frameRateStr}`);
666
- }
667
- }
668
- }
669
545
  const streamInfo = {
670
- videoStream: videoStream ? `${videoStream.codec_name} ${videoStream.width}x${videoStream.height} @${(fps === null || fps === void 0 ? void 0 : fps.toFixed(2)) || '?'}fps` : 'none',
546
+ videoStream: videoStream ? `${videoStream.codec_name} ${videoStream.width}x${videoStream.height}` : 'none',
671
547
  audioStream: audioStream ? `${audioStream.codec_name} channels=${audioStream.channels}` : 'none'
672
548
  };
673
549
  console.log(`[Metadata] Streams found:`, streamInfo);
@@ -689,7 +565,6 @@ class VideoComposer {
689
565
  hasAudio: hasValidAudio,
690
566
  videoCodec: 'unknown',
691
567
  audioCodec: audioStream === null || audioStream === void 0 ? void 0 : audioStream.codec_name,
692
- fps: undefined,
693
568
  });
694
569
  return;
695
570
  }
@@ -700,7 +575,6 @@ class VideoComposer {
700
575
  hasAudio: hasValidAudio,
701
576
  videoCodec: videoStream.codec_name || 'unknown',
702
577
  audioCodec: audioStream === null || audioStream === void 0 ? void 0 : audioStream.codec_name,
703
- fps: fps,
704
578
  };
705
579
  console.log(`[Metadata] ✅ Result:`, result);
706
580
  resolve(result);
@@ -779,7 +653,7 @@ class VideoComposer {
779
653
  const hasMixedAudio = !allHaveAudio && hasAudio.some(has => has);
780
654
  if (allHaveAudio || hasMixedAudio) {
781
655
  // All videos have audio OR mixed audio - normalize video and ensure audio for all
782
- const scaleFilters = videoPaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,setsar=1,fps=24[v${index}]`).join(';');
656
+ const scaleFilters = videoPaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=24[v${index}]`).join(';');
783
657
  // Prepare audio streams
784
658
  const audioStreams = [];
785
659
  let audioFilters = '';
@@ -792,11 +666,9 @@ class VideoComposer {
792
666
  // Generate silent audio for this video using anullsrc
793
667
  // We use the video duration to trim the silence
794
668
  const duration = videoMetadataList[index].duration;
795
- // Validate duration to prevent NaN errors in FFmpeg
796
- const safeDuration = isNaN(duration) || duration <= 0 ? CONFIG.DEFAULT_DURATION : duration;
797
669
  // anullsrc generates infinite silence, we trim it to video duration
798
670
  // We use a unique label for this silence stream
799
- audioFilters += `anullsrc=r=44100:cl=stereo,atrim=duration=${safeDuration.toFixed(3)}[silence${index}];`;
671
+ audioFilters += `anullsrc=r=44100:cl=stereo,atrim=duration=${duration}[silence${index}];`;
800
672
  audioStreams.push(`[silence${index}]`);
801
673
  }
802
674
  });
@@ -808,7 +680,7 @@ class VideoComposer {
808
680
  }
809
681
  else {
810
682
  // No videos have audio - normalize and concat video only
811
- const scaleFilters = videoPaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,setsar=1,fps=24[v${index}]`).join(';');
683
+ const scaleFilters = videoPaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=24[v${index}]`).join(';');
812
684
  const videoStreams = videoPaths.map((_, index) => `[v${index}]`).join('');
813
685
  filterString = `${scaleFilters};${videoStreams}concat=n=${videoPaths.length}:v=1:a=0[outv]`;
814
686
  }
@@ -885,19 +757,16 @@ class VideoComposer {
885
757
  const command = (0, fluent_ffmpeg_1.default)();
886
758
  // Add all images as inputs with loop and duration
887
759
  imagePaths.forEach((imagePath, index) => {
888
- // Validate duration to prevent NaN errors in FFmpeg
889
- const duration = durations[index];
890
- const safeDuration = isNaN(duration) || duration <= 0 ? CONFIG.DEFAULT_DURATION : duration;
891
760
  command
892
761
  .input(imagePath)
893
762
  .inputOptions([
894
763
  '-loop 1',
895
- `-t ${safeDuration.toFixed(3)}`,
764
+ `-t ${durations[index]}`,
896
765
  ]);
897
766
  });
898
767
  // Build filter to scale all images to 1920x1080 and concat
899
- // Each image is scaled to fill 1920x1080 (16:9) and cropped to fit
900
- const scaleFilters = imagePaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,setsar=1,fps=24[v${index}]`).join(';');
768
+ // Each image is scaled to fit within 1920x1080 with padding (black bars) if needed
769
+ const scaleFilters = imagePaths.map((_, index) => `[${index}:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=24[v${index}]`).join(';');
901
770
  const concatInputs = imagePaths.map((_, index) => `[v${index}]`).join('');
902
771
  const filterString = `${scaleFilters};${concatInputs}concat=n=${imagePaths.length}:v=1:a=0[outv]`;
903
772
  console.log(`FFmpeg image to video filter: scale and concat`);
@@ -1 +1 @@
1
- {"version":3,"file":"VideoComposer.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/VideoComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoComposer.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/VideoComposer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-sb-render",
3
- "version": "1.3.26",
3
+ "version": "1.3.27",
4
4
  "description": "n8n community node for video rendering with customizable subtitles, BGM, and narration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",