nodejs-audio-visualizer 4.2.5 → 4.2.6
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.
- package/dist/index.js +52 -25
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +44 -23
package/dist/index.js
CHANGED
|
@@ -101,6 +101,8 @@ var createVisualizerFrameGenerator = function (config, backgroundWidth, backgrou
|
|
|
101
101
|
};
|
|
102
102
|
};
|
|
103
103
|
var PRE_PROCESS_PROGRESS_SHARE = 60;
|
|
104
|
+
var POST_AUDIO_PROGRESS_SHARE = 10;
|
|
105
|
+
var RENDER_PROGRESS_SHARE = 30;
|
|
104
106
|
var preProcessAudio = function (audioBuffer, sampleRate, fps, framesCount, onPreProcessProgress) { return __awaiter(void 0, void 0, void 0, function () {
|
|
105
107
|
var t, audioDataStep, processingBuffer, skipFramesCount, processSpectrum, detectBeat, spectrums, beatFrameIndices, beatEvents, nextPreProcessMilestone, i, currentFrameData, audioDataParser, spectrum, beat, p;
|
|
106
108
|
var _a, _b;
|
|
@@ -255,7 +257,7 @@ function resolveBackgroundFrameBuffer(params) {
|
|
|
255
257
|
}
|
|
256
258
|
exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
257
259
|
return new Promise(function (resolve) { return __awaiter(void 0, void 0, void 0, function () {
|
|
258
|
-
var audioFilePath, outVideoPath, backgroundVideoPath, backgroundImagePath, useVideoBackground, audioReader, audioBuffer, sampleRate, spectrumBusMargin, FPS, ffmpeg_cfr, ffmpeg_preset, frame_processing_delay, audioDuration, framesCount, outputResolution, preprocessed, autoHighlight, spectrumsForRender, beatIndicesForRender, framesCountForRender, highlightSlice, separateHighlightFiles, passes,
|
|
260
|
+
var audioFilePath, outVideoPath, backgroundVideoPath, backgroundImagePath, useVideoBackground, audioReader, audioBuffer, sampleRate, spectrumBusMargin, FPS, ffmpeg_cfr, ffmpeg_preset, frame_processing_delay, audioDuration, framesCount, outputResolution, maxProgressReported, reportProgress, preprocessed, autoHighlight, spectrumsForRender, beatIndicesForRender, framesCountForRender, highlightSlice, separateHighlightFiles, passes, totalPassFrames, totalRenderMilestones, renderMilestonesCompleted, reportRenderProgress, lastExitCode, outputVideoFiles, _loop_1, _i, passes_1, pass, state_1;
|
|
259
261
|
return __generator(this, function (_a) {
|
|
260
262
|
switch (_a.label) {
|
|
261
263
|
case 0:
|
|
@@ -289,25 +291,43 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
289
291
|
audioDuration = audioBuffer.length / sampleRate;
|
|
290
292
|
framesCount = Math.trunc(audioDuration * FPS);
|
|
291
293
|
outputResolution = config_1.getOutputResolution(config);
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
maxProgressReported = -1;
|
|
295
|
+
reportProgress = function (progress) {
|
|
296
|
+
if (!onProgress) {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
var normalized = +Math.min(100, Math.max(0, progress)).toFixed(2);
|
|
300
|
+
if (normalized <= maxProgressReported) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
maxProgressReported = normalized;
|
|
304
|
+
onProgress(normalized);
|
|
305
|
+
};
|
|
306
|
+
reportProgress(0);
|
|
307
|
+
return [4 /*yield*/, preProcessAudio(audioBuffer, sampleRate, FPS, framesCount, function (progress) {
|
|
308
|
+
reportProgress(progress);
|
|
309
|
+
})];
|
|
296
310
|
case 2:
|
|
297
311
|
preprocessed = _a.sent();
|
|
312
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE);
|
|
298
313
|
autoHighlight = config_1.getAudioAutoHighlight(config);
|
|
299
314
|
spectrumsForRender = preprocessed.spectrums;
|
|
300
315
|
beatIndicesForRender = preprocessed.beatFrameIndices;
|
|
301
316
|
framesCountForRender = framesCount;
|
|
302
317
|
if (!autoHighlight) return [3 /*break*/, 4];
|
|
318
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + 1);
|
|
303
319
|
return [4 /*yield*/, highlight_1.computeHighlightSlice(FPS, framesCount, preprocessed.spectrums, preprocessed.beatEvents, config_1.getAudioAutoHighlightCount(config))];
|
|
304
320
|
case 3:
|
|
305
321
|
highlightSlice = _a.sent();
|
|
306
322
|
spectrumsForRender = highlightSlice.spectrums;
|
|
307
323
|
beatIndicesForRender = highlightSlice.beatFrameIndices;
|
|
308
324
|
framesCountForRender = highlightSlice.highlightFrames;
|
|
309
|
-
|
|
325
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
326
|
+
return [3 /*break*/, 5];
|
|
310
327
|
case 4:
|
|
328
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
329
|
+
_a.label = 5;
|
|
330
|
+
case 5:
|
|
311
331
|
separateHighlightFiles = autoHighlight &&
|
|
312
332
|
highlightSlice &&
|
|
313
333
|
highlightSlice.runs.length > 1;
|
|
@@ -338,8 +358,16 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
338
358
|
: undefined,
|
|
339
359
|
},
|
|
340
360
|
];
|
|
341
|
-
|
|
342
|
-
|
|
361
|
+
totalPassFrames = passes.reduce(function (sum, pass) { return sum + pass.frameCount; }, 0);
|
|
362
|
+
totalRenderMilestones = totalPassFrames + (passes.length * 2);
|
|
363
|
+
renderMilestonesCompleted = 0;
|
|
364
|
+
reportRenderProgress = function (milestoneIncrement) {
|
|
365
|
+
if (milestoneIncrement === void 0) { milestoneIncrement = 1; }
|
|
366
|
+
renderMilestonesCompleted += milestoneIncrement;
|
|
367
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE
|
|
368
|
+
+ POST_AUDIO_PROGRESS_SHARE
|
|
369
|
+
+ (RENDER_PROGRESS_SHARE * renderMilestonesCompleted / Math.max(1, totalRenderMilestones)));
|
|
370
|
+
};
|
|
343
371
|
lastExitCode = 0;
|
|
344
372
|
outputVideoFiles = [];
|
|
345
373
|
_loop_1 = function (pass) {
|
|
@@ -358,14 +386,9 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
358
386
|
})];
|
|
359
387
|
case 1:
|
|
360
388
|
_a = _b.sent(), backgroundWidth = _a.backgroundWidth, backgroundHeight = _a.backgroundHeight, defaultColor = _a.defaultColor, staticBackgroundBuffer = _a.staticBackgroundBuffer, videoFrameReader = _a.videoFrameReader, videoFrameSize = _a.videoFrameSize, encodeVideoFrame = _a.encodeVideoFrame, concatFilePath = _a.concatFilePath;
|
|
389
|
+
reportRenderProgress();
|
|
361
390
|
createVisualizerFrame = createVisualizerFrameGenerator(config, backgroundWidth, backgroundHeight, defaultColor, spectrumBusMargin);
|
|
362
|
-
ffmpegVideoWriter = video_1.spawnFfmpegVideoWriter(__assign(__assign(__assign(
|
|
363
|
-
onStderr: video_1.getProgress(function (currentFrame) {
|
|
364
|
-
var g = progressFrameBase + currentFrame;
|
|
365
|
-
onProgress(+(Math.min(100, PRE_PROCESS_PROGRESS_SHARE
|
|
366
|
-
+ (90 * g) / progressDenominator)).toFixed(2));
|
|
367
|
-
}),
|
|
368
|
-
})), (ffmpeg_cfr && { crf: ffmpeg_cfr })), (ffmpeg_preset && { preset: ffmpeg_preset })));
|
|
391
|
+
ffmpegVideoWriter = video_1.spawnFfmpegVideoWriter(__assign(__assign(__assign({ audioFilename: audioFilePath, videoFileName: pass.outPath, fps: FPS }, (pass.audioSegment && { audioSegment: pass.audioSegment })), (ffmpeg_cfr && { crf: ffmpeg_cfr })), (ffmpeg_preset && { preset: ffmpeg_preset })));
|
|
369
392
|
exitPromise = new Promise(function (res) {
|
|
370
393
|
var settled = false;
|
|
371
394
|
ffmpegVideoWriter.on('exit', function (code) {
|
|
@@ -420,6 +443,7 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
420
443
|
case 7: return [4 /*yield*/, waitForEventLoop_1.waitForEventLoop()];
|
|
421
444
|
case 8:
|
|
422
445
|
_b.sent();
|
|
446
|
+
reportRenderProgress();
|
|
423
447
|
_b.label = 9;
|
|
424
448
|
case 9:
|
|
425
449
|
i++;
|
|
@@ -435,7 +459,7 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
435
459
|
return [4 /*yield*/, exitPromise];
|
|
436
460
|
case 11:
|
|
437
461
|
lastExitCode = _b.sent();
|
|
438
|
-
|
|
462
|
+
reportRenderProgress();
|
|
439
463
|
if (lastExitCode === 0 && !stoppedEarly) {
|
|
440
464
|
outputVideoFiles.push(pass.outPath);
|
|
441
465
|
}
|
|
@@ -447,21 +471,24 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
447
471
|
});
|
|
448
472
|
};
|
|
449
473
|
_i = 0, passes_1 = passes;
|
|
450
|
-
_a.label =
|
|
451
|
-
case
|
|
452
|
-
if (!(_i < passes_1.length)) return [3 /*break*/,
|
|
474
|
+
_a.label = 6;
|
|
475
|
+
case 6:
|
|
476
|
+
if (!(_i < passes_1.length)) return [3 /*break*/, 9];
|
|
453
477
|
pass = passes_1[_i];
|
|
454
478
|
return [5 /*yield**/, _loop_1(pass)];
|
|
455
|
-
case
|
|
479
|
+
case 7:
|
|
456
480
|
state_1 = _a.sent();
|
|
457
481
|
switch (state_1) {
|
|
458
|
-
case "break-passLoop": return [3 /*break*/,
|
|
482
|
+
case "break-passLoop": return [3 /*break*/, 9];
|
|
459
483
|
}
|
|
460
|
-
_a.label =
|
|
461
|
-
case 7:
|
|
462
|
-
_i++;
|
|
463
|
-
return [3 /*break*/, 5];
|
|
484
|
+
_a.label = 8;
|
|
464
485
|
case 8:
|
|
486
|
+
_i++;
|
|
487
|
+
return [3 /*break*/, 6];
|
|
488
|
+
case 9:
|
|
489
|
+
if (lastExitCode === 0 && outputVideoFiles.length === passes.length) {
|
|
490
|
+
reportProgress(100);
|
|
491
|
+
}
|
|
465
492
|
resolve({ exitCode: lastExitCode, outputVideoFiles: outputVideoFiles });
|
|
466
493
|
return [2 /*return*/];
|
|
467
494
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
} from './config';
|
|
35
35
|
import { createAudioBuffer, bufferToUInt8, createSpectrumsProcessor } from './audio';
|
|
36
36
|
import { parseImage, getImageColor, getVideoFrameColor, invertColor, Color, convertToBmp, createSpectrumVisualizerFrameGenerator, createPolarVisualizerFrameGenerator, CreatePolarVisualizerFrameProps, CreateVisualizerFrameProps, CommonVisualizerFrameProps } from './image';
|
|
37
|
-
import { spawnFfmpegVideoWriter,
|
|
37
|
+
import { spawnFfmpegVideoWriter, waitDrain, getVideoInfo, spawnVideoFrameReader, readVideoFrame, detectSceneChanges, buildBeatSyncedSegments, writeConcatFile, spawnConcatVideoFrameReader, cleanupConcatFile } from './video';
|
|
38
38
|
import { createBpmEncoder, createBgrFrameEncoder, EncodedBmp } from './bpmEncoder';
|
|
39
39
|
import { createBeatDetector } from './beats';
|
|
40
40
|
export { BeatInfo, BeatDetectorOptions } from './beats';
|
|
@@ -177,6 +177,8 @@ interface PreProcessedAudio {
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
const PRE_PROCESS_PROGRESS_SHARE = 60;
|
|
180
|
+
const POST_AUDIO_PROGRESS_SHARE = 10;
|
|
181
|
+
const RENDER_PROGRESS_SHARE = 30;
|
|
180
182
|
|
|
181
183
|
const preProcessAudio = async (
|
|
182
184
|
audioBuffer: Buffer,
|
|
@@ -407,16 +409,30 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
407
409
|
const framesCount = Math.trunc(audioDuration * FPS);
|
|
408
410
|
const outputResolution = getOutputResolution(config);
|
|
409
411
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
412
|
+
let maxProgressReported = -1;
|
|
413
|
+
const reportProgress = (progress: number) => {
|
|
414
|
+
if (!onProgress) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const normalized = +Math.min(100, Math.max(0, progress)).toFixed(2);
|
|
418
|
+
if (normalized <= maxProgressReported) {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
maxProgressReported = normalized;
|
|
422
|
+
onProgress(normalized);
|
|
423
|
+
};
|
|
424
|
+
reportProgress(0);
|
|
425
|
+
|
|
413
426
|
const preprocessed = await preProcessAudio(
|
|
414
427
|
audioBuffer,
|
|
415
428
|
sampleRate,
|
|
416
429
|
FPS,
|
|
417
430
|
framesCount,
|
|
418
|
-
|
|
431
|
+
(progress: number) => {
|
|
432
|
+
reportProgress(progress);
|
|
433
|
+
},
|
|
419
434
|
);
|
|
435
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE);
|
|
420
436
|
|
|
421
437
|
const autoHighlight = getAudioAutoHighlight(config);
|
|
422
438
|
let spectrumsForRender = preprocessed.spectrums;
|
|
@@ -430,6 +446,7 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
430
446
|
let highlightSlice: HighlightSliceResult | undefined;
|
|
431
447
|
|
|
432
448
|
if (autoHighlight) {
|
|
449
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + 1);
|
|
433
450
|
highlightSlice = await computeHighlightSlice(
|
|
434
451
|
FPS,
|
|
435
452
|
framesCount,
|
|
@@ -440,6 +457,9 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
440
457
|
spectrumsForRender = highlightSlice.spectrums;
|
|
441
458
|
beatIndicesForRender = highlightSlice.beatFrameIndices;
|
|
442
459
|
framesCountForRender = highlightSlice.highlightFrames;
|
|
460
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
461
|
+
} else {
|
|
462
|
+
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
443
463
|
}
|
|
444
464
|
|
|
445
465
|
const separateHighlightFiles =
|
|
@@ -485,9 +505,18 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
485
505
|
},
|
|
486
506
|
];
|
|
487
507
|
|
|
488
|
-
const
|
|
489
|
-
passes.reduce((
|
|
490
|
-
|
|
508
|
+
const totalPassFrames =
|
|
509
|
+
passes.reduce((sum, pass) => sum + pass.frameCount, 0);
|
|
510
|
+
const totalRenderMilestones = totalPassFrames + (passes.length * 2);
|
|
511
|
+
let renderMilestonesCompleted = 0;
|
|
512
|
+
const reportRenderProgress = (milestoneIncrement = 1) => {
|
|
513
|
+
renderMilestonesCompleted += milestoneIncrement;
|
|
514
|
+
reportProgress(
|
|
515
|
+
PRE_PROCESS_PROGRESS_SHARE
|
|
516
|
+
+ POST_AUDIO_PROGRESS_SHARE
|
|
517
|
+
+ (RENDER_PROGRESS_SHARE * renderMilestonesCompleted / Math.max(1, totalRenderMilestones)),
|
|
518
|
+
);
|
|
519
|
+
};
|
|
491
520
|
let lastExitCode = 0;
|
|
492
521
|
const outputVideoFiles: string[] = [];
|
|
493
522
|
|
|
@@ -511,6 +540,7 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
511
540
|
fps: FPS,
|
|
512
541
|
autoEditVideo: getAutoEditVideo(config),
|
|
513
542
|
});
|
|
543
|
+
reportRenderProgress();
|
|
514
544
|
|
|
515
545
|
const createVisualizerFrame = createVisualizerFrameGenerator(
|
|
516
546
|
config, backgroundWidth, backgroundHeight, defaultColor, spectrumBusMargin
|
|
@@ -521,20 +551,6 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
521
551
|
videoFileName: pass.outPath,
|
|
522
552
|
fps: FPS,
|
|
523
553
|
...(pass.audioSegment && { audioSegment: pass.audioSegment }),
|
|
524
|
-
...(!!onProgress && {
|
|
525
|
-
onStderr: getProgress((currentFrame: number) => {
|
|
526
|
-
const g = progressFrameBase + currentFrame;
|
|
527
|
-
onProgress(
|
|
528
|
-
+(
|
|
529
|
-
Math.min(
|
|
530
|
-
100,
|
|
531
|
-
PRE_PROCESS_PROGRESS_SHARE
|
|
532
|
-
+ (90 * g) / progressDenominator,
|
|
533
|
-
)
|
|
534
|
-
).toFixed(2),
|
|
535
|
-
);
|
|
536
|
-
}),
|
|
537
|
-
}),
|
|
538
554
|
...(ffmpeg_cfr && { crf: ffmpeg_cfr }),
|
|
539
555
|
...(ffmpeg_preset && { preset: ffmpeg_preset }),
|
|
540
556
|
});
|
|
@@ -584,6 +600,7 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
584
600
|
await sleep(frame_processing_delay);
|
|
585
601
|
}
|
|
586
602
|
await waitForEventLoop();
|
|
603
|
+
reportRenderProgress();
|
|
587
604
|
}
|
|
588
605
|
|
|
589
606
|
if (videoFrameReader) {
|
|
@@ -595,7 +612,7 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
595
612
|
ffmpegVideoWriter.stdin.end();
|
|
596
613
|
|
|
597
614
|
lastExitCode = await exitPromise;
|
|
598
|
-
|
|
615
|
+
reportRenderProgress();
|
|
599
616
|
|
|
600
617
|
if (lastExitCode === 0 && !stoppedEarly) {
|
|
601
618
|
outputVideoFiles.push(pass.outPath);
|
|
@@ -606,5 +623,9 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
606
623
|
}
|
|
607
624
|
}
|
|
608
625
|
|
|
626
|
+
if (lastExitCode === 0 && outputVideoFiles.length === passes.length) {
|
|
627
|
+
reportProgress(100);
|
|
628
|
+
}
|
|
629
|
+
|
|
609
630
|
resolve({ exitCode: lastExitCode, outputVideoFiles });
|
|
610
631
|
});
|