nodejs-audio-visualizer 5.2.0 → 5.4.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.
- package/README.md +82 -81
- package/dist/config.d.ts +1 -0
- package/dist/config.js +11 -0
- package/dist/config.js.map +1 -1
- package/dist/highlight.d.ts +60 -3
- package/dist/highlight.js +338 -66
- package/dist/highlight.js.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.js +150 -80
- package/dist/index.js.map +1 -1
- package/dist/video.d.ts +19 -0
- package/dist/video.js +62 -3
- package/dist/video.js.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +11 -0
- package/src/highlight.ts +365 -39
- package/src/index.ts +882 -811
- package/src/tests/config.test.ts +19 -0
- package/src/tests/highlight.test.ts +222 -3
- package/src/tests/video.test.ts +80 -1
- package/src/video.ts +81 -0
package/dist/index.js
CHANGED
|
@@ -46,6 +46,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
50
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
51
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
52
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
53
|
+
r[k] = a[j];
|
|
54
|
+
return r;
|
|
55
|
+
};
|
|
49
56
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
57
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
58
|
};
|
|
@@ -69,6 +76,7 @@ var waitForEventLoop_1 = require("./waitForEventLoop");
|
|
|
69
76
|
var highlight_2 = require("./highlight");
|
|
70
77
|
exports.computeHighlightSlice = highlight_2.computeHighlightSlice;
|
|
71
78
|
exports.HIGHLIGHT_DURATION_SEC = highlight_2.HIGHLIGHT_DURATION_SEC;
|
|
79
|
+
exports.MAX_BEAT_SNAP_SEC = highlight_2.MAX_BEAT_SNAP_SEC;
|
|
72
80
|
exports.PCM_FORMAT = {
|
|
73
81
|
bit: 8,
|
|
74
82
|
sign: 'u',
|
|
@@ -170,43 +178,89 @@ var preProcessAudio = function (audioBuffer, sampleRate, fps, framesCount, onPre
|
|
|
170
178
|
});
|
|
171
179
|
}); };
|
|
172
180
|
function prepareBackgroundForRender(params) {
|
|
173
|
-
var _a, _b, _c, _d, _e, _f;
|
|
181
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
174
182
|
return __awaiter(this, void 0, void 0, function () {
|
|
175
|
-
var useVideoBackground, backgroundVideoPaths, backgroundImagePath, beatFrameIndices, beatIntensities, framesCount, outputResolution, fps, autoEditVideo, readVideoFrameTimeout, tempo,
|
|
176
|
-
return __generator(this, function (
|
|
177
|
-
switch (
|
|
183
|
+
var useVideoBackground, backgroundVideoPaths, backgroundImagePath, beatFrameIndices, beatIntensities, framesCount, outputResolution, fps, autoEditVideo, readVideoFrameTimeout, tempo, _h, startVideoIndex, hookVideoPath, hookFrameCount, videoInfos, primaryVideoInfo, backgroundWidth_1, backgroundHeight_1, videoFrameSize, encodeVideoFrame, hookVideoInfo, _j, hookAvailableFrames, _k, hookFrames_1, mainFramesCount, mainBeatFrameIndices_1, mainBeatIntensities_1, mainTempo, segments, sceneChanges, _l, videoSources, concatFilePath, cutFrameIndices, videoFrameReader, firstFrame, defaultColor_1, staticBackgroundBuffer_1, backgroundImageBmpBuffer, backgroundImage, backgroundWidth, backgroundHeight, defaultColor, bpmEncoder, staticBackgroundBuffer;
|
|
184
|
+
return __generator(this, function (_m) {
|
|
185
|
+
switch (_m.label) {
|
|
178
186
|
case 0:
|
|
179
|
-
useVideoBackground = params.useVideoBackground, backgroundVideoPaths = params.backgroundVideoPaths, backgroundImagePath = params.backgroundImagePath, beatFrameIndices = params.beatFrameIndices, beatIntensities = params.beatIntensities, framesCount = params.framesCount, outputResolution = params.outputResolution, fps = params.fps, autoEditVideo = params.autoEditVideo, readVideoFrameTimeout = params.readVideoFrameTimeout, tempo = params.tempo,
|
|
180
|
-
if (!(useVideoBackground && backgroundVideoPaths && backgroundVideoPaths.length > 0)) return [3 /*break*/,
|
|
187
|
+
useVideoBackground = params.useVideoBackground, backgroundVideoPaths = params.backgroundVideoPaths, backgroundImagePath = params.backgroundImagePath, beatFrameIndices = params.beatFrameIndices, beatIntensities = params.beatIntensities, framesCount = params.framesCount, outputResolution = params.outputResolution, fps = params.fps, autoEditVideo = params.autoEditVideo, readVideoFrameTimeout = params.readVideoFrameTimeout, tempo = params.tempo, _h = params.startVideoIndex, startVideoIndex = _h === void 0 ? 0 : _h, hookVideoPath = params.hookVideoPath, hookFrameCount = params.hookFrameCount;
|
|
188
|
+
if (!(useVideoBackground && backgroundVideoPaths && backgroundVideoPaths.length > 0)) return [3 /*break*/, 15];
|
|
181
189
|
return [4 /*yield*/, Promise.all(backgroundVideoPaths.map(function (videoPath) { return video_1.getVideoInfo(videoPath); }))];
|
|
182
190
|
case 1:
|
|
183
|
-
videoInfos =
|
|
191
|
+
videoInfos = _m.sent();
|
|
184
192
|
primaryVideoInfo = videoInfos[0];
|
|
185
193
|
backgroundWidth_1 = (_b = (_a = outputResolution) === null || _a === void 0 ? void 0 : _a.width, (_b !== null && _b !== void 0 ? _b : primaryVideoInfo.width));
|
|
186
194
|
backgroundHeight_1 = (_d = (_c = outputResolution) === null || _c === void 0 ? void 0 : _c.height, (_d !== null && _d !== void 0 ? _d : primaryVideoInfo.height));
|
|
187
195
|
videoFrameSize = backgroundWidth_1 * backgroundHeight_1 * 3;
|
|
188
196
|
encodeVideoFrame = bpmEncoder_1.createBgrFrameEncoder({ width: backgroundWidth_1, height: backgroundHeight_1 });
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
segments = autoEditVideo
|
|
192
|
-
? video_1.buildShuffledVideoSegments(beatFrameIndices, framesCount, backgroundVideoPaths.length, fps, __assign({ beatIntensities: beatIntensities }, (tempo ? { tempo: tempo } : {})))
|
|
193
|
-
: video_1.buildSequentialVideoSegments(framesCount, videoInfos.map(function (info) { return info.duration; }), fps, startVideoIndex % backgroundVideoPaths.length);
|
|
194
|
-
return [3 /*break*/, 6];
|
|
197
|
+
if (!hookVideoPath) return [3 /*break*/, 3];
|
|
198
|
+
return [4 /*yield*/, video_1.getVideoInfo(hookVideoPath)];
|
|
195
199
|
case 2:
|
|
196
|
-
|
|
197
|
-
return [
|
|
200
|
+
_j = _m.sent();
|
|
201
|
+
return [3 /*break*/, 4];
|
|
198
202
|
case 3:
|
|
199
|
-
|
|
200
|
-
|
|
203
|
+
_j = undefined;
|
|
204
|
+
_m.label = 4;
|
|
201
205
|
case 4:
|
|
202
|
-
|
|
203
|
-
|
|
206
|
+
hookVideoInfo = _j;
|
|
207
|
+
if (!hookVideoPath) return [3 /*break*/, 6];
|
|
208
|
+
return [4 /*yield*/, video_1.getVideoFrameCount(hookVideoPath, fps)];
|
|
204
209
|
case 5:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
_j.label = 6;
|
|
210
|
+
_k = _m.sent();
|
|
211
|
+
return [3 /*break*/, 7];
|
|
208
212
|
case 6:
|
|
213
|
+
_k = 0;
|
|
214
|
+
_m.label = 7;
|
|
215
|
+
case 7:
|
|
216
|
+
hookAvailableFrames = _k;
|
|
217
|
+
hookFrames_1 = !hookVideoInfo
|
|
218
|
+
? 0
|
|
219
|
+
: hookFrameCount !== undefined
|
|
220
|
+
? Math.min(hookFrameCount, hookAvailableFrames, framesCount)
|
|
221
|
+
: video_1.computeHookFrameCount(hookAvailableFrames / fps, fps, framesCount);
|
|
222
|
+
mainFramesCount = framesCount - hookFrames_1;
|
|
223
|
+
mainBeatFrameIndices_1 = [];
|
|
224
|
+
mainBeatIntensities_1 = beatIntensities ? [] : undefined;
|
|
225
|
+
beatFrameIndices.forEach(function (frameIndex, i) {
|
|
226
|
+
var _a;
|
|
227
|
+
if (frameIndex >= hookFrames_1) {
|
|
228
|
+
mainBeatFrameIndices_1.push(frameIndex - hookFrames_1);
|
|
229
|
+
(_a = mainBeatIntensities_1) === null || _a === void 0 ? void 0 : _a.push(beatIntensities[i]);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
mainTempo = tempo ? beats_1.shiftTempoPhase(tempo, hookFrames_1) : tempo;
|
|
233
|
+
segments = void 0;
|
|
234
|
+
if (!(mainFramesCount <= 0)) return [3 /*break*/, 8];
|
|
235
|
+
segments = [];
|
|
236
|
+
return [3 /*break*/, 13];
|
|
237
|
+
case 8:
|
|
238
|
+
if (!(backgroundVideoPaths.length > 1)) return [3 /*break*/, 9];
|
|
239
|
+
segments = autoEditVideo
|
|
240
|
+
? video_1.buildShuffledVideoSegments(mainBeatFrameIndices_1, mainFramesCount, backgroundVideoPaths.length, fps, __assign({ beatIntensities: mainBeatIntensities_1 }, (mainTempo ? { tempo: mainTempo } : {})))
|
|
241
|
+
: video_1.buildSequentialVideoSegments(mainFramesCount, videoInfos.map(function (info) { return info.duration; }), fps, startVideoIndex % backgroundVideoPaths.length);
|
|
242
|
+
return [3 /*break*/, 13];
|
|
243
|
+
case 9:
|
|
244
|
+
if (!autoEditVideo) return [3 /*break*/, 11];
|
|
245
|
+
return [4 /*yield*/, video_1.detectSceneChanges(backgroundVideoPaths[0])];
|
|
246
|
+
case 10:
|
|
247
|
+
_l = _m.sent();
|
|
248
|
+
return [3 /*break*/, 12];
|
|
249
|
+
case 11:
|
|
250
|
+
_l = [];
|
|
251
|
+
_m.label = 12;
|
|
252
|
+
case 12:
|
|
253
|
+
sceneChanges = _l;
|
|
254
|
+
segments = video_1.buildBeatSyncedSegments(mainBeatFrameIndices_1, mainFramesCount, sceneChanges, primaryVideoInfo.duration, fps, __assign({ beatIntensities: mainBeatIntensities_1 }, (autoEditVideo && mainTempo ? { tempo: mainTempo } : {})));
|
|
255
|
+
_m.label = 13;
|
|
256
|
+
case 13:
|
|
209
257
|
videoSources = videoInfos.map(function (info, i) { return ({ path: backgroundVideoPaths[i], duration: info.duration }); });
|
|
258
|
+
if (hookVideoPath && hookVideoInfo && hookFrames_1 > 0) {
|
|
259
|
+
segments = __spreadArrays([
|
|
260
|
+
{ outputStartFrame: 0, videoSeekSeconds: 0, frameCount: hookFrames_1, videoIndex: videoSources.length }
|
|
261
|
+
], segments.map(function (segment) { return (__assign(__assign({}, segment), { outputStartFrame: segment.outputStartFrame + hookFrames_1 })); }));
|
|
262
|
+
videoSources.push({ path: hookVideoPath, duration: hookAvailableFrames / fps });
|
|
263
|
+
}
|
|
210
264
|
concatFilePath = video_1.writeConcatFile(segments, videoSources, fps);
|
|
211
265
|
cutFrameIndices = autoEditVideo ? video_1.getCutFrameIndices(segments) : [];
|
|
212
266
|
videoFrameReader = video_1.spawnConcatVideoFrameReader(__assign({ concatFilePath: concatFilePath,
|
|
@@ -217,15 +271,14 @@ function prepareBackgroundForRender(params) {
|
|
|
217
271
|
sourceHeight: primaryVideoInfo.height,
|
|
218
272
|
})));
|
|
219
273
|
return [4 /*yield*/, video_1.readVideoFrame(videoFrameReader.stdout, videoFrameSize, readVideoFrameTimeout)];
|
|
220
|
-
case
|
|
221
|
-
firstFrame =
|
|
274
|
+
case 14:
|
|
275
|
+
firstFrame = _m.sent();
|
|
222
276
|
if (!firstFrame) {
|
|
223
|
-
throw new Error("Could not read frames from video: " +
|
|
277
|
+
throw new Error("Could not read frames from video: " + videoSources.map(function (source) { return source.path; }).join(', '));
|
|
224
278
|
}
|
|
225
279
|
defaultColor_1 = image_1.getVideoFrameColor(firstFrame, backgroundWidth_1, backgroundHeight_1);
|
|
226
280
|
staticBackgroundBuffer_1 = encodeVideoFrame(firstFrame);
|
|
227
|
-
return [2 /*return*/, {
|
|
228
|
-
backgroundWidth: backgroundWidth_1,
|
|
281
|
+
return [2 /*return*/, __assign({ backgroundWidth: backgroundWidth_1,
|
|
229
282
|
backgroundHeight: backgroundHeight_1,
|
|
230
283
|
defaultColor: defaultColor_1,
|
|
231
284
|
staticBackgroundBuffer: staticBackgroundBuffer_1,
|
|
@@ -233,15 +286,16 @@ function prepareBackgroundForRender(params) {
|
|
|
233
286
|
videoFrameSize: videoFrameSize,
|
|
234
287
|
encodeVideoFrame: encodeVideoFrame,
|
|
235
288
|
concatFilePath: concatFilePath,
|
|
236
|
-
cutFrameIndices: cutFrameIndices,
|
|
237
|
-
|
|
238
|
-
|
|
289
|
+
cutFrameIndices: cutFrameIndices }, (hookVideoPath && ((_e = hookVideoInfo) === null || _e === void 0 ? void 0 : _e.hasAudio) && hookFrames_1 > 0 && {
|
|
290
|
+
hookAudio: { path: hookVideoPath, frameCount: hookFrames_1 },
|
|
291
|
+
}))];
|
|
292
|
+
case 15:
|
|
239
293
|
if (!backgroundImagePath) {
|
|
240
294
|
throw new Error('Background image path is required when not using video background.');
|
|
241
295
|
}
|
|
242
|
-
return [4 /*yield*/, image_1.convertToBmp(backgroundImagePath, (
|
|
243
|
-
case
|
|
244
|
-
backgroundImageBmpBuffer =
|
|
296
|
+
return [4 /*yield*/, image_1.convertToBmp(backgroundImagePath, (_f = outputResolution) === null || _f === void 0 ? void 0 : _f.width, (_g = outputResolution) === null || _g === void 0 ? void 0 : _g.height)];
|
|
297
|
+
case 16:
|
|
298
|
+
backgroundImageBmpBuffer = _m.sent();
|
|
245
299
|
backgroundImage = image_1.parseImage(backgroundImageBmpBuffer);
|
|
246
300
|
backgroundWidth = backgroundImage.width;
|
|
247
301
|
backgroundHeight = backgroundImage.height;
|
|
@@ -285,10 +339,10 @@ function resolveBackgroundFrameBuffer(params) {
|
|
|
285
339
|
}
|
|
286
340
|
exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
287
341
|
return new Promise(function (resolve) { return __awaiter(void 0, void 0, void 0, function () {
|
|
288
|
-
var audioFilePath, outVideoPath, subtitleSpec, subtitleFilePath, subtitleFileIsTemporary, subtitleAlignmentAss, absPath, ext, raw, backgroundVideoPaths, backgroundImagePath, useVideoBackground, audioReader, audioBuffer, sampleRate, spectrumBusMargin, FPS, ffmpeg_cfr, ffmpeg_preset, frame_processing_delay, videoTimeouts, audioDuration, framesCount, outputResolution, maxProgressReported, reportProgress, preprocessed, autoHighlight,
|
|
289
|
-
var
|
|
290
|
-
return __generator(this, function (
|
|
291
|
-
switch (
|
|
342
|
+
var audioFilePath, outVideoPath, subtitleSpec, subtitleFilePath, subtitleFileIsTemporary, subtitleAlignmentAss, absPath, ext, raw, backgroundVideoPaths, hookVideoPath, backgroundImagePath, useVideoBackground, audioReader, audioBuffer, sampleRate, spectrumBusMargin, FPS, ffmpeg_cfr, ffmpeg_preset, frame_processing_delay, videoTimeouts, audioDuration, framesCount, outputResolution, maxProgressReported, reportProgress, preprocessed, autoHighlight, autoEditVideo, trackTempo, sampleRateNum, maxSamples, tempoBuffer, spectrumsForRender, beatIndicesForRender, beatIntensitiesForRender, framesCountForRender, highlightSlice, hookLeadInFrames, _a, cameraShakeEnabled, shakeDelayFrames, separateHighlightFiles, passes, totalPassFrames, totalRenderMilestones, renderMilestonesCompleted, reportRenderProgress, lastExitCode, exitReason, outputVideoFiles, _loop_1, passIndex, state_1;
|
|
343
|
+
var _b, _c, _d;
|
|
344
|
+
return __generator(this, function (_e) {
|
|
345
|
+
switch (_e.label) {
|
|
292
346
|
case 0:
|
|
293
347
|
if (config.outVideo.spectrum && config.outVideo.polar) {
|
|
294
348
|
throw new Error('Cannot use both "spectrum" and "polar" options. Please specify only one visualizer type.');
|
|
@@ -324,11 +378,12 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
324
378
|
}
|
|
325
379
|
}
|
|
326
380
|
backgroundVideoPaths = config_1.getBackgroundVideoPaths(config);
|
|
381
|
+
hookVideoPath = config_1.getHookVideoPath(config);
|
|
327
382
|
backgroundImagePath = config_1.getBackgroundImagePath(config);
|
|
328
383
|
useVideoBackground = !!backgroundVideoPaths && backgroundVideoPaths.length > 0;
|
|
329
384
|
return [4 /*yield*/, audio_1.createAudioBuffer(audioFilePath, FFMPEG_FORMAT)];
|
|
330
385
|
case 1:
|
|
331
|
-
audioReader =
|
|
386
|
+
audioReader = _e.sent();
|
|
332
387
|
audioBuffer = audioReader.audioBuffer;
|
|
333
388
|
sampleRate = audioReader.sampleRate;
|
|
334
389
|
if (!sampleRate) {
|
|
@@ -360,40 +415,50 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
360
415
|
reportProgress(progress);
|
|
361
416
|
})];
|
|
362
417
|
case 2:
|
|
363
|
-
preprocessed =
|
|
418
|
+
preprocessed = _e.sent();
|
|
364
419
|
reportProgress(PRE_PROCESS_PROGRESS_SHARE);
|
|
365
420
|
autoHighlight = config_1.getAudioAutoHighlight(config);
|
|
421
|
+
autoEditVideo = config_1.getAutoEditVideo(config);
|
|
422
|
+
trackTempo = null;
|
|
423
|
+
if (autoEditVideo || autoHighlight) {
|
|
424
|
+
sampleRateNum = Number(sampleRate);
|
|
425
|
+
maxSamples = Math.floor(sampleRateNum * beats_1.MAX_TEMPO_ANALYSIS_SECONDS);
|
|
426
|
+
tempoBuffer = audioBuffer.length > maxSamples
|
|
427
|
+
? audioBuffer.slice(0, maxSamples)
|
|
428
|
+
: audioBuffer;
|
|
429
|
+
trackTempo = beats_1.estimateTempo(audio_1.pcmU8ToFloatSamples(tempoBuffer), sampleRateNum, FPS);
|
|
430
|
+
}
|
|
366
431
|
spectrumsForRender = preprocessed.spectrums;
|
|
367
432
|
beatIndicesForRender = preprocessed.beatFrameIndices;
|
|
368
433
|
beatIntensitiesForRender = preprocessed.beatEvents.map(function (event) { return event.intensity; });
|
|
369
434
|
framesCountForRender = framesCount;
|
|
370
|
-
if (!autoHighlight) return [3 /*break*/,
|
|
435
|
+
if (!autoHighlight) return [3 /*break*/, 7];
|
|
371
436
|
reportProgress(PRE_PROCESS_PROGRESS_SHARE + 1);
|
|
372
|
-
return [
|
|
437
|
+
if (!hookVideoPath) return [3 /*break*/, 4];
|
|
438
|
+
return [4 /*yield*/, video_1.getVideoFrameCount(hookVideoPath, FPS)];
|
|
373
439
|
case 3:
|
|
374
|
-
|
|
440
|
+
_a = _e.sent();
|
|
441
|
+
return [3 /*break*/, 5];
|
|
442
|
+
case 4:
|
|
443
|
+
_a = undefined;
|
|
444
|
+
_e.label = 5;
|
|
445
|
+
case 5:
|
|
446
|
+
hookLeadInFrames = _a;
|
|
447
|
+
return [4 /*yield*/, highlight_1.computeHighlightSlice(FPS, framesCount, preprocessed.spectrums, preprocessed.beatEvents, config_1.getAudioAutoHighlightCount(config), trackTempo, hookLeadInFrames)];
|
|
448
|
+
case 6:
|
|
449
|
+
highlightSlice = _e.sent();
|
|
375
450
|
spectrumsForRender = highlightSlice.spectrums;
|
|
376
451
|
beatIndicesForRender = highlightSlice.beatFrameIndices;
|
|
377
452
|
beatIntensitiesForRender = highlightSlice.beatIntensities;
|
|
378
453
|
framesCountForRender = highlightSlice.highlightFrames;
|
|
379
454
|
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
380
|
-
return [3 /*break*/,
|
|
381
|
-
case
|
|
455
|
+
return [3 /*break*/, 8];
|
|
456
|
+
case 7:
|
|
382
457
|
reportProgress(PRE_PROCESS_PROGRESS_SHARE + POST_AUDIO_PROGRESS_SHARE);
|
|
383
|
-
|
|
384
|
-
case
|
|
385
|
-
autoEditVideo = config_1.getAutoEditVideo(config);
|
|
458
|
+
_e.label = 8;
|
|
459
|
+
case 8:
|
|
386
460
|
cameraShakeEnabled = config_1.getCameraShakeEnabled(config);
|
|
387
461
|
shakeDelayFrames = Math.round(FPS * image_1.CAMERA_SHAKE_DELAY_SECONDS);
|
|
388
|
-
trackTempo = null;
|
|
389
|
-
if (autoEditVideo) {
|
|
390
|
-
sampleRateNum = Number(sampleRate);
|
|
391
|
-
maxSamples = Math.floor(sampleRateNum * beats_1.MAX_TEMPO_ANALYSIS_SECONDS);
|
|
392
|
-
tempoBuffer = audioBuffer.length > maxSamples
|
|
393
|
-
? audioBuffer.slice(0, maxSamples)
|
|
394
|
-
: audioBuffer;
|
|
395
|
-
trackTempo = beats_1.estimateTempo(audio_1.pcmU8ToFloatSamples(tempoBuffer), sampleRateNum, FPS);
|
|
396
|
-
}
|
|
397
462
|
separateHighlightFiles = autoHighlight &&
|
|
398
463
|
highlightSlice &&
|
|
399
464
|
highlightSlice.runs.length > 1;
|
|
@@ -411,6 +476,7 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
411
476
|
frameCount: run.highlightFrames,
|
|
412
477
|
startFrame: run.startFrame,
|
|
413
478
|
audioSegment: run.audioSegment,
|
|
479
|
+
leadInFrames: run.leadInFrames,
|
|
414
480
|
};
|
|
415
481
|
})
|
|
416
482
|
: [
|
|
@@ -420,12 +486,13 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
420
486
|
beatIndices: beatIndicesForRender,
|
|
421
487
|
beatIntensities: beatIntensitiesForRender,
|
|
422
488
|
frameCount: framesCountForRender,
|
|
423
|
-
startFrame: (
|
|
489
|
+
startFrame: (_c = (_b = highlightSlice) === null || _b === void 0 ? void 0 : _b.startFrame, (_c !== null && _c !== void 0 ? _c : 0)),
|
|
424
490
|
audioSegment: autoHighlight &&
|
|
425
491
|
highlightSlice &&
|
|
426
492
|
highlightSlice.audioSegments.length > 0
|
|
427
493
|
? highlightSlice.audioSegments[0]
|
|
428
494
|
: undefined,
|
|
495
|
+
leadInFrames: ((_d = highlightSlice) === null || _d === void 0 ? void 0 : _d.runs.length) === 1 ? highlightSlice.runs[0].leadInFrames : undefined,
|
|
429
496
|
},
|
|
430
497
|
];
|
|
431
498
|
totalPassFrames = passes.reduce(function (sum, pass) { return sum + pass.frameCount; }, 0);
|
|
@@ -440,28 +507,29 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
440
507
|
};
|
|
441
508
|
lastExitCode = 0;
|
|
442
509
|
outputVideoFiles = [];
|
|
443
|
-
|
|
444
|
-
case
|
|
445
|
-
|
|
510
|
+
_e.label = 9;
|
|
511
|
+
case 9:
|
|
512
|
+
_e.trys.push([9, , 14, 15]);
|
|
446
513
|
_loop_1 = function (passIndex) {
|
|
447
|
-
var pass, tempo, shakeAmplitudes, _a, backgroundWidth, backgroundHeight, defaultColor, staticBackgroundBuffer, videoFrameReader, videoFrameSize, encodeVideoFrame, concatFilePath, cutFrameIndices, beatShakeFrames, shakeFrames, createVisualizerFrame, ffmpegVideoWriter, exitPromise, stoppedEarly, i, spectrum, _b, backgroundImageBuffer, frameReadFailed, commonVisualizerFrameProps, frameImage, shakeOffset, isFrameProcessed, isDrained, _c, exitCode, ffmpegExitReason;
|
|
514
|
+
var pass, windowTempo, tempo, shakeAmplitudes, _a, backgroundWidth, backgroundHeight, defaultColor, staticBackgroundBuffer, videoFrameReader, videoFrameSize, encodeVideoFrame, concatFilePath, cutFrameIndices, hookAudio, beatShakeFrames, shakeFrames, createVisualizerFrame, ffmpegVideoWriter, exitPromise, stoppedEarly, i, spectrum, _b, backgroundImageBuffer, frameReadFailed, commonVisualizerFrameProps, frameImage, shakeOffset, isFrameProcessed, isDrained, _c, exitCode, ffmpegExitReason;
|
|
448
515
|
return __generator(this, function (_d) {
|
|
449
516
|
switch (_d.label) {
|
|
450
517
|
case 0:
|
|
451
518
|
pass = passes[passIndex];
|
|
452
|
-
|
|
519
|
+
windowTempo = trackTempo
|
|
453
520
|
? beats_1.tempoForWindow(trackTempo, pass.startFrame, FPS, pass.frameCount, pass.beatIndices)
|
|
454
521
|
: null;
|
|
522
|
+
tempo = autoEditVideo ? windowTempo : null;
|
|
455
523
|
shakeAmplitudes = tempo
|
|
456
524
|
? image_1.buildCutShakeAmplitudes(tempo.periodFrames)
|
|
457
525
|
: undefined;
|
|
458
|
-
return [4 /*yield*/, prepareBackgroundForRender(__assign(__assign({ useVideoBackground: useVideoBackground,
|
|
526
|
+
return [4 /*yield*/, prepareBackgroundForRender(__assign(__assign(__assign({ useVideoBackground: useVideoBackground,
|
|
459
527
|
backgroundVideoPaths: backgroundVideoPaths,
|
|
460
528
|
backgroundImagePath: backgroundImagePath, beatFrameIndices: pass.beatIndices, beatIntensities: pass.beatIntensities, framesCount: pass.frameCount, outputResolution: outputResolution, fps: FPS, autoEditVideo: autoEditVideo, readVideoFrameTimeout: videoTimeouts.readVideoFrame }, (tempo ? { tempo: tempo } : {})), {
|
|
461
529
|
// Each separate highlight output opens with a different video from the array.
|
|
462
|
-
startVideoIndex: passIndex }))];
|
|
530
|
+
startVideoIndex: passIndex, hookVideoPath: hookVideoPath }), (pass.leadInFrames !== undefined ? { hookFrameCount: pass.leadInFrames } : {})))];
|
|
463
531
|
case 1:
|
|
464
|
-
_a = _d.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, cutFrameIndices = _a.cutFrameIndices;
|
|
532
|
+
_a = _d.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, cutFrameIndices = _a.cutFrameIndices, hookAudio = _a.hookAudio;
|
|
465
533
|
reportRenderProgress();
|
|
466
534
|
beatShakeFrames = function () { return (tempo
|
|
467
535
|
? beats_1.beatGridFrameIndices(tempo, pass.frameCount, image_1.CAMERA_SHAKE_EVERY_BEATS)
|
|
@@ -470,10 +538,12 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
470
538
|
? (cutFrameIndices.length > 0 ? cutFrameIndices : beatShakeFrames())
|
|
471
539
|
: []);
|
|
472
540
|
createVisualizerFrame = createVisualizerFrameGenerator(config, backgroundWidth, backgroundHeight, defaultColor, spectrumBusMargin);
|
|
473
|
-
ffmpegVideoWriter = video_1.spawnFfmpegVideoWriter(__assign(__assign(__assign(__assign(__assign({ audioFilename: audioFilePath, videoFileName: pass.outPath }, (subtitleFilePath && {
|
|
541
|
+
ffmpegVideoWriter = video_1.spawnFfmpegVideoWriter(__assign(__assign(__assign(__assign(__assign(__assign({ audioFilename: audioFilePath, videoFileName: pass.outPath }, (subtitleFilePath && {
|
|
474
542
|
subtitleFilename: subtitleFilePath,
|
|
475
543
|
subtitleAlignmentAss: subtitleAlignmentAss,
|
|
476
|
-
})), { fps: FPS }), (pass.audioSegment && { audioSegment: pass.audioSegment })), (
|
|
544
|
+
})), { fps: FPS }), (pass.audioSegment && { audioSegment: pass.audioSegment })), (hookAudio && {
|
|
545
|
+
overlayAudio: { filename: hookAudio.path, durationSeconds: hookAudio.frameCount / FPS },
|
|
546
|
+
})), (ffmpeg_cfr && { crf: ffmpeg_cfr })), (ffmpeg_preset && { preset: ffmpeg_preset })));
|
|
477
547
|
exitPromise = video_1.waitForProcessExit(ffmpegVideoWriter, videoTimeouts.waitForProcessExit);
|
|
478
548
|
stoppedEarly = false;
|
|
479
549
|
i = 0;
|
|
@@ -563,20 +633,20 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
563
633
|
});
|
|
564
634
|
};
|
|
565
635
|
passIndex = 0;
|
|
566
|
-
|
|
567
|
-
case
|
|
568
|
-
if (!(passIndex < passes.length)) return [3 /*break*/,
|
|
636
|
+
_e.label = 10;
|
|
637
|
+
case 10:
|
|
638
|
+
if (!(passIndex < passes.length)) return [3 /*break*/, 13];
|
|
569
639
|
return [5 /*yield**/, _loop_1(passIndex)];
|
|
570
|
-
case
|
|
571
|
-
state_1 =
|
|
640
|
+
case 11:
|
|
641
|
+
state_1 = _e.sent();
|
|
572
642
|
switch (state_1) {
|
|
573
|
-
case "break-passLoop": return [3 /*break*/,
|
|
643
|
+
case "break-passLoop": return [3 /*break*/, 13];
|
|
574
644
|
}
|
|
575
|
-
|
|
576
|
-
case
|
|
645
|
+
_e.label = 12;
|
|
646
|
+
case 12:
|
|
577
647
|
passIndex++;
|
|
578
|
-
return [3 /*break*/,
|
|
579
|
-
case
|
|
648
|
+
return [3 /*break*/, 10];
|
|
649
|
+
case 13:
|
|
580
650
|
if (lastExitCode === 0 && outputVideoFiles.length === passes.length) {
|
|
581
651
|
reportProgress(100);
|
|
582
652
|
}
|
|
@@ -584,13 +654,13 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
|
|
|
584
654
|
console.error(exitReason);
|
|
585
655
|
}
|
|
586
656
|
resolve({ exitCode: lastExitCode, reason: exitReason, outputVideoFiles: outputVideoFiles });
|
|
587
|
-
return [3 /*break*/,
|
|
588
|
-
case
|
|
657
|
+
return [3 /*break*/, 15];
|
|
658
|
+
case 14:
|
|
589
659
|
if (subtitleFilePath && subtitleFileIsTemporary) {
|
|
590
660
|
video_1.cleanupTempFile(subtitleFilePath);
|
|
591
661
|
}
|
|
592
662
|
return [7 /*endfinally*/];
|
|
593
|
-
case
|
|
663
|
+
case 15: return [2 /*return*/];
|
|
594
664
|
}
|
|
595
665
|
});
|
|
596
666
|
}); });
|
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/dist/video.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { TempoEstimate } from './beats';
|
|
|
4
4
|
export interface AudioMuxSegment {
|
|
5
5
|
seekSeconds: number;
|
|
6
6
|
durationSeconds: number;
|
|
7
|
+
/** Silence played before the audio. */
|
|
8
|
+
delaySeconds?: number;
|
|
7
9
|
}
|
|
8
10
|
interface FfmpegVideoWriterConfig {
|
|
9
11
|
audioFilename: string;
|
|
@@ -20,12 +22,21 @@ interface FfmpegVideoWriterConfig {
|
|
|
20
22
|
audioDurationSeconds?: number;
|
|
21
23
|
/** One contiguous trim of the same audio file (muxed highlight). */
|
|
22
24
|
audioSegment?: AudioMuxSegment;
|
|
25
|
+
/**
|
|
26
|
+
* Audio mixed over the start of the track (e.g. the hook video's sound), from its beginning.
|
|
27
|
+
* The track fades in from silence to full volume while it plays, along an easeInQuint curve.
|
|
28
|
+
*/
|
|
29
|
+
overlayAudio?: {
|
|
30
|
+
filename: string;
|
|
31
|
+
durationSeconds: number;
|
|
32
|
+
};
|
|
23
33
|
}
|
|
24
34
|
export declare const spawnFfmpegVideoWriter: (config: FfmpegVideoWriterConfig) => import("child_process").ChildProcessWithoutNullStreams;
|
|
25
35
|
export interface VideoInfo {
|
|
26
36
|
width: number;
|
|
27
37
|
height: number;
|
|
28
38
|
duration: number;
|
|
39
|
+
hasAudio: boolean;
|
|
29
40
|
}
|
|
30
41
|
export interface SceneChange {
|
|
31
42
|
frameNumber: number;
|
|
@@ -33,6 +44,12 @@ export interface SceneChange {
|
|
|
33
44
|
ptsTime: number;
|
|
34
45
|
}
|
|
35
46
|
export declare const detectSceneChanges: (videoPath: string, threshold?: number) => Promise<SceneChange[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Number of whole frames the video stream yields at `fps` (partial last frames dropped).
|
|
49
|
+
* Unlike the container duration, this never runs past the last video frame (e.g. when the
|
|
50
|
+
* audio stream is longer), so a clip read for this many frames never wraps back to its start.
|
|
51
|
+
*/
|
|
52
|
+
export declare const getVideoFrameCount: (videoPath: string, fps: number) => Promise<number>;
|
|
36
53
|
export declare const getVideoInfo: (videoPath: string) => Promise<VideoInfo>;
|
|
37
54
|
export declare const buildVideoFilter: (sourceWidth: number, sourceHeight: number, targetWidth: number, targetHeight: number) => string;
|
|
38
55
|
export declare const spawnVideoFrameReader: (config: {
|
|
@@ -129,6 +146,8 @@ export declare const buildBeatSyncedSegments: (beatFrameIndices: number[], total
|
|
|
129
146
|
maxCutIntervalSeconds?: number | undefined;
|
|
130
147
|
tempo?: TempoEstimate | undefined;
|
|
131
148
|
} | undefined) => VideoSegment[];
|
|
149
|
+
/** Output frames given to the hook video: it plays in full, but never exceeds `totalFrames`. */
|
|
150
|
+
export declare const computeHookFrameCount: (hookDurationSeconds: number, fps: number, totalFrames: number) => number;
|
|
132
151
|
export declare const getCutFrameIndices: (segments: VideoSegment[]) => number[];
|
|
133
152
|
export interface VideoSourceInfo {
|
|
134
153
|
path: string;
|