n8n-nodes-sb-render 1.3.26 → 1.3.28

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":"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"}
@@ -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;IAmRlB;;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,18 @@ 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)
367
+ let currentVideoDuration = videoDuration;
429
368
  if (config.halfFrameRate) {
430
- // Half frame rate doubles the video duration by stretching PTS
369
+ // Slow down video by doubling PTS and maintaining consistent frame timing
431
370
  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`);
371
+ currentVideoDuration *= 2;
444
372
  }
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
- }
373
+ // If narration is longer than video AND sync enabled, stretch video to match audio
374
+ if (config.syncToAudio && narrationDuration > currentVideoDuration) {
375
+ const slowDownFactor = narrationDuration / currentVideoDuration;
376
+ console.log(`[ComposeAudioMix] Syncing video to audio: slowing down by factor ${slowDownFactor.toFixed(4)}`);
377
+ videoFilters.push(`setpts=${slowDownFactor.toFixed(6)}*PTS`);
454
378
  }
455
379
  // Add subtitle overlay if present
456
380
  if (subtitlePath) {
@@ -458,8 +382,7 @@ class VideoComposer {
458
382
  // __dirname is dist/nodes/SbRender/services, go up 4 levels to package root
459
383
  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
384
  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}`);
385
+ videoFilters.push(`ass=${escapedPath}:fontsdir=${escapedFontsDir}`);
463
386
  }
464
387
  if (videoFilters.length > 0) {
465
388
  command.videoFilters(videoFilters);
@@ -471,8 +394,10 @@ class VideoComposer {
471
394
  '-preset medium',
472
395
  '-movflags +faststart',
473
396
  ];
474
- // Note: Half frame rate is handled by setpts=2.0*PTS in video filters
475
- // No need to change output frame rate here
397
+ // Add explicit frame rate for half frame rate mode to ensure proper playback
398
+ if (config.halfFrameRate) {
399
+ outputOptions.push('-r 24');
400
+ }
476
401
  // Map video and mixed audio with safe fallback
477
402
  if (finalAudioFilterChain && finalAudioFilterChain.includes('[mixed]')) {
478
403
  // Complex filter was successfully applied
@@ -488,17 +413,12 @@ class VideoComposer {
488
413
  }
489
414
  else if (narrationPath && !bgmPath) {
490
415
  // 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');
416
+ const narrationIndex = videoMetadata.hasAudio ? 1 : 1;
417
+ outputOptions.unshift(`-map ${narrationIndex}:a`, '-map 0:v');
498
418
  }
499
419
  else {
500
- // No BGM, no narration - preserve original if exists
501
- outputOptions.unshift('-map 0:a?', '-map 0:v');
420
+ // Both BGM and narration - use first audio input (BGM)
421
+ outputOptions.unshift('-map 1:a', '-map 0:v');
502
422
  }
503
423
  }
504
424
  else {
@@ -580,41 +500,6 @@ class VideoComposer {
580
500
  });
581
501
  });
582
502
  }
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
503
  /**
619
504
  * Get video metadata (duration, resolution, codec)
620
505
  */
