@jnymmt/n8n-nodes-ffmpeg 0.1.0 → 0.3.0

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.
@@ -26,7 +26,7 @@ class Ffmpeg {
26
26
  group: ['transform'],
27
27
  version: 1,
28
28
  subtitle: '={{$parameter["operation"]}}',
29
- description: 'Convert audio files using FFmpeg',
29
+ description: 'Process audio files using FFmpeg',
30
30
  defaults: {
31
31
  name: 'FFmpeg',
32
32
  },
@@ -51,6 +51,12 @@ class Ffmpeg {
51
51
  description: 'Change audio bitrate',
52
52
  action: 'Change audio bitrate',
53
53
  },
54
+ {
55
+ name: 'Mix Narration with BGM',
56
+ value: 'mixNarrationBgm',
57
+ description: 'Mix narration audio with background music',
58
+ action: 'Mix narration with BGM',
59
+ },
54
60
  ],
55
61
  default: 'convert',
56
62
  },
@@ -142,6 +148,104 @@ class Ffmpeg {
142
148
  },
143
149
  ],
144
150
  },
151
+ // Mix Narration with BGM parameters
152
+ {
153
+ displayName: 'BGM Binary Property',
154
+ name: 'bgmBinaryPropertyName',
155
+ type: 'string',
156
+ default: 'bgm',
157
+ description: 'Name of the binary property containing the BGM audio file',
158
+ displayOptions: {
159
+ show: {
160
+ operation: ['mixNarrationBgm'],
161
+ },
162
+ },
163
+ },
164
+ {
165
+ displayName: 'Fade In Duration (seconds)',
166
+ name: 'fadeInSeconds',
167
+ type: 'number',
168
+ typeOptions: { minValue: 0, numberStepSize: 0.5 },
169
+ default: 2,
170
+ description: 'Duration for BGM to fade in from silence to full volume',
171
+ displayOptions: {
172
+ show: {
173
+ operation: ['mixNarrationBgm'],
174
+ },
175
+ },
176
+ },
177
+ {
178
+ displayName: 'Intro Duration (seconds)',
179
+ name: 'introSeconds',
180
+ type: 'number',
181
+ typeOptions: { minValue: 0, numberStepSize: 0.5 },
182
+ default: 3,
183
+ description: 'Duration of BGM at full volume (after fade in, before fade down)',
184
+ displayOptions: {
185
+ show: {
186
+ operation: ['mixNarrationBgm'],
187
+ },
188
+ },
189
+ },
190
+ {
191
+ displayName: 'Fade Down Duration (seconds)',
192
+ name: 'fadeDownSeconds',
193
+ type: 'number',
194
+ typeOptions: { minValue: 0, numberStepSize: 0.5 },
195
+ default: 2,
196
+ description: 'Duration for BGM to fade from full volume to BGM volume',
197
+ displayOptions: {
198
+ show: {
199
+ operation: ['mixNarrationBgm'],
200
+ },
201
+ },
202
+ },
203
+ {
204
+ displayName: 'BGM Volume',
205
+ name: 'bgmVolume',
206
+ type: 'number',
207
+ typeOptions: { minValue: 0, maxValue: 1, numberStepSize: 0.05 },
208
+ default: 0.15,
209
+ description: 'BGM volume during narration (0.0 to 1.0)',
210
+ displayOptions: {
211
+ show: {
212
+ operation: ['mixNarrationBgm'],
213
+ },
214
+ },
215
+ },
216
+ {
217
+ displayName: 'Fade Out Duration (seconds)',
218
+ name: 'fadeOutSeconds',
219
+ type: 'number',
220
+ typeOptions: { minValue: 0, numberStepSize: 0.5 },
221
+ default: 3,
222
+ description: 'Duration for BGM to fade out to silence after narration ends',
223
+ displayOptions: {
224
+ show: {
225
+ operation: ['mixNarrationBgm'],
226
+ },
227
+ },
228
+ },
229
+ {
230
+ displayName: 'Mix Output Format',
231
+ name: 'mixOutputFormat',
232
+ type: 'options',
233
+ options: [
234
+ { name: 'MP3', value: 'mp3' },
235
+ { name: 'WAV', value: 'wav' },
236
+ { name: 'OGG', value: 'ogg' },
237
+ { name: 'FLAC', value: 'flac' },
238
+ { name: 'AAC', value: 'aac' },
239
+ { name: 'M4A', value: 'm4a' },
240
+ ],
241
+ default: 'mp3',
242
+ description: 'Output audio format',
243
+ displayOptions: {
244
+ show: {
245
+ operation: ['mixNarrationBgm'],
246
+ },
247
+ },
248
+ },
145
249
  {
146
250
  displayName: 'Output Binary Property',
147
251
  name: 'outputBinaryPropertyName',
@@ -159,6 +263,119 @@ class Ffmpeg {
159
263
  const operation = this.getNodeParameter('operation', i);
160
264
  const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i);
161
265
  const outputBinaryPropertyName = this.getNodeParameter('outputBinaryPropertyName', i);
266
+ // Handle Mix Narration with BGM separately
267
+ if (operation === 'mixNarrationBgm') {
268
+ const bgmBinaryPropertyName = this.getNodeParameter('bgmBinaryPropertyName', i);
269
+ const fadeInSeconds = this.getNodeParameter('fadeInSeconds', i);
270
+ const introSeconds = this.getNodeParameter('introSeconds', i);
271
+ const fadeDownSeconds = this.getNodeParameter('fadeDownSeconds', i);
272
+ const bgmVolume = this.getNodeParameter('bgmVolume', i);
273
+ const fadeOutSeconds = this.getNodeParameter('fadeOutSeconds', i);
274
+ const mixOutputFormat = this.getNodeParameter('mixOutputFormat', i);
275
+ // Get narration binary
276
+ const narBinaryData = this.helpers.assertBinaryData(i, binaryPropertyName);
277
+ const narBuffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
278
+ const narExt = getExtensionFromBinary(narBinaryData);
279
+ // Get BGM binary
280
+ const bgmBinaryData = this.helpers.assertBinaryData(i, bgmBinaryPropertyName);
281
+ const bgmBuffer = await this.helpers.getBinaryDataBuffer(i, bgmBinaryPropertyName);
282
+ const bgmExt = getExtensionFromBinary(bgmBinaryData);
283
+ const id = (0, crypto_1.randomUUID)();
284
+ const narPath = (0, path_1.join)((0, os_1.tmpdir)(), `ffmpeg_nar_${id}.${narExt}`);
285
+ const bgmPath = (0, path_1.join)((0, os_1.tmpdir)(), `ffmpeg_bgm_${id}.${bgmExt}`);
286
+ const outputPath = (0, path_1.join)((0, os_1.tmpdir)(), `ffmpeg_out_${id}.${mixOutputFormat}`);
287
+ try {
288
+ await (0, promises_1.writeFile)(narPath, narBuffer);
289
+ await (0, promises_1.writeFile)(bgmPath, bgmBuffer);
290
+ // Get narration duration using ffprobe
291
+ let narDuration;
292
+ try {
293
+ const probeResult = await execFileAsync('ffprobe', [
294
+ '-v', 'error',
295
+ '-show_entries', 'format=duration',
296
+ '-of', 'default=noprint_wrappers=1:nokey=1',
297
+ narPath,
298
+ ]);
299
+ narDuration = parseFloat(probeResult.stdout.trim());
300
+ }
301
+ catch (err) {
302
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `ffprobe failed: ${err.stderr || err.message}`, { itemIndex: i });
303
+ }
304
+ // Calculate timing
305
+ // fadeIn -> intro (full vol) -> fadeDown -> narration + bgmVol -> fadeOut
306
+ const fadeInEnd = fadeInSeconds;
307
+ const introEnd = fadeInEnd + introSeconds;
308
+ const fadeDownEnd = introEnd + fadeDownSeconds;
309
+ const narDelay = fadeDownEnd;
310
+ const narEnd = narDelay + narDuration;
311
+ const totalDuration = narEnd + fadeOutSeconds;
312
+ const delayMs = Math.round(narDelay * 1000);
313
+ // Build volume expression for BGM envelope (inside-out):
314
+ // 0 ~ fadeInEnd: fade from 0 to 1.0
315
+ // fadeInEnd ~ introEnd: full volume (1.0)
316
+ // introEnd ~ fadeDownEnd: fade from 1.0 to bgmVolume
317
+ // fadeDownEnd ~ narEnd: bgmVolume
318
+ // narEnd ~ narEnd+fadeOutSeconds: fade from bgmVolume to 0
319
+ let volExpr = '0';
320
+ if (fadeOutSeconds > 0) {
321
+ volExpr = `if(lt(t,${narEnd + fadeOutSeconds}),${bgmVolume}*(1-(t-${narEnd})/${fadeOutSeconds}),${volExpr})`;
322
+ }
323
+ volExpr = `if(lt(t,${narEnd}),${bgmVolume},${volExpr})`;
324
+ if (fadeDownSeconds > 0) {
325
+ volExpr = `if(lt(t,${fadeDownEnd}),1.0-(1.0-${bgmVolume})*(t-${introEnd})/${fadeDownSeconds},${volExpr})`;
326
+ }
327
+ volExpr = `if(lt(t,${introEnd}),1.0,${volExpr})`;
328
+ if (fadeInSeconds > 0) {
329
+ volExpr = `if(lt(t,${fadeInEnd}),t/${fadeInSeconds},${volExpr})`;
330
+ }
331
+ // Build filter_complex
332
+ const filterComplex = `[0:a]adelay=${delayMs}:all=1[nar];` +
333
+ `[1:a]atrim=0:${totalDuration},asetpts=PTS-STARTPTS,volume='${volExpr}':eval=frame[bgm];` +
334
+ `[nar][bgm]amix=inputs=2:duration=longest:normalize=0[out]`;
335
+ const args = [
336
+ '-i', narPath,
337
+ '-stream_loop', '-1',
338
+ '-i', bgmPath,
339
+ '-filter_complex', filterComplex,
340
+ '-map', '[out]',
341
+ '-y', outputPath,
342
+ ];
343
+ try {
344
+ await execFileAsync('ffmpeg', args, { timeout: 300000 });
345
+ }
346
+ catch (err) {
347
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `FFmpeg failed: ${err.stderr || err.message}`, { itemIndex: i });
348
+ }
349
+ const outputBuffer = await (0, promises_1.readFile)(outputPath);
350
+ const mimeType = MIME_TYPES[mixOutputFormat] || 'application/octet-stream';
351
+ const fileName = replaceExtension(narBinaryData.fileName || 'mixed_audio', mixOutputFormat);
352
+ const outputBinary = await this.helpers.prepareBinaryData(outputBuffer, fileName, mimeType);
353
+ returnData.push({
354
+ json: {
355
+ operation,
356
+ narrationDuration: narDuration,
357
+ fadeInSeconds,
358
+ introSeconds,
359
+ fadeDownSeconds,
360
+ bgmVolume,
361
+ fadeOutSeconds,
362
+ totalDuration,
363
+ outputFormat: mixOutputFormat,
364
+ outputSize: outputBuffer.length,
365
+ },
366
+ binary: {
367
+ [outputBinaryPropertyName]: outputBinary,
368
+ },
369
+ pairedItem: { item: i },
370
+ });
371
+ }
372
+ finally {
373
+ await (0, promises_1.unlink)(narPath).catch(() => { });
374
+ await (0, promises_1.unlink)(bgmPath).catch(() => { });
375
+ await (0, promises_1.unlink)(outputPath).catch(() => { });
376
+ }
377
+ continue;
378
+ }
162
379
  // Validate binary data exists
