@argo-video/cli 0.24.0 → 0.26.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 +49 -1
- package/dist/camera-move.d.ts +23 -5
- package/dist/camera-move.d.ts.map +1 -1
- package/dist/camera-move.js +170 -48
- package/dist/camera-move.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/export.d.ts +13 -1
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +50 -1
- package/dist/export.js.map +1 -1
- package/dist/frame.d.ts +35 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +182 -0
- package/dist/frame.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/media.d.ts +14 -0
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +86 -0
- package/dist/media.js.map +1 -1
- package/dist/overlays/templates.d.ts.map +1 -1
- package/dist/overlays/templates.js +32 -0
- package/dist/overlays/templates.js.map +1 -1
- package/dist/overlays/types.d.ts +22 -2
- package/dist/overlays/types.d.ts.map +1 -1
- package/dist/overlays/types.js +5 -0
- package/dist/overlays/types.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +20 -3
- package/dist/pipeline.js.map +1 -1
- package/dist/preview.d.ts +7 -0
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +102 -3
- package/dist/preview.js.map +1 -1
- package/dist/speed-ramp.d.ts +7 -2
- package/dist/speed-ramp.d.ts.map +1 -1
- package/dist/speed-ramp.js +30 -10
- package/dist/speed-ramp.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Write a demo script with Playwright. Add a scenes manifest. Run one command. Get
|
|
|
19
19
|
|
|
20
20
|
## Showcase
|
|
21
21
|
|
|
22
|
-
[Watch the demo video](https://github.com/user-attachments/assets/
|
|
22
|
+
[Watch the demo video](https://github.com/user-attachments/assets/242180f6-d7ca-4122-a817-50ccf4ff429f)
|
|
23
23
|
|
|
24
24
|
> *This demo was recorded by Argo, using Argo. Yes, really.*
|
|
25
25
|
|
|
@@ -217,6 +217,7 @@ argo preview <demo> Browser-based editor for voiceover, overlays,
|
|
|
217
217
|
argo preview Multi-demo dashboard (lists all demos with status)
|
|
218
218
|
argo clip <demo> <scene> Extract a scene clip from exported video
|
|
219
219
|
argo clip <demo> <scene> --format gif Extract as palette-optimized GIF
|
|
220
|
+
argo import <video-file> Import external video for post-production
|
|
220
221
|
argo doctor Check environment (ffmpeg, Playwright, config)
|
|
221
222
|
argo --config <path> <command> Use a custom config file
|
|
222
223
|
|
|
@@ -237,6 +238,7 @@ import { test, expect, demoType } from '@argo-video/cli';
|
|
|
237
238
|
import { showOverlay, hideOverlay, withOverlay } from '@argo-video/cli';
|
|
238
239
|
import { showConfetti } from '@argo-video/cli';
|
|
239
240
|
import { spotlight, focusRing, dimAround, zoomTo, resetCamera } from '@argo-video/cli';
|
|
241
|
+
import { cursorHighlight, resetCursor } from '@argo-video/cli';
|
|
240
242
|
import { showCaption, hideCaption, withCaption } from '@argo-video/cli';
|
|
241
243
|
import { defineConfig, demosProject, engines } from '@argo-video/cli';
|
|
242
244
|
```
|
|
@@ -257,6 +259,8 @@ import { defineConfig, demosProject, engines } from '@argo-video/cli';
|
|
|
257
259
|
| `dimAround(page, selector, opts?)` | Fade sibling elements to highlight target |
|
|
258
260
|
| `zoomTo(page, selector, opts?)` | Scale viewport centered on target. Pass `{ narration }` for overlay-safe ffmpeg post-export zoom (recommended). |
|
|
259
261
|
| `resetCamera(page)` | Clear all active camera effects |
|
|
262
|
+
| `cursorHighlight(page, opts?)` | Persistent cursor ring with pulse + click ripple. Options: `color`, `radius`, `pulse`, `clickRipple`, `opacity` |
|
|
263
|
+
| `resetCursor(page)` | Remove cursor highlight |
|
|
260
264
|
| `showCaption(page, scene, text, durationMs)` | Show a simple text caption |
|
|
261
265
|
| `withCaption(page, scene, text, action)` | Show caption during an async action |
|
|
262
266
|
| `hideCaption(page)` | Remove caption |
|
|
@@ -397,6 +401,38 @@ export: {
|
|
|
397
401
|
- **Loudnorm** — EBU R128 loudness normalization. Makes voiceover volume consistent across TTS engines and scenes.
|
|
398
402
|
- **Background music** — loops to fill the video, mixed at a constant low volume under narration, 2-second fade-out at the end. Works with silent demos too (music becomes the sole audio track).
|
|
399
403
|
|
|
404
|
+
### Studio Polish
|
|
405
|
+
|
|
406
|
+
```js
|
|
407
|
+
export: {
|
|
408
|
+
sharpen: true, // contrast-adaptive sharpening (CAS) for crisp text
|
|
409
|
+
frame: { // "Screen Studio" look
|
|
410
|
+
padding: 48,
|
|
411
|
+
borderRadius: 16,
|
|
412
|
+
shadow: 0.5,
|
|
413
|
+
background: { type: 'auto' }, // auto-derives gradient from video colors
|
|
414
|
+
// background: { type: 'gradient', value: 'linear-gradient(135deg, #1a1a2e, #16213e)' },
|
|
415
|
+
// background: { type: 'solid', value: '#000000' },
|
|
416
|
+
// background: { type: 'image', value: 'assets/bg.jpg' },
|
|
417
|
+
},
|
|
418
|
+
motionBlur: { intensity: 0.5 }, // blur during camera move transitions
|
|
419
|
+
}
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
- **Frame** — Wraps the recording with padding, rounded corners, drop shadow, and a background. Background `auto` probes the video for dominant edge colors and generates a matching gradient.
|
|
423
|
+
- **Sharpening** — ffmpeg CAS filter restores text crispness lost during screen recording encode.
|
|
424
|
+
- **Motion blur** — Time-gated `tblend` that only activates during zoom-in/zoom-out camera move windows. Static frames stay sharp.
|
|
425
|
+
|
|
426
|
+
### Per-Scene Playback Speed
|
|
427
|
+
|
|
428
|
+
Control video playback rate per scene in the manifest (separate from TTS speech `speed`):
|
|
429
|
+
|
|
430
|
+
```json
|
|
431
|
+
{ "scene": "hero", "text": "...", "playbackSpeed": 0.5 }
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Useful for slow-mo hero moments or fast-forwarding setup steps.
|
|
435
|
+
|
|
400
436
|
### Post-Export Camera Moves
|
|
401
437
|
|
|
402
438
|
Zoom into specific elements with frame-exact ffmpeg `zoompan` — overlays stay unaffected:
|
|
@@ -454,6 +490,18 @@ npx argo preview
|
|
|
454
490
|
|
|
455
491
|
Opens a dashboard listing every discovered demo with build status, video size, resolution, and quick-action links. Run `argo preview <demo>` for the single-demo editor.
|
|
456
492
|
|
|
493
|
+
### Video Import
|
|
494
|
+
|
|
495
|
+
Bring any existing video into Argo for post-production — add voiceover, overlays, and scene boundaries:
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
npx argo import recording.mp4 # import with auto-detected name
|
|
499
|
+
npx argo import recording.mp4 --demo myapp # custom demo name
|
|
500
|
+
npx argo preview myapp # open in editor
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
Import scaffolds a `.scenes.json` manifest and `.timing.json` from the video. In the preview editor you can scrub the timeline, add scene boundaries at any point, write voiceover text, drag-to-snap overlays into position, and export — all without re-recording. Overlays are composited as PNGs with adaptive theme detection (light/dark auto-detected from video frames).
|
|
504
|
+
|
|
457
505
|
## Example
|
|
458
506
|
|
|
459
507
|
A self-contained example is in [`example/`](example/) — it records a demo of Argo's own showcase page:
|
package/dist/camera-move.d.ts
CHANGED
|
@@ -27,19 +27,37 @@ export interface CameraMove {
|
|
|
27
27
|
holdMs?: number;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Detect which adjacent move pairs should be chained (smooth pan instead of bounce).
|
|
31
|
+
* Returns a Set of indices where move[i] should chain into move[i+1].
|
|
32
|
+
*/
|
|
33
|
+
export declare function detectChainedPairs(moves: CameraMove[]): Set<number>;
|
|
34
|
+
/**
|
|
35
|
+
* Build an ffmpeg filter expression for camera moves with connected handoffs.
|
|
31
36
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
37
|
+
* Adjacent moves within CHAIN_GAP_MS get smooth pans between them instead of
|
|
38
|
+
* bouncing back to 1× zoom. The pan interpolates focus + scale with an ease-out
|
|
39
|
+
* curve, creating cinematic connected camera motion.
|
|
34
40
|
*
|
|
35
41
|
* Uses ffmpeg's `if(between(t,...),expr,default)` for time-based animation.
|
|
36
|
-
* Linear interpolation for v1 — cubic easing can be added later via
|
|
37
|
-
* precomputed keyframes.
|
|
38
42
|
*/
|
|
39
43
|
export declare function buildCameraMoveFilter(moves: CameraMove[], inputWidth: number, inputHeight: number, inputLabel: string, fps?: number): {
|
|
40
44
|
filter: string;
|
|
41
45
|
outputLabel: string;
|
|
42
46
|
} | null;
|
|
47
|
+
/**
|
|
48
|
+
* Build an ffmpeg filter expression for motion blur applied after camera moves.
|
|
49
|
+
*
|
|
50
|
+
* Uses tblend to blend consecutive frames, creating a motion blur effect
|
|
51
|
+
* during zoom/pan transitions. The intensity controls the blend opacity.
|
|
52
|
+
*
|
|
53
|
+
* @param inputLabel - Stream label of the camera move output (e.g., '[camfinal]')
|
|
54
|
+
* @param intensity - Blur intensity from 0.0 to 1.0. Default: 0.5.
|
|
55
|
+
* @returns Filter string and output label, or null if intensity is 0.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildMotionBlurFilter(inputLabel: string, intensity?: number, moves?: CameraMove[], fps?: number): {
|
|
58
|
+
filter: string;
|
|
59
|
+
outputLabel: string;
|
|
60
|
+
} | null;
|
|
43
61
|
/**
|
|
44
62
|
* Shift camera moves by a time offset (for head trim alignment).
|
|
45
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-move.d.ts","sourceRoot":"","sources":["../src/camera-move.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,2CAA2C;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qHAAqH;IACrH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"camera-move.d.ts","sourceRoot":"","sources":["../src/camera-move.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,2CAA2C;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,4CAA4C;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qHAAqH;IACrH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAYnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,SAAK,GACP;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkHhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAY,EACvB,KAAK,GAAE,UAAU,EAAO,EACxB,GAAG,SAAK,GACP;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoChD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAMpF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,EAAE,CAS7F"}
|
package/dist/camera-move.js
CHANGED
|
@@ -6,77 +6,199 @@
|
|
|
6
6
|
* applied as ffmpeg filters during export. This produces frame-exact,
|
|
7
7
|
* overlay-safe zoom and pan effects using zoompan with time expressions.
|
|
8
8
|
*/
|
|
9
|
+
function formatSeconds(value) {
|
|
10
|
+
return value.toFixed(4);
|
|
11
|
+
}
|
|
12
|
+
/** Max gap (ms) between two moves to chain them with a smooth pan instead of bouncing to 1×. */
|
|
13
|
+
const CHAIN_GAP_MS = 1500;
|
|
14
|
+
/** Duration (ms) of the smooth pan transition between chained moves. */
|
|
15
|
+
const CHAIN_PAN_MS = 1000;
|
|
16
|
+
/**
|
|
17
|
+
* Cubic bezier approximation for easing: cubicBezier(0.1, 0.0, 0.2, 1.0, t).
|
|
18
|
+
* This is an aggressive ease-out (fast deceleration) used for connected pans.
|
|
19
|
+
* Approximated as a polynomial: roughly t^0.5 with slight adjustment.
|
|
20
|
+
* In ffmpeg expressions: 1-pow(1-t,3) gives a good ease-out approximation.
|
|
21
|
+
*/
|
|
22
|
+
function easeOutExpr(tExpr) {
|
|
23
|
+
return `(1-pow(1-(${tExpr})\\,3))`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Compute the end time (in ms) of a camera move including zoom-out.
|
|
27
|
+
*/
|
|
28
|
+
function moveEndMs(move) {
|
|
29
|
+
const fadeMs = move.durationMs;
|
|
30
|
+
const holdMs = move.holdMs ?? 0;
|
|
31
|
+
return move.startMs + fadeMs + holdMs + fadeMs; // in + hold + out
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Detect which adjacent move pairs should be chained (smooth pan instead of bounce).
|
|
35
|
+
* Returns a Set of indices where move[i] should chain into move[i+1].
|
|
36
|
+
*/
|
|
37
|
+
export function detectChainedPairs(moves) {
|
|
38
|
+
const chained = new Set();
|
|
39
|
+
for (let i = 0; i < moves.length - 1; i++) {
|
|
40
|
+
const scaleA = moves[i].scale ?? 1.5;
|
|
41
|
+
const scaleB = moves[i + 1].scale ?? 1.5;
|
|
42
|
+
if (scaleA <= 1.0 || scaleB <= 1.0)
|
|
43
|
+
continue;
|
|
44
|
+
const gap = moves[i + 1].startMs - moveEndMs(moves[i]);
|
|
45
|
+
if (gap >= 0 && gap <= CHAIN_GAP_MS) {
|
|
46
|
+
chained.add(i);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return chained;
|
|
50
|
+
}
|
|
9
51
|
/**
|
|
10
|
-
* Build an ffmpeg filter expression for
|
|
52
|
+
* Build an ffmpeg filter expression for camera moves with connected handoffs.
|
|
11
53
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
54
|
+
* Adjacent moves within CHAIN_GAP_MS get smooth pans between them instead of
|
|
55
|
+
* bouncing back to 1× zoom. The pan interpolates focus + scale with an ease-out
|
|
56
|
+
* curve, creating cinematic connected camera motion.
|
|
14
57
|
*
|
|
15
58
|
* Uses ffmpeg's `if(between(t,...),expr,default)` for time-based animation.
|
|
16
|
-
* Linear interpolation for v1 — cubic easing can be added later via
|
|
17
|
-
* precomputed keyframes.
|
|
18
59
|
*/
|
|
19
60
|
export function buildCameraMoveFilter(moves, inputWidth, inputHeight, inputLabel, fps = 30) {
|
|
20
61
|
if (moves.length === 0)
|
|
21
62
|
return null;
|
|
22
|
-
// Validate dimensions
|
|
23
63
|
if (inputWidth <= 0 || inputHeight <= 0)
|
|
24
64
|
return null;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
65
|
+
// Filter to valid moves and sort by start time
|
|
66
|
+
const validMoves = moves
|
|
67
|
+
.map((m, i) => ({ move: m, origIdx: i }))
|
|
68
|
+
.filter(({ move }) => (move.scale ?? 1.5) > 1.0);
|
|
69
|
+
if (validMoves.length === 0)
|
|
70
|
+
return null;
|
|
71
|
+
const sortedMoves = validMoves.map(v => v.move);
|
|
72
|
+
const chained = detectChainedPairs(sortedMoves);
|
|
73
|
+
const f = (n) => n.toFixed(4);
|
|
74
|
+
// Build unified zoom, panX, panY expressions as nested if/else chains.
|
|
75
|
+
// Each move contributes its time windows; chained pairs add a pan transition.
|
|
76
|
+
const zoomClauses = [];
|
|
77
|
+
const panXClauses = [];
|
|
78
|
+
const panYClauses = [];
|
|
79
|
+
for (let i = 0; i < sortedMoves.length; i++) {
|
|
80
|
+
const move = sortedMoves[i];
|
|
29
81
|
const scale = move.scale ?? 1.5;
|
|
30
|
-
if (scale <= 1.0)
|
|
31
|
-
continue; // No zoom needed
|
|
32
82
|
const holdMs = move.holdMs ?? 0;
|
|
33
83
|
const fadeInSec = move.durationMs / 1000;
|
|
34
84
|
const holdSec = holdMs / 1000;
|
|
35
|
-
const fadeOutSec = fadeInSec;
|
|
85
|
+
const fadeOutSec = fadeInSec;
|
|
36
86
|
const startSec = move.startMs / 1000;
|
|
37
87
|
const zoomInEnd = startSec + fadeInSec;
|
|
38
88
|
const holdEnd = zoomInEnd + holdSec;
|
|
39
89
|
const zoomOutEnd = holdEnd + fadeOutSec;
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
const isChainedOut = chained.has(i); // this move chains into the next
|
|
91
|
+
const isChainedIn = i > 0 && chained.has(i - 1); // previous move chains into this
|
|
92
|
+
// --- Zoom-in phase (skip if chained-in — the pan transition handles it) ---
|
|
93
|
+
if (!isChainedIn) {
|
|
94
|
+
const progress = `(in_time-${f(startSec)})/${f(fadeInSec)}`;
|
|
95
|
+
zoomClauses.push(`if(between(in_time\\,${f(startSec)}\\,${f(zoomInEnd)})\\,1+${progress}*${f(scale - 1)}`);
|
|
96
|
+
panXClauses.push(`if(between(in_time\\,${f(startSec)}\\,${f(zoomInEnd)})\\,${f(move.x)}`);
|
|
97
|
+
panYClauses.push(`if(between(in_time\\,${f(startSec)}\\,${f(zoomInEnd)})\\,${f(move.y)}`);
|
|
98
|
+
}
|
|
99
|
+
// --- Hold phase ---
|
|
100
|
+
if (holdSec > 0) {
|
|
101
|
+
zoomClauses.push(`if(between(in_time\\,${f(zoomInEnd)}\\,${f(holdEnd)})\\,${f(scale)}`);
|
|
102
|
+
panXClauses.push(`if(between(in_time\\,${f(zoomInEnd)}\\,${f(holdEnd)})\\,${f(move.x)}`);
|
|
103
|
+
panYClauses.push(`if(between(in_time\\,${f(zoomInEnd)}\\,${f(holdEnd)})\\,${f(move.y)}`);
|
|
104
|
+
}
|
|
105
|
+
// --- Zoom-out or connected pan transition ---
|
|
106
|
+
if (isChainedOut) {
|
|
107
|
+
const next = sortedMoves[i + 1];
|
|
108
|
+
const nextScale = next.scale ?? 1.5;
|
|
109
|
+
// Pan transition: from current hold end to next zoom-in end
|
|
110
|
+
const rawPanDur = (next.startMs - move.startMs - move.durationMs - holdMs) / 1000 + next.durationMs / 1000;
|
|
111
|
+
const panDur = Math.max(0.1, Math.min(CHAIN_PAN_MS / 1000, rawPanDur));
|
|
112
|
+
const panStart = holdEnd;
|
|
113
|
+
const panEnd = panStart + panDur;
|
|
114
|
+
// During pan: interpolate scale and focus between current and next
|
|
115
|
+
const tExpr = `(in_time-${f(panStart)})/${f(panDur)}`;
|
|
116
|
+
const easedT = easeOutExpr(tExpr);
|
|
117
|
+
// Lerp scale: current scale → next scale
|
|
118
|
+
const lerpScale = `${f(scale)}+(${f(nextScale)}-${f(scale)})*${easedT}`;
|
|
119
|
+
// Lerp focus
|
|
120
|
+
const lerpX = `${f(move.x)}+(${f(next.x)}-${f(move.x)})*${easedT}`;
|
|
121
|
+
const lerpY = `${f(move.y)}+(${f(next.y)}-${f(move.y)})*${easedT}`;
|
|
122
|
+
zoomClauses.push(`if(between(in_time\\,${f(panStart)}\\,${f(panEnd)})\\,${lerpScale}`);
|
|
123
|
+
panXClauses.push(`if(between(in_time\\,${f(panStart)}\\,${f(panEnd)})\\,${lerpX}`);
|
|
124
|
+
panYClauses.push(`if(between(in_time\\,${f(panStart)}\\,${f(panEnd)})\\,${lerpY}`);
|
|
125
|
+
// If there's a gap between pan end and next move's zoom-in, hold at next position
|
|
126
|
+
const nextStart = next.startMs / 1000;
|
|
127
|
+
const nextFadeIn = next.durationMs / 1000;
|
|
128
|
+
const nextZoomInEnd = nextStart + nextFadeIn;
|
|
129
|
+
if (panEnd < nextZoomInEnd) {
|
|
130
|
+
zoomClauses.push(`if(between(in_time\\,${f(panEnd)}\\,${f(nextZoomInEnd)})\\,${f(nextScale)}`);
|
|
131
|
+
panXClauses.push(`if(between(in_time\\,${f(panEnd)}\\,${f(nextZoomInEnd)})\\,${f(next.x)}`);
|
|
132
|
+
panYClauses.push(`if(between(in_time\\,${f(panEnd)}\\,${f(nextZoomInEnd)})\\,${f(next.y)}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// Normal zoom-out
|
|
137
|
+
const progress = `1-(in_time-${f(holdEnd)})/${f(fadeOutSec)}`;
|
|
138
|
+
zoomClauses.push(`if(between(in_time\\,${f(holdEnd)}\\,${f(zoomOutEnd)})\\,1+${progress}*${f(scale - 1)}`);
|
|
139
|
+
panXClauses.push(`if(between(in_time\\,${f(holdEnd)}\\,${f(zoomOutEnd)})\\,${f(move.x)}`);
|
|
140
|
+
panYClauses.push(`if(between(in_time\\,${f(holdEnd)}\\,${f(zoomOutEnd)})\\,${f(move.y)}`);
|
|
141
|
+
}
|
|
74
142
|
}
|
|
143
|
+
// Close all clauses with default (no zoom = 1.0, center pan)
|
|
144
|
+
const defaultZoom = '1';
|
|
145
|
+
const defaultX = f(inputWidth / 2);
|
|
146
|
+
const defaultY = f(inputHeight / 2);
|
|
147
|
+
const closingParens = ')'.repeat(zoomClauses.length);
|
|
148
|
+
const zoomExpr = zoomClauses.join('\\,') + `\\,${defaultZoom}${closingParens}`;
|
|
149
|
+
const focusX = panXClauses.join('\\,') + `\\,${defaultX}${closingParens}`;
|
|
150
|
+
const focusY = panYClauses.join('\\,') + `\\,${defaultY}${closingParens}`;
|
|
151
|
+
// Build pan expressions from focus point + zoom
|
|
152
|
+
const panX = `max(0\\,min(${focusX}-iw/(${zoomExpr})/2\\,iw-iw/(${zoomExpr})))`;
|
|
153
|
+
const panY = `max(0\\,min(${focusY}-ih/(${zoomExpr})/2\\,ih-ih/(${zoomExpr})))`;
|
|
154
|
+
const finalLabel = 'camfinal';
|
|
155
|
+
const filter = `${inputLabel}zoompan=z='${zoomExpr}':x='${panX}':y='${panY}':d=1:s=${inputWidth}x${inputHeight}:fps=${Math.max(1, Math.round(fps))}[${finalLabel}]`;
|
|
75
156
|
return {
|
|
76
|
-
filter
|
|
157
|
+
filter,
|
|
77
158
|
outputLabel: finalLabel,
|
|
78
159
|
};
|
|
79
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Build an ffmpeg filter expression for motion blur applied after camera moves.
|
|
163
|
+
*
|
|
164
|
+
* Uses tblend to blend consecutive frames, creating a motion blur effect
|
|
165
|
+
* during zoom/pan transitions. The intensity controls the blend opacity.
|
|
166
|
+
*
|
|
167
|
+
* @param inputLabel - Stream label of the camera move output (e.g., '[camfinal]')
|
|
168
|
+
* @param intensity - Blur intensity from 0.0 to 1.0. Default: 0.5.
|
|
169
|
+
* @returns Filter string and output label, or null if intensity is 0.
|
|
170
|
+
*/
|
|
171
|
+
export function buildMotionBlurFilter(inputLabel, intensity = 0.5, moves = [], fps = 30) {
|
|
172
|
+
const clamped = Math.max(0, Math.min(1, intensity));
|
|
173
|
+
if (clamped <= 0)
|
|
174
|
+
return null;
|
|
175
|
+
// tblend averages current and previous frame with configurable opacity.
|
|
176
|
+
// all_opacity controls how much of the blended result to use (0 = no blur, 1 = full blend).
|
|
177
|
+
const outputLabel = 'mblur';
|
|
178
|
+
const validFps = Number.isFinite(fps) && fps > 0 ? fps : 30;
|
|
179
|
+
const framePadSec = 1 / validFps;
|
|
180
|
+
const windows = [];
|
|
181
|
+
for (const move of moves) {
|
|
182
|
+
const scale = move.scale ?? 1.5;
|
|
183
|
+
if (scale <= 1.0 || move.durationMs <= 0)
|
|
184
|
+
continue;
|
|
185
|
+
const startSec = move.startMs / 1000;
|
|
186
|
+
const zoomInEnd = startSec + move.durationMs / 1000;
|
|
187
|
+
const holdEnd = zoomInEnd + Math.max(0, move.holdMs ?? 0) / 1000;
|
|
188
|
+
const zoomOutEnd = holdEnd + move.durationMs / 1000;
|
|
189
|
+
const zoomInStart = Math.max(0, startSec - framePadSec);
|
|
190
|
+
const zoomInStop = zoomInEnd + framePadSec;
|
|
191
|
+
windows.push(`between(t,${formatSeconds(zoomInStart)},${formatSeconds(zoomInStop)})`);
|
|
192
|
+
const zoomOutStart = Math.max(0, holdEnd - framePadSec);
|
|
193
|
+
const zoomOutStop = zoomOutEnd + framePadSec;
|
|
194
|
+
windows.push(`between(t,${formatSeconds(zoomOutStart)},${formatSeconds(zoomOutStop)})`);
|
|
195
|
+
}
|
|
196
|
+
if (moves.length > 0 && windows.length === 0)
|
|
197
|
+
return null;
|
|
198
|
+
const enableExpr = windows.length > 0 ? `:enable='${windows.join('+')}'` : '';
|
|
199
|
+
const filter = `${inputLabel}tblend=all_mode=average:all_opacity=${clamped.toFixed(2)}${enableExpr}[${outputLabel}]`;
|
|
200
|
+
return { filter, outputLabel };
|
|
201
|
+
}
|
|
80
202
|
/**
|
|
81
203
|
* Shift camera moves by a time offset (for head trim alignment).
|
|
82
204
|
*/
|
package/dist/camera-move.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-move.js","sourceRoot":"","sources":["../src/camera-move.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuBH
|
|
1
|
+
{"version":3,"file":"camera-move.js","sourceRoot":"","sources":["../src/camera-move.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAiD5C,wBAAgB,aAAa,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAiD5C,wBAAgB,aAAa,IAAI,OAAO,CA6avC"}
|
package/dist/cli.js
CHANGED
|
@@ -114,7 +114,14 @@ export function createProgram() {
|
|
|
114
114
|
const computedHeadTrimMs = computeHeadTrimMs(timing);
|
|
115
115
|
const shiftedPlacements = shiftPlacements(untrimmedPlacements, computedHeadTrimMs);
|
|
116
116
|
const shiftedDurationMs = rawVideoDurationMs - computedHeadTrimMs;
|
|
117
|
-
|
|
117
|
+
// Read per-scene playback speeds from manifest
|
|
118
|
+
const cliSceneSpeeds = {};
|
|
119
|
+
for (const entry of manifestEntries) {
|
|
120
|
+
if (entry.scene && typeof entry.playbackSpeed === 'number' && entry.playbackSpeed !== 1.0) {
|
|
121
|
+
cliSceneSpeeds[entry.scene] = entry.playbackSpeed;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const speedRampPlan = applySpeedRampToTimeline(shiftedPlacements, shiftedDurationMs, config.export.speedRamp, Object.keys(cliSceneSpeeds).length > 0 ? cliSceneSpeeds : undefined);
|
|
118
125
|
placements = speedRampPlan.placements;
|
|
119
126
|
totalDurationMs = speedRampPlan.totalDurationMs;
|
|
120
127
|
speedRampSegments = speedRampPlan.segments;
|
|
@@ -193,6 +200,9 @@ export function createProgram() {
|
|
|
193
200
|
return undefined;
|
|
194
201
|
})(),
|
|
195
202
|
watermark: config.export.watermark,
|
|
203
|
+
sharpen: config.export.sharpen,
|
|
204
|
+
frame: config.export.frame,
|
|
205
|
+
motionBlur: config.export.motionBlur,
|
|
196
206
|
freezeSpecs: resolvedFreezes.length > 0 ? resolvedFreezes : undefined,
|
|
197
207
|
overlayPngs,
|
|
198
208
|
});
|
|
@@ -335,6 +345,9 @@ export function createProgram() {
|
|
|
335
345
|
musicPath: config.export.audio?.music,
|
|
336
346
|
musicVolume: config.export.audio?.musicVolume,
|
|
337
347
|
watermark: config.export.watermark,
|
|
348
|
+
sharpen: config.export.sharpen,
|
|
349
|
+
frame: config.export.frame,
|
|
350
|
+
motionBlur: config.export.motionBlur,
|
|
338
351
|
},
|
|
339
352
|
});
|
|
340
353
|
console.log(`\nArgo Dashboard running at: ${url}`);
|
|
@@ -368,6 +381,9 @@ export function createProgram() {
|
|
|
368
381
|
musicPath: config.export.audio?.music,
|
|
369
382
|
musicVolume: config.export.audio?.musicVolume,
|
|
370
383
|
watermark: config.export.watermark,
|
|
384
|
+
sharpen: config.export.sharpen,
|
|
385
|
+
frame: config.export.frame,
|
|
386
|
+
motionBlur: config.export.motionBlur,
|
|
371
387
|
},
|
|
372
388
|
});
|
|
373
389
|
console.log(`\nArgo Preview running at: ${url}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -50,6 +50,33 @@ export interface WatermarkConfig {
|
|
|
50
50
|
/** Margin from edges in pixels. Default: 20. */
|
|
51
51
|
margin?: number;
|
|
52
52
|
}
|
|
53
|
+
export type BackgroundType = 'solid' | 'gradient' | 'image' | 'auto';
|
|
54
|
+
export interface BackgroundConfig {
|
|
55
|
+
/** Type of background.
|
|
56
|
+
* - solid: hex color
|
|
57
|
+
* - gradient: CSS linear-gradient string
|
|
58
|
+
* - image: path to background image
|
|
59
|
+
* - auto: derives a gradient from the video's edge colors */
|
|
60
|
+
type: BackgroundType;
|
|
61
|
+
/** Value depends on type:
|
|
62
|
+
* - solid: hex color string (e.g., '#1a1a2e')
|
|
63
|
+
* - gradient: CSS gradient string (e.g., 'linear-gradient(135deg, #667eea, #764ba2)')
|
|
64
|
+
* - image: path to background image file
|
|
65
|
+
* - auto: ignored (colors are probed from video) */
|
|
66
|
+
value?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface FrameConfig {
|
|
69
|
+
/** Padding around the recording in pixels. Default: 40. */
|
|
70
|
+
padding?: number;
|
|
71
|
+
/** Border radius for rounded corners in pixels. Default: 12. 0 disables rounding. */
|
|
72
|
+
borderRadius?: number;
|
|
73
|
+
/** Drop shadow intensity (0.0 to 1.0). Default: 0.5. 0 disables shadow. */
|
|
74
|
+
shadow?: number;
|
|
75
|
+
/** Shadow color as hex string. Default: '#000000'. */
|
|
76
|
+
shadowColor?: string;
|
|
77
|
+
/** Background behind the framed recording. Default: solid black (#000000). */
|
|
78
|
+
background?: BackgroundConfig;
|
|
79
|
+
}
|
|
53
80
|
export interface VariantConfig {
|
|
54
81
|
/** Variant name — used in output filename (e.g., 'vertical' → showcase.vertical.mp4). */
|
|
55
82
|
name: string;
|
|
@@ -76,6 +103,20 @@ export interface ExportConfig {
|
|
|
76
103
|
variants?: VariantConfig[];
|
|
77
104
|
/** Overlay a watermark/brand bug image on the exported video. */
|
|
78
105
|
watermark?: WatermarkConfig;
|
|
106
|
+
/** Apply contrast-adaptive sharpening (CAS) to restore text crispness.
|
|
107
|
+
* `true` uses default strength (0.5). Pass `{ strength: 0.0-1.0 }` to tune. */
|
|
108
|
+
sharpen?: boolean | {
|
|
109
|
+
strength: number;
|
|
110
|
+
};
|
|
111
|
+
/** Frame the recording with padding, rounded corners, drop shadow, and a background.
|
|
112
|
+
* Creates the polished "Screen Studio" look. */
|
|
113
|
+
frame?: FrameConfig;
|
|
114
|
+
/** Apply motion blur during camera move transitions.
|
|
115
|
+
* `true` uses default intensity (0.5). Pass `{ intensity: 0.0-1.0 }` to tune.
|
|
116
|
+
* Only takes effect when cameraMoves are present. */
|
|
117
|
+
motionBlur?: boolean | {
|
|
118
|
+
intensity: number;
|
|
119
|
+
};
|
|
79
120
|
}
|
|
80
121
|
export interface OverlayConfig {
|
|
81
122
|
autoBackground: boolean;
|