@@ -624,8 +509,16 @@ class VideoComposer {
624
509
  console.log(logMsg);
625
510
  // Also write to file for n8n debugging
626
511
  debugLog(`${logMsg}`);
627
- // FFprobe path is already configured at module initialization
628
- // No need to reconfigure here
512
+ // Try to use ffprobe
513
+ // Ensure path is set in case n8n environment is different
514
+ try {
515
+ fluent_ffmpeg_1.default.setFfprobePath(ffprobeInstaller.path);
516
+ debugLog(`[Metadata] FFprobe path reconfirmed: ${ffprobeInstaller.path}`);
517
+ }
518
+ catch (e) {
519
+ console.warn('[Metadata] Could not set ffprobe path:', e);
520
+ debugLog(`[Metadata] FFprobe path setting failed: ${e}`);
521
+ }
629
522
  fluent_ffmpeg_1.default.ffprobe(videoPath, (error, metadata) => {
630
523
  var _a;
631
524
  if (error) {
@@ -652,22 +545,8 @@ class VideoComposer {
652
545
  }
653
546
  const videoStream = metadata.streams.find((s) => s.codec_type === 'video');
654
547
  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
548
  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',
549
+ videoStream: videoStream ? `${videoStream.codec_name} ${videoStream.width}x${videoStream.height}` : 'none',
671
550
  audioStream: audioStream ? `${audioStream.codec_name} channels=${audioStream.channels}` : 'none'
672
551
  };
673
552
  console.log(`[Metadata] Streams found:`, streamInfo);
@@ -689,7 +568,6 @@ class VideoComposer {
689
568
  hasAudio: hasValidAudio,
690
569
  videoCodec: 'unknown',
691
570
  audioCodec: audioStream === null || audioStream === void 0 ? void 0 : audioStream.codec_name,
692
- fps: undefined,
693
571
  });
694
572
  return;
695
573
  }
@@ -700,7 +578,6 @@ class VideoComposer {
700
578
  hasAudio: hasValidAudio,
701
579
  videoCodec: videoStream.codec_name || 'unknown',
702
580
  audioCodec: audioStream === null || audioStream === void 0 ? void 0 : audioStream.codec_name,
703
- fps: fps,
704
581
  };
705
582
  console.log(`[Metadata] ✅ Result:`, result);
706
583
  resolve(result);
@@ -779,7 +656,7 @@ class VideoComposer {
779
656
  const hasMixedAudio = !allHaveAudio && hasAudio.some(has => has);
780
657
  if (allHaveAudio || hasMixedAudio) {
781
658
  // 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(';');
659
+ 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
660
  // Prepare audio streams
784
661
  const audioStreams = [];
785
662
  let audioFilters = '';
@@ -792,11 +669,9 @@ class VideoComposer {
792
669
  // Generate silent audio for this video using anullsrc
793
670
  // We use the video duration to trim the silence
794
671
  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
672
  // anullsrc generates infinite silence, we trim it to video duration
798
673
  // We use a unique label for this silence stream
799
- audioFilters += `anullsrc=r=44100:cl=stereo,atrim=duration=${safeDuration.toFixed(3)}[silence${index}];`;
674
+ audioFilters += `anullsrc=r=44100:cl=stereo,atrim=duration=${duration}[silence${index}];`;
800
675
  audioStreams.push(`[silence${index}]`);
801
676
  }
802
677
  });
@@ -808,7 +683,7 @@ class VideoComposer {
808
683
  }
809
684
  else {
810
685
  // 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(';');
686
+ 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
687
  const videoStreams = videoPaths.map((_, index) => `[v${index}]`).join('');
813
688
  filterString = `${scaleFilters};${videoStreams}concat=n=${videoPaths.length}:v=1:a=0[outv]`;
814
689
  }
@@ -885,19 +760,16 @@ class VideoComposer {
885
760
  const command = (0, fluent_ffmpeg_1.default)();
886
761
  // Add all images as inputs with loop and duration
887
762
  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
763
  command
892
764
  .input(imagePath)
893
765
  .inputOptions([
894
766
  '-loop 1',
895
- `-t ${safeDuration.toFixed(3)}`,
767
+ `-t ${durations[index]}`,
896
768
  ]);
897
769
  });
898
770
  // 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(';');
771
+ // Each image is scaled to fit within 1920x1080 with padding (black bars) if needed
772
+ 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
773
  const concatInputs = imagePaths.map((_, index) => `[v${index}]`).join('');
902
774
  const filterString = `${scaleFilters};${concatInputs}concat=n=${imagePaths.length}:v=1:a=0[outv]`;
903
775
  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.28",
4
4
  "description": "n8n community node for video rendering with customizable subtitles, BGM, and narration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",