163
380
  const binaryData = this.helpers.assertBinaryData(i, binaryPropertyName);
164
381
  const inputBuffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
@@ -1 +1 @@
1
- {"version":3,"file":"Ffmpeg.node.js","sourceRoot":"","sources":["../../../nodes/Ffmpeg/Ffmpeg.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ffmpeg.node.js","sourceRoot":"","sources":["../../../nodes/Ffmpeg/Ffmpeg.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class UrlToBinary implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UrlToBinary = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class UrlToBinary {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'URL to Binary',
9
+ name: 'urlToBinary',
10
+ icon: 'file:urlToBinary.svg',
11
+ group: ['input'],
12
+ version: 1,
13
+ description: 'Download a file from URL and output as binary data',
14
+ defaults: {
15
+ name: 'URL to Binary',
16
+ },
17
+ inputs: ['main'],
18
+ outputs: ['main'],
19
+ properties: [
20
+ {
21
+ displayName: 'URL',
22
+ name: 'url',
23
+ type: 'string',
24
+ default: '',
25
+ required: true,
26
+ placeholder: 'https://example.com/audio.mp3',
27
+ description: 'URL of the file to download',
28
+ },
29
+ {
30
+ displayName: 'Output Binary Property',
31
+ name: 'outputBinaryPropertyName',
32
+ type: 'string',
33
+ default: 'data',
34
+ description: 'Name of the binary property for the downloaded file',
35
+ },
36
+ {
37
+ displayName: 'Options',
38
+ name: 'options',
39
+ type: 'collection',
40
+ placeholder: 'Add Option',
41
+ default: {},
42
+ options: [
43
+ {
44
+ displayName: 'File Name',
45
+ name: 'fileName',
46
+ type: 'string',
47
+ default: '',
48
+ description: 'Override the file name (derived from URL by default)',
49
+ },
50
+ {
51
+ displayName: 'MIME Type',
52
+ name: 'mimeType',
53
+ type: 'string',
54
+ default: '',
55
+ description: 'Override the MIME type (auto-detected by default)',
56
+ },
57
+ ],
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ async execute() {
63
+ const items = this.getInputData();
64
+ const returnData = [];
65
+ for (let i = 0; i < items.length; i++) {
66
+ const url = this.getNodeParameter('url', i);
67
+ const outputBinaryPropertyName = this.getNodeParameter('outputBinaryPropertyName', i);
68
+ const options = this.getNodeParameter('options', i, {});
69
+ try {
70
+ const buffer = await this.helpers.httpRequest({
71
+ url,
72
+ method: 'GET',
73
+ encoding: 'arraybuffer',
74
+ });
75
+ // Determine file name from option or URL path
76
+ let fileName = options.fileName || '';
77
+ if (!fileName) {
78
+ try {
79
+ const urlObj = new URL(url);
80
+ const pathParts = urlObj.pathname.split('/');
81
+ fileName = decodeURIComponent(pathParts[pathParts.length - 1]) || 'download';
82
+ }
83
+ catch {
84
+ fileName = 'download';
85
+ }
86
+ }
87
+ const binaryData = await this.helpers.prepareBinaryData(buffer, fileName, options.mimeType || undefined);
88
+ returnData.push({
89
+ json: {
90
+ url,
91
+ fileName,
92
+ fileSize: buffer.length,
93
+ mimeType: binaryData.mimeType,
94
+ },
95
+ binary: {
96
+ [outputBinaryPropertyName]: binaryData,
97
+ },
98
+ pairedItem: { item: i },
99
+ });
100
+ }
101
+ catch (err) {
102
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to download from URL: ${err.message}`, { itemIndex: i });
103
+ }
104
+ }
105
+ return [returnData];
106
+ }
107
+ }
108
+ exports.UrlToBinary = UrlToBinary;
109
+ //# sourceMappingURL=UrlToBinary.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UrlToBinary.node.js","sourceRoot":"","sources":["../../../nodes/UrlToBinary/UrlToBinary.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
3
+ <polyline points="7 10 12 15 17 10"/>
4
+ <line x1="12" y1="15" x2="12" y2="3"/>
5
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jnymmt/n8n-nodes-ffmpeg",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "n8n community node for audio conversion using FFmpeg",
5
5
  "keywords": [
6
6
  "n8n-community-node-package"
@@ -27,7 +27,8 @@
27
27
  "n8nNodesApiVersion": 1,
28
28
  "credentials": [],
29
29
  "nodes": [
30
- "dist/nodes/Ffmpeg/Ffmpeg.node.js"
30
+ "dist/nodes/Ffmpeg/Ffmpeg.node.js",
31
+ "dist/nodes/UrlToBinary/UrlToBinary.node.js"
31
32
  ]
32
33
  },
33
34
  "devDependencies": {