n8n-nodes-sb-render 1.6.2 → 1.6.3

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,9 +1,11 @@
1
1
  export type ParallaxDirection = 'left' | 'right' | 'up' | 'down' | 'zoomIn' | 'zoomOut';
2
2
  export type ParallaxIntensity = 'subtle' | 'normal' | 'dramatic';
3
+ export type ParallaxZoom = 'none' | 'in' | 'out';
3
4
  export interface ParallaxConfig {
4
5
  direction: ParallaxDirection;
5
6
  intensity: ParallaxIntensity;
6
7
  layerCount?: number;
8
+ zoom?: ParallaxZoom;
7
9
  }
8
10
  export declare class ParallaxEngine {
9
11
  private sharpAvailable;
@@ -19,6 +21,7 @@ export declare class ParallaxEngine {
19
21
  /**
20
22
  * Generate parallax video from a single image
21
23
  * Main entry point for creating parallax effect videos
24
+ * Uses AI depth estimation for true parallax, falls back to Ken Burns
22
25
  */
23
26
  generateParallaxVideo(imagePath: string, outputPath: string, config: ParallaxConfig, duration: number, fps?: number, _videoCodec?: string, _quality?: string, _customCRF?: number): Promise<Buffer>;
24
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ParallaxEngine.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/ParallaxEngine.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkdD,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;;OAGG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAK,EACR,WAAW,SAAY,EACvB,QAAQ,SAAS,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAkDlB;;OAEG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAK,GACP,OAAO,CAAC,MAAM,EAAE,CAAC;CAKrB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"ParallaxEngine.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/ParallaxEngine.ts"],"names":[],"mappings":"AAmHA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AA8KD,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;;;OAIG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAK,EACR,WAAW,SAAY,EACvB,QAAQ,SAAS,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAyElB;;OAEG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAK,GACP,OAAO,CAAC,MAAM,EAAE,CAAC;CAKrB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -45,304 +45,166 @@ const fs = __importStar(require("fs"));
45
45
  const path = __importStar(require("path"));
46
46
  const ffmpeg_wrapper_1 = require("../utils/ffmpeg-wrapper");
47
47
  const child_process_1 = require("child_process");
48
- // Try to load sharp (optional dependency)
49
- let sharp = null;
50
- async function loadSharp() {
51
- if (sharp !== null)
52
- return true;
48
+ // Path to the depth parallax Python script
49
+ // In compiled code, __dirname is dist/nodes/SbRender/services/
50
+ // Script is at project_root/scripts/depth_parallax.py
51
+ const DEPTH_SCRIPT_PATH = path.join(__dirname, '../../../../scripts/depth_parallax.py');
52
+ // Check if Python depth estimation is available
53
+ let pythonDepthAvailable = null;
54
+ async function checkPythonDepth() {
55
+ if (pythonDepthAvailable !== null)
56
+ return pythonDepthAvailable;
53
57
  try {
54
- sharp = (await Promise.resolve().then(() => __importStar(require('sharp')))).default;
55
- console.log('[ParallaxEngine] Sharp loaded successfully');
56
- return true;
57
- }
58
- catch (error) {
59
- console.warn('[ParallaxEngine] Sharp not available:', error.message);
60
- return false;
61
- }
62
- }
63
- /**
64
- * Get motion parameters based on intensity
65
- */
66
- function getIntensityParams(intensity) {
67
- switch (intensity) {
68
- case 'subtle':
69
- return { fgSpeed: 0.04, bgSpeed: 0.015, scaleRange: 0.02 };
70
- case 'normal':
71
- return { fgSpeed: 0.08, bgSpeed: 0.025, scaleRange: 0.04 };
72
- case 'dramatic':
73
- return { fgSpeed: 0.15, bgSpeed: 0.04, scaleRange: 0.08 };
74
- default:
75
- return { fgSpeed: 0.08, bgSpeed: 0.025, scaleRange: 0.04 };
76
- }
77
- }
78
- /**
79
- * Create a gradient mask for layer separation
80
- * Returns RGBA buffer where alpha determines visibility
81
- */
82
- function createGradientMask(width, height, type, layerIndex, totalLayers) {
83
- // Create RGBA buffer
84
- const buffer = Buffer.alloc(width * height * 4);
85
- // Calculate layer boundaries
86
- const layerHeight = height / totalLayers;
87
- const layerStart = (totalLayers - 1 - layerIndex) * layerHeight; // Reverse: top layers are background
88
- const layerEnd = layerStart + layerHeight;
89
- // Feather zone for smooth transitions
90
- const featherSize = layerHeight * 0.3;
91
- for (let y = 0; y < height; y++) {
92
- let alpha = 0;
93
- if (y >= layerStart && y < layerEnd) {
94
- // Inside layer
95
- alpha = 255;
96
- // Apply feathering at edges
97
- if (y < layerStart + featherSize) {
98
- alpha = Math.floor(((y - layerStart) / featherSize) * 255);
99
- }
100
- else if (y > layerEnd - featherSize) {
101
- alpha = Math.floor(((layerEnd - y) / featherSize) * 255);
102
- }
103
- }
104
- else if (y < layerStart && y > layerStart - featherSize) {
105
- // Fade in from above
106
- alpha = Math.floor(((layerStart - y) / featherSize) * 128);
107
- }
108
- else if (y >= layerEnd && y < layerEnd + featherSize) {
109
- // Fade out below
110
- alpha = Math.floor(((y - layerEnd) / featherSize) * 128);
111
- }
112
- // For foreground (bottom), extend fully to bottom
113
- if (type === 'foreground' && layerIndex === 0 && y >= layerStart) {
114
- alpha = 255;
115
- }
116
- // For background (top), extend fully to top
117
- if (type === 'background' && layerIndex === totalLayers - 1 && y <= layerEnd) {
118
- alpha = 255;
58
+ // Check if Python and required packages are available
59
+ (0, child_process_1.execSync)('python3 -c "import torch; import transformers"', { stdio: 'pipe' });
60
+ if (fs.existsSync(DEPTH_SCRIPT_PATH)) {
61
+ pythonDepthAvailable = true;
62
+ console.log('[ParallaxEngine] Python depth estimation available');
119
63
  }
120
- for (let x = 0; x < width; x++) {
121
- const idx = (y * width + x) * 4;
122
- buffer[idx] = 255; // R
123
- buffer[idx + 1] = 255; // G
124
- buffer[idx + 2] = 255; // B
125
- buffer[idx + 3] = alpha; // A
64
+ else {
65
+ pythonDepthAvailable = false;
66
+ console.log('[ParallaxEngine] Depth script not found:', DEPTH_SCRIPT_PATH);
126
67
  }
127
68
  }
128
- return buffer;
69
+ catch {
70
+ pythonDepthAvailable = false;
71
+ console.log('[ParallaxEngine] Python depth estimation not available (missing torch/transformers)');
72
+ }
73
+ return pythonDepthAvailable;
129
74
  }
130
75
  /**
131
- * Generate true multi-layer parallax with actual layer separation
76
+ * Generate parallax using AI depth estimation (Python + Depth Anything)
77
+ * Creates true layer separation based on depth map
132
78
  */
133
- async function generateLayeredParallax(imagePath, outputPath, config, duration, fps, width, height) {
134
- if (!sharp) {
135
- throw new Error('Sharp not available for parallax');
136
- }
137
- const params = getIntensityParams(config.intensity);
138
- const totalFrames = Math.ceil(duration * fps);
139
- const numLayers = config.layerCount || 3;
140
- const tempDir = path.join(path.dirname(outputPath), `parallax_temp_${Date.now()}`);
141
- console.log(`[ParallaxEngine] Creating ${numLayers}-layer parallax effect`);
142
- console.log(`[ParallaxEngine] Direction: ${config.direction}, Intensity: ${config.intensity}`);
143
- try {
144
- fs.mkdirSync(tempDir, { recursive: true });
145
- // Load and prepare the source image
146
- const sourceBuffer = await sharp(imagePath)
147
- .resize(width, height, { fit: 'cover', position: 'center' })
148
- .ensureAlpha()
149
- .raw()
150
- .toBuffer({ resolveWithObject: true });
151
- const { data: sourceData, info } = sourceBuffer;
152
- const imgWidth = info.width;
153
- const imgHeight = info.height;
154
- console.log(`[ParallaxEngine] Source image: ${imgWidth}x${imgHeight}`);
155
- // Pre-calculate layer masks
156
- const layerMasks = [];
157
- for (let i = 0; i < numLayers; i++) {
158
- const type = i === 0 ? 'foreground' : i === numLayers - 1 ? 'background' : 'middle';
159
- layerMasks.push(createGradientMask(imgWidth, imgHeight, type, i, numLayers));
160
- }
161
- // Generate each frame
162
- console.log(`[ParallaxEngine] Generating ${totalFrames} frames...`);
163
- for (let frameNum = 0; frameNum < totalFrames; frameNum++) {
164
- // Progress from -1 to 1 (centered animation)
165
- const progress = ((frameNum / (totalFrames - 1)) - 0.5) * 2;
166
- // Start with a base canvas (slightly larger for movement headroom)
167
- const canvasWidth = Math.floor(imgWidth * 1.2);
168
- const canvasHeight = Math.floor(imgHeight * 1.2);
169
- // Create composites array for all layers
170
- const composites = [];
171
- // Process each layer (background to foreground)
172
- for (let layerIdx = numLayers - 1; layerIdx >= 0; layerIdx--) {
173
- // Calculate movement for this layer
174
- // Background layers (higher index) move less, foreground layers move more
175
- const depthFactor = layerIdx / (numLayers - 1); // 0 = foreground, 1 = background
176
- const layerSpeed = params.bgSpeed + (params.fgSpeed - params.bgSpeed) * (1 - depthFactor);
177
- let offsetX = 0;
178
- let offsetY = 0;
179
- let scale = 1.0;
180
- switch (config.direction) {
181
- case 'left':
182
- offsetX = Math.round(progress * layerSpeed * imgWidth);
183
- break;
184
- case 'right':
185
- offsetX = Math.round(-progress * layerSpeed * imgWidth);
186
- break;
187
- case 'up':
188
- offsetY = Math.round(progress * layerSpeed * imgHeight);
189
- break;
190
- case 'down':
191
- offsetY = Math.round(-progress * layerSpeed * imgHeight);
192
- break;
193
- case 'zoomIn':
194
- scale = 1 + (progress + 1) * params.scaleRange * (1 - depthFactor * 0.5);
195
- break;
196
- case 'zoomOut':
197
- scale = 1 + (1 - progress) * params.scaleRange * (1 - depthFactor * 0.5);
198
- break;
79
+ async function generateDepthParallax(imagePath, outputPath, config, duration, fps) {
80
+ return new Promise((resolve, reject) => {
81
+ const options = JSON.stringify({
82
+ direction: config.direction,
83
+ intensity: config.intensity,
84
+ duration,
85
+ fps,
86
+ layerCount: config.layerCount || 3,
87
+ zoom: config.zoom || 'none',
88
+ });
89
+ console.log(`[ParallaxEngine] Running depth estimation: python3 ${DEPTH_SCRIPT_PATH}`);
90
+ const proc = (0, child_process_1.spawn)('python3', [DEPTH_SCRIPT_PATH, imagePath, outputPath, options], {
91
+ stdio: ['pipe', 'pipe', 'pipe'],
92
+ });
93
+ let stdout = '';
94
+ let stderr = '';
95
+ proc.stdout.on('data', (data) => { stdout += data.toString(); });
96
+ proc.stderr.on('data', (data) => {
97
+ stderr += data.toString();
98
+ // Log progress messages
99
+ const lines = data.toString().split('\n');
100
+ for (const line of lines) {
101
+ if (line.trim()) {
102
+ console.log(`[DepthParallax] ${line.trim()}`);
199
103
  }
200
- // Apply mask to source image to create this layer
201
- const mask = layerMasks[layerIdx];
202
- const layerData = Buffer.alloc(imgWidth * imgHeight * 4);
203
- for (let i = 0; i < imgWidth * imgHeight; i++) {
204
- const srcIdx = i * 4;
205
- const maskAlpha = mask[srcIdx + 3];
206
- layerData[srcIdx] = sourceData[srcIdx]; // R
207
- layerData[srcIdx + 1] = sourceData[srcIdx + 1]; // G
208
- layerData[srcIdx + 2] = sourceData[srcIdx + 2]; // B
209
- layerData[srcIdx + 3] = maskAlpha; // A from mask
104
+ }
105
+ });
106
+ proc.on('close', (code) => {
107
+ if (code !== 0) {
108
+ console.error('[ParallaxEngine] Depth parallax failed:', stderr);
109
+ reject(new Error(`Depth parallax failed with code ${code}: ${stderr}`));
110
+ return;
111
+ }
112
+ try {
113
+ const result = JSON.parse(stdout);
114
+ if (result.success) {
115
+ console.log('[ParallaxEngine] Depth parallax completed successfully');
116
+ resolve();
210
117
  }
211
- // Create the layer image with transformations
212
- let layerImage = sharp(layerData, {
213
- raw: { width: imgWidth, height: imgHeight, channels: 4 },
214
- });
215
- // Apply scale if needed
216
- if (scale !== 1.0) {
217
- const scaledWidth = Math.round(imgWidth * scale);
218
- const scaledHeight = Math.round(imgHeight * scale);
219
- layerImage = layerImage.resize(scaledWidth, scaledHeight, { fit: 'fill' });
220
- // Extract center portion back to original size
221
- const cropX = Math.floor((scaledWidth - imgWidth) / 2);
222
- const cropY = Math.floor((scaledHeight - imgHeight) / 2);
223
- layerImage = layerImage.extract({
224
- left: Math.max(0, cropX),
225
- top: Math.max(0, cropY),
226
- width: Math.min(imgWidth, scaledWidth),
227
- height: Math.min(imgHeight, scaledHeight),
228
- });
118
+ else {
119
+ reject(new Error(result.error || 'Unknown error'));
229
120
  }
230
- const layerBuffer = await layerImage.ensureAlpha().raw().toBuffer();
231
- // Calculate position on canvas
232
- const baseX = Math.floor((canvasWidth - imgWidth) / 2);
233
- const baseY = Math.floor((canvasHeight - imgHeight) / 2);
234
- composites.push({
235
- input: layerBuffer,
236
- raw: { width: imgWidth, height: imgHeight, channels: 4 },
237
- left: baseX + offsetX,
238
- top: baseY + offsetY,
239
- blend: 'over',
240
- });
241
- }
242
- // Create the final frame by compositing all layers
243
- let frame = sharp({
244
- create: {
245
- width: canvasWidth,
246
- height: canvasHeight,
247
- channels: 4,
248
- background: { r: 0, g: 0, b: 0, alpha: 255 },
249
- },
250
- });
251
- // Add each layer
252
- for (const comp of composites) {
253
- frame = sharp(await frame.png().toBuffer()).composite([{
254
- input: comp.input,
255
- raw: comp.raw,
256
- left: comp.left,
257
- top: comp.top,
258
- blend: comp.blend,
259
- }]);
260
121
  }
261
- // Extract the center portion at original size
262
- const cropX = Math.floor((canvasWidth - imgWidth) / 2);
263
- const cropY = Math.floor((canvasHeight - imgHeight) / 2);
264
- const framePath = path.join(tempDir, `frame_${String(frameNum).padStart(5, '0')}.png`);
265
- await frame
266
- .extract({ left: cropX, top: cropY, width: imgWidth, height: imgHeight })
267
- .png()
268
- .toFile(framePath);
269
- if (frameNum % Math.max(1, Math.floor(totalFrames / 10)) === 0) {
270
- console.log(`[ParallaxEngine] Frame ${frameNum + 1}/${totalFrames}`);
122
+ catch {
123
+ // If no JSON output, assume success if file exists
124
+ if (fs.existsSync(outputPath)) {
125
+ resolve();
126
+ }
127
+ else {
128
+ reject(new Error('Depth parallax failed: no output file'));
129
+ }
271
130
  }
272
- }
273
- // Combine frames into video using FFmpeg
274
- console.log('[ParallaxEngine] Combining frames into video...');
275
- const inputPattern = path.join(tempDir, 'frame_%05d.png');
276
- await new Promise((resolve, reject) => {
277
- const command = (0, ffmpeg_wrapper_1.createCommand)();
278
- command
279
- .input(inputPattern)
280
- .inputOptions([`-framerate ${fps}`])
281
- .outputOptions([
282
- '-c:v libx264',
283
- '-crf 18',
284
- '-preset medium',
285
- '-pix_fmt yuv420p',
286
- '-movflags +faststart',
287
- ])
288
- .format('mp4')
289
- .output(outputPath);
290
- command.on('start', (cmd) => {
291
- console.log(`[ParallaxEngine] FFmpeg: ${cmd}`);
292
- });
293
- command.on('error', (err) => reject(err));
294
- command.on('end', () => resolve());
295
- command.run();
296
131
  });
297
- console.log('[ParallaxEngine] Parallax video created successfully');
132
+ proc.on('error', (err) => {
133
+ console.error('[ParallaxEngine] Failed to spawn Python process:', err);
134
+ reject(err);
135
+ });
136
+ });
137
+ }
138
+ // Try to load sharp (optional dependency)
139
+ let sharp = null;
140
+ async function loadSharp() {
141
+ if (sharp !== null)
142
+ return true;
143
+ try {
144
+ sharp = (await Promise.resolve().then(() => __importStar(require('sharp')))).default;
145
+ console.log('[ParallaxEngine] Sharp loaded successfully');
146
+ return true;
298
147
  }
299
- finally {
300
- // Cleanup temp directory
301
- if (fs.existsSync(tempDir)) {
302
- fs.rmSync(tempDir, { recursive: true, force: true });
303
- }
148
+ catch (error) {
149
+ console.warn('[ParallaxEngine] Sharp not available:', error.message);
150
+ return false;
304
151
  }
305
152
  }
306
153
  /**
307
- * Fallback: Simple Ken Burns effect using FFmpeg zoompan
308
- * Used when sharp is not available
154
+ * Ken Burns effect using zoompan with optimized settings
155
+ * Uses higher zoom and stronger movement for visible parallax
309
156
  */
310
157
  async function generateSimpleKenBurns(imagePath, outputPath, config, duration, fps, width, height) {
311
- const params = getIntensityParams(config.intensity);
312
158
  const totalFrames = Math.ceil(duration * fps);
159
+ // Movement intensity - increased for more visible effect
160
+ const intensityMultiplier = config.intensity === 'subtle' ? 0.7 :
161
+ config.intensity === 'dramatic' ? 1.6 : 1.0;
162
+ // Higher base zoom for smoother subpixel movement
163
+ const baseZoom = 1.3;
164
+ // Stronger zoom change
165
+ const zoomDelta = 0.12 * intensityMultiplier;
166
+ // Stronger pan movement (percentage of available space)
167
+ const panSpeed = 0.15 * intensityMultiplier;
313
168
  let zoomExpr;
314
169
  let xExpr;
315
170
  let yExpr;
316
- const baseZoom = 1.15;
317
- const zoomDelta = params.scaleRange;
171
+ // Smooth easing using sine function for natural movement
172
+ // on = frame number, goes from 0 to totalFrames
173
+ // Using smooth start/end with sine easing
174
+ const progress = `on/${totalFrames}`;
175
+ const easeInOut = `(1-cos(${progress}*PI))/2`;
318
176
  switch (config.direction) {
319
177
  case 'left':
320
- zoomExpr = `${baseZoom}+${zoomDelta}*on/${totalFrames}`;
321
- xExpr = `(iw-ow)/2-${params.fgSpeed}*iw*on/${totalFrames}`;
178
+ // Pan from right to left
179
+ zoomExpr = `${baseZoom}+${zoomDelta}*${progress}`;
180
+ xExpr = `(iw-ow)/2*(1+${panSpeed})-${panSpeed}*(iw-ow)/2*${easeInOut}*2`;
322
181
  yExpr = `(ih-oh)/2`;
323
182
  break;
324
183
  case 'right':
325
- zoomExpr = `${baseZoom}+${zoomDelta}*on/${totalFrames}`;
326
- xExpr = `(iw-ow)/2+${params.fgSpeed}*iw*on/${totalFrames}`;
184
+ // Pan from left to right
185
+ zoomExpr = `${baseZoom}+${zoomDelta}*${progress}`;
186
+ xExpr = `(iw-ow)/2*(1-${panSpeed})+${panSpeed}*(iw-ow)/2*${easeInOut}*2`;
327
187
  yExpr = `(ih-oh)/2`;
328
188
  break;
329
189
  case 'up':
330
- zoomExpr = `${baseZoom}+${zoomDelta}*on/${totalFrames}`;
190
+ // Pan from bottom to top
191
+ zoomExpr = `${baseZoom}+${zoomDelta}*${progress}`;
331
192
  xExpr = `(iw-ow)/2`;
332
- yExpr = `(ih-oh)/2-${params.fgSpeed}*ih*on/${totalFrames}`;
193
+ yExpr = `(ih-oh)/2*(1+${panSpeed})-${panSpeed}*(ih-oh)/2*${easeInOut}*2`;
333
194
  break;
334
195
  case 'down':
335
- zoomExpr = `${baseZoom}+${zoomDelta}*on/${totalFrames}`;
196
+ // Pan from top to bottom
197
+ zoomExpr = `${baseZoom}+${zoomDelta}*${progress}`;
336
198
  xExpr = `(iw-ow)/2`;
337
- yExpr = `(ih-oh)/2+${params.fgSpeed}*ih*on/${totalFrames}`;
199
+ yExpr = `(ih-oh)/2*(1-${panSpeed})+${panSpeed}*(ih-oh)/2*${easeInOut}*2`;
338
200
  break;
339
201
  case 'zoomIn':
340
- zoomExpr = `${baseZoom}+${zoomDelta * 3}*on/${totalFrames}`;
202
+ zoomExpr = `${baseZoom}+${zoomDelta * 2.5}*${easeInOut}`;
341
203
  xExpr = `(iw-ow)/2`;
342
204
  yExpr = `(ih-oh)/2`;
343
205
  break;
344
206
  case 'zoomOut':
345
- zoomExpr = `${baseZoom + zoomDelta * 3}-${zoomDelta * 3}*on/${totalFrames}`;
207
+ zoomExpr = `${baseZoom + zoomDelta * 2.5}-${zoomDelta * 2.5}*${easeInOut}`;
346
208
  xExpr = `(iw-ow)/2`;
347
209
  yExpr = `(ih-oh)/2`;
348
210
  break;
@@ -351,12 +213,13 @@ async function generateSimpleKenBurns(imagePath, outputPath, config, duration, f
351
213
  xExpr = `(iw-ow)/2`;
352
214
  yExpr = `(ih-oh)/2`;
353
215
  }
354
- const zoompanFilter = `zoompan=z='${zoomExpr}':x='${xExpr}':y='${yExpr}':d=${totalFrames}:s=${width}x${height}:fps=${fps}`;
216
+ // zoompan filter with smooth interpolation
217
+ const filterChain = `zoompan=z='${zoomExpr}':x='${xExpr}':y='${yExpr}':d=${totalFrames}:s=${width}x${height}:fps=${fps}`;
355
218
  return new Promise((resolve, reject) => {
356
219
  const command = (0, ffmpeg_wrapper_1.createCommand)(imagePath);
357
220
  command
358
221
  .inputOptions(['-loop 1'])
359
- .videoFilters([zoompanFilter])
222
+ .videoFilters([filterChain])
360
223
  .outputOptions([
361
224
  `-t ${duration}`,
362
225
  '-pix_fmt yuv420p',
@@ -443,6 +306,7 @@ class ParallaxEngine {
443
306
  /**
444
307
  * Generate parallax video from a single image
445
308
  * Main entry point for creating parallax effect videos
309
+ * Uses AI depth estimation for true parallax, falls back to Ken Burns
446
310
  */
447
311
  async generateParallaxVideo(imagePath, outputPath, config, duration, fps = 24, _videoCodec = 'libx264', _quality = 'high', _customCRF) {
448
312
  await this.initialize();
@@ -453,15 +317,17 @@ class ParallaxEngine {
453
317
  const width = Math.floor(dimensions.width / 2) * 2; // Ensure even
454
318
  const height = Math.floor(dimensions.height / 2) * 2;
455
319
  console.log(`[ParallaxEngine] Output size: ${width}x${height}`);
320
+ // Check if Python depth estimation is available
321
+ const depthAvailable = await checkPythonDepth();
456
322
  try {
457
- if (this.sharpAvailable) {
458
- // Use true multi-layer parallax
459
- console.log('[ParallaxEngine] Using multi-layer parallax mode');
460
- await generateLayeredParallax(imagePath, outputPath, { ...config, layerCount: config.layerCount || 3 }, duration, fps, width, height);
323
+ if (depthAvailable) {
324
+ // Use AI depth-based parallax for true layer separation
325
+ console.log('[ParallaxEngine] Using AI depth-based parallax (Depth Anything V2)');
326
+ await generateDepthParallax(imagePath, outputPath, config, duration, fps);
461
327
  }
462
328
  else {
463
- // Fallback to simple Ken Burns
464
- console.log('[ParallaxEngine] Using Ken Burns fallback (sharp not available)');
329
+ // Fall back to Ken Burns effect
330
+ console.log('[ParallaxEngine] Using Ken Burns effect (depth estimation not available)');
465
331
  await generateSimpleKenBurns(imagePath, outputPath, config, duration, fps, width, height);
466
332
  }
467
333
  const buffer = fs.readFileSync(outputPath);
@@ -470,6 +336,19 @@ class ParallaxEngine {
470
336
  }
471
337
  catch (error) {
472
338
  console.error('[ParallaxEngine] Error generating parallax:', error);
339
+ // If depth parallax failed, try Ken Burns as fallback
340
+ if (depthAvailable) {
341
+ console.log('[ParallaxEngine] Depth parallax failed, falling back to Ken Burns');
342
+ try {
343
+ await generateSimpleKenBurns(imagePath, outputPath, config, duration, fps, width, height);
344
+ const buffer = fs.readFileSync(outputPath);
345
+ return buffer;
346
+ }
347
+ catch (fallbackError) {
348
+ console.error('[ParallaxEngine] Ken Burns fallback also failed:', fallbackError);
349
+ throw fallbackError;
350
+ }
351
+ }
473
352
  throw error;
474
353
  }
475
354
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ParallaxEngine.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/ParallaxEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParallaxEngine.js","sourceRoot":"","sources":["../../../../nodes/SbRender/services/ParallaxEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VideoComposer.d.ts","sourceRoot":"","sources":["../../../../nodes/SbRender/services/VideoComposer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAA8C,MAAM,eAAe,CAAC;AAoBrJ;;;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;IA4SlB;;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;IAuLlB;;;OAGG;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,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IAkSlB;;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":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAA8C,MAAM,eAAe,CAAC;AAoBrJ;;;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;IAoTlB;;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;IAyHlE;;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;IAuLlB;;;OAGG;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,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IAkSlB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAiBlD"}