@vertesia/workflow 1.5.0-dev.20260717.131047Z → 1.5.0-dev.20260722.120446Z
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/lib/activities/generateDocumentProperties.d.ts +54 -13
- package/lib/activities/generateDocumentProperties.d.ts.map +1 -1
- package/lib/activities/generateDocumentProperties.js +109 -34
- package/lib/activities/generateDocumentProperties.js.map +1 -1
- package/lib/activities/generateOrAssignContentType.d.ts +6 -16
- package/lib/activities/generateOrAssignContentType.d.ts.map +1 -1
- package/lib/activities/generateOrAssignContentType.js +70 -19
- package/lib/activities/generateOrAssignContentType.js.map +1 -1
- package/lib/activities/media/exec.d.ts +60 -0
- package/lib/activities/media/exec.d.ts.map +1 -0
- package/lib/activities/media/exec.js +212 -0
- package/lib/activities/media/exec.js.map +1 -0
- package/lib/activities/media/prepareAudio.d.ts.map +1 -1
- package/lib/activities/media/prepareAudio.js +7 -6
- package/lib/activities/media/prepareAudio.js.map +1 -1
- package/lib/activities/media/prepareVideo.d.ts +5 -0
- package/lib/activities/media/prepareVideo.d.ts.map +1 -1
- package/lib/activities/media/prepareVideo.js +37 -13
- package/lib/activities/media/prepareVideo.js.map +1 -1
- package/lib/activities/media/probeMediaStreams.d.ts.map +1 -1
- package/lib/activities/media/probeMediaStreams.js +7 -6
- package/lib/activities/media/probeMediaStreams.js.map +1 -1
- package/lib/activities/renditions/generateVideoRendition.d.ts.map +1 -1
- package/lib/activities/renditions/generateVideoRendition.js +7 -5
- package/lib/activities/renditions/generateVideoRendition.js.map +1 -1
- package/lib/dsl/dsl-workflow.js +3 -0
- package/lib/dsl/dsl-workflow.js.map +1 -1
- package/lib/workflows-bundle.js +16277 -6846
- package/package.json +9 -9
- package/src/activities/generateDocumentProperties.test.ts +642 -0
- package/src/activities/generateDocumentProperties.ts +187 -43
- package/src/activities/generateOrAssignContentType.test.ts +196 -0
- package/src/activities/generateOrAssignContentType.ts +115 -30
- package/src/activities/media/exec.test.ts +194 -0
- package/src/activities/media/exec.ts +265 -0
- package/src/activities/media/prepareAudio.ts +12 -7
- package/src/activities/media/prepareVideo.test.ts +27 -0
- package/src/activities/media/prepareVideo.ts +54 -18
- package/src/activities/media/probeMediaStreams.test.ts +7 -8
- package/src/activities/media/probeMediaStreams.ts +11 -7
- package/src/activities/renditions/generateVideoRendition.ts +12 -6
- package/src/dsl/dsl-workflow.test.ts +4 -0
- package/src/dsl/dsl-workflow.ts +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/activities/media/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAuC,MAAM,oBAAoB,CAAC;AAM/F,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAkBlD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAS1D;AAUD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7C;AAED,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAgBD,MAAM,WAAW,eAAe;IAC5B,gHAAgH;IAChH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,eAAe,CAoC7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAC9C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,SAA6B,EAAE,cAAwC,EAAE,GAAE,oBAAyB,GACvG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA8F7C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAK7D"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { execFile as execFileCallback, spawn } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { Context } from '@temporalio/activity';
|
|
4
|
+
const execFileAsync = promisify(execFileCallback);
|
|
5
|
+
/** 10MB buffer for ffmpeg output. */
|
|
6
|
+
export const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10;
|
|
7
|
+
const MAX_COMMAND_TIMEOUT_MARGIN_MS = 60_000;
|
|
8
|
+
/** Terminate an ffmpeg child that makes no encoding progress for this long, so Temporal can retry it promptly. */
|
|
9
|
+
const FFMPEG_STALL_TIMEOUT_MS = 120_000;
|
|
10
|
+
// ffmpeg streams encoding progress as `frame=`/`time=` stats. We track the *advance* of these monotonic fields (rather
|
|
11
|
+
// than mere presence) so a wedged encoder that keeps re-emitting an identical status line is still detected as stalled.
|
|
12
|
+
const FFMPEG_TIME_PATTERN = /time=\s*(\d+):([0-5]?\d):([0-5]?\d(?:\.\d+)?)/;
|
|
13
|
+
const FFMPEG_FRAME_PATTERN = /frame=\s*(\d+)/;
|
|
14
|
+
// ffmpeg delimits stats snapshots with a carriage return, so the carry buffer normally stays tiny. These bounds are a
|
|
15
|
+
// defensive guard against an unterminated stream, retaining enough of a tail to reunite a marker split at the boundary.
|
|
16
|
+
const PROGRESS_CARRY_LIMIT = 64 * 1024;
|
|
17
|
+
const PROGRESS_CARRY_TAIL = 512;
|
|
18
|
+
const activityCommandDeadlines = new WeakMap();
|
|
19
|
+
/**
|
|
20
|
+
* Anchor the child-process deadline at the moment the Activity starts, so every later command derives its timeout from a
|
|
21
|
+
* stable point regardless of how long input download took.
|
|
22
|
+
*/
|
|
23
|
+
export function initializeActivityCommandDeadline() {
|
|
24
|
+
const context = Context.current();
|
|
25
|
+
const existingDeadlineMs = activityCommandDeadlines.get(context);
|
|
26
|
+
if (existingDeadlineMs) {
|
|
27
|
+
return existingDeadlineMs;
|
|
28
|
+
}
|
|
29
|
+
const deadlineMs = Date.now() + context.info.startToCloseTimeoutMs;
|
|
30
|
+
activityCommandDeadlines.set(context, deadlineMs);
|
|
31
|
+
return deadlineMs;
|
|
32
|
+
}
|
|
33
|
+
function getActivityCommandTimeoutMs() {
|
|
34
|
+
const context = Context.current();
|
|
35
|
+
const { startToCloseTimeoutMs } = context.info;
|
|
36
|
+
const timeoutMarginMs = Math.min(MAX_COMMAND_TIMEOUT_MARGIN_MS, startToCloseTimeoutMs / 10);
|
|
37
|
+
const activityDeadlineMs = initializeActivityCommandDeadline();
|
|
38
|
+
return Math.max(1, activityDeadlineMs - Date.now() - timeoutMarginMs);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Execute media tooling with Temporal cancellation propagated to the child process.
|
|
42
|
+
*
|
|
43
|
+
* Temporal can begin a retry after an attempt times out while the original worker process is still running. Passing the
|
|
44
|
+
* Activity cancellation signal prevents an orphaned ffmpeg process from competing with its retry for CPU.
|
|
45
|
+
*/
|
|
46
|
+
export async function execActivityFile(command, args, options = {}) {
|
|
47
|
+
const activityTimeoutMs = getActivityCommandTimeoutMs();
|
|
48
|
+
const configuredTimeoutMs = options.timeout && options.timeout > 0 ? options.timeout : activityTimeoutMs;
|
|
49
|
+
return (await execFileAsync(command, args, {
|
|
50
|
+
...options,
|
|
51
|
+
encoding: 'utf8',
|
|
52
|
+
signal: Context.current().cancellationSignal,
|
|
53
|
+
timeout: Math.min(configuredTimeoutMs, activityTimeoutMs),
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
function parseFfmpegTimeCentis(text) {
|
|
57
|
+
const match = FFMPEG_TIME_PATTERN.exec(text);
|
|
58
|
+
if (!match) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const totalSeconds = Number(match[1]) * 3600 + Number(match[2]) * 60 + Number(match[3]);
|
|
62
|
+
return Number.isFinite(totalSeconds) ? Math.round(totalSeconds * 100) : undefined;
|
|
63
|
+
}
|
|
64
|
+
function parseFfmpegFrame(text) {
|
|
65
|
+
const match = FFMPEG_FRAME_PATTERN.exec(text);
|
|
66
|
+
return match ? Number(match[1]) : undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Track ffmpeg forward progress across arbitrarily-chunked output.
|
|
70
|
+
*
|
|
71
|
+
* Node delivers stream data in arbitrary slices, so a marker such as `frame=42` can arrive split across two chunks. The
|
|
72
|
+
* tracker buffers partial records until a `\r`/`\n` delimiter completes them, then reports advancement only when the
|
|
73
|
+
* parsed frame count or media timestamp exceeds the previous maximum — repeated identical stats from a wedged encoder do
|
|
74
|
+
* not count as progress.
|
|
75
|
+
*/
|
|
76
|
+
export function createFfmpegProgressTracker() {
|
|
77
|
+
let carry = '';
|
|
78
|
+
let maxTimeCentis = -1;
|
|
79
|
+
let maxFrame = -1;
|
|
80
|
+
const noteSegment = (segment) => {
|
|
81
|
+
let advanced = false;
|
|
82
|
+
const timeCentis = parseFfmpegTimeCentis(segment);
|
|
83
|
+
if (timeCentis !== undefined && timeCentis > maxTimeCentis) {
|
|
84
|
+
maxTimeCentis = timeCentis;
|
|
85
|
+
advanced = true;
|
|
86
|
+
}
|
|
87
|
+
const frame = parseFfmpegFrame(segment);
|
|
88
|
+
if (frame !== undefined && frame > maxFrame) {
|
|
89
|
+
maxFrame = frame;
|
|
90
|
+
advanced = true;
|
|
91
|
+
}
|
|
92
|
+
return advanced;
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
observe(chunk) {
|
|
96
|
+
carry += chunk;
|
|
97
|
+
const segments = carry.split(/[\r\n]+/);
|
|
98
|
+
carry = segments.pop() ?? '';
|
|
99
|
+
let advanced = false;
|
|
100
|
+
for (const segment of segments) {
|
|
101
|
+
advanced = noteSegment(segment) || advanced;
|
|
102
|
+
}
|
|
103
|
+
if (carry.length > PROGRESS_CARRY_LIMIT) {
|
|
104
|
+
advanced = noteSegment(carry) || advanced;
|
|
105
|
+
carry = carry.slice(carry.length - PROGRESS_CARRY_TAIL);
|
|
106
|
+
}
|
|
107
|
+
return advanced;
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Execute a long-running media command while enforcing a progress-stall watchdog on top of the Activity deadline and
|
|
113
|
+
* cancellation.
|
|
114
|
+
*
|
|
115
|
+
* The worker heartbeats every Activity on a fixed interval, so a wedged ffmpeg child that stops emitting progress would
|
|
116
|
+
* otherwise keep the Activity alive until its multi-hour Start-to-Close timeout. Watching ffmpeg's progress markers lets
|
|
117
|
+
* us terminate a stalled encode within `stallTimeoutMs` so Temporal retries it promptly (escalating to a faster preset
|
|
118
|
+
* on the next attempt). A stall is surfaced as a `killed` error so it propagates as an Activity failure via
|
|
119
|
+
* {@link rethrowIfActivityStopped} instead of being swallowed into a missing rendition.
|
|
120
|
+
*/
|
|
121
|
+
export async function execActivityFileWithProgress(command, args, { maxBuffer = FFMPEG_MAX_BUFFER, stallTimeoutMs = FFMPEG_STALL_TIMEOUT_MS } = {}) {
|
|
122
|
+
const activityTimeoutMs = getActivityCommandTimeoutMs();
|
|
123
|
+
const stallWindowMs = Math.max(1, Math.min(stallTimeoutMs, activityTimeoutMs));
|
|
124
|
+
return await new Promise((resolve, reject) => {
|
|
125
|
+
const child = spawn(command, args, {
|
|
126
|
+
signal: Context.current().cancellationSignal,
|
|
127
|
+
timeout: activityTimeoutMs,
|
|
128
|
+
killSignal: 'SIGKILL',
|
|
129
|
+
});
|
|
130
|
+
let stdout = '';
|
|
131
|
+
let stderr = '';
|
|
132
|
+
let settled = false;
|
|
133
|
+
let stalled = false;
|
|
134
|
+
let stallTimer;
|
|
135
|
+
const armStallTimer = () => {
|
|
136
|
+
if (stallTimer) {
|
|
137
|
+
clearTimeout(stallTimer);
|
|
138
|
+
}
|
|
139
|
+
stallTimer = setTimeout(() => {
|
|
140
|
+
stalled = true;
|
|
141
|
+
child.kill('SIGKILL');
|
|
142
|
+
}, stallWindowMs);
|
|
143
|
+
// Never keep the event loop alive solely for the watchdog timer.
|
|
144
|
+
stallTimer.unref?.();
|
|
145
|
+
};
|
|
146
|
+
const append = (current, chunk) => {
|
|
147
|
+
const combined = current + chunk;
|
|
148
|
+
return combined.length > maxBuffer ? combined.slice(combined.length - maxBuffer) : combined;
|
|
149
|
+
};
|
|
150
|
+
// ffmpeg writes progress to stderr by default, but track both streams so the watchdog works regardless of where
|
|
151
|
+
// a given command reports it. Each stream keeps its own line buffer.
|
|
152
|
+
const stdoutProgress = createFfmpegProgressTracker();
|
|
153
|
+
const stderrProgress = createFfmpegProgressTracker();
|
|
154
|
+
child.stdout?.setEncoding('utf8');
|
|
155
|
+
child.stderr?.setEncoding('utf8');
|
|
156
|
+
child.stdout?.on('data', (chunk) => {
|
|
157
|
+
stdout = append(stdout, chunk);
|
|
158
|
+
if (stdoutProgress.observe(chunk)) {
|
|
159
|
+
armStallTimer();
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
child.stderr?.on('data', (chunk) => {
|
|
163
|
+
stderr = append(stderr, chunk);
|
|
164
|
+
if (stderrProgress.observe(chunk)) {
|
|
165
|
+
armStallTimer();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
armStallTimer();
|
|
169
|
+
const settle = (finish) => {
|
|
170
|
+
if (settled) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
settled = true;
|
|
174
|
+
if (stallTimer) {
|
|
175
|
+
clearTimeout(stallTimer);
|
|
176
|
+
}
|
|
177
|
+
finish();
|
|
178
|
+
};
|
|
179
|
+
child.on('error', (error) => settle(() => reject(error)));
|
|
180
|
+
child.on('close', (code, signal) => settle(() => {
|
|
181
|
+
if (stalled) {
|
|
182
|
+
const seconds = Math.round(stallWindowMs / 1000);
|
|
183
|
+
reject(Object.assign(new Error(`${command} made no progress for ${seconds}s and was terminated`), {
|
|
184
|
+
killed: true,
|
|
185
|
+
stalled: true,
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
else if (code === 0) {
|
|
189
|
+
resolve({ stdout, stderr });
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
const detail = signal ? `signal ${signal}` : `code ${code}`;
|
|
193
|
+
reject(Object.assign(new Error(`${command} exited with ${detail}: ${stderr.slice(-2000)}`), {
|
|
194
|
+
killed: child.killed || signal != null,
|
|
195
|
+
code,
|
|
196
|
+
signal,
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Re-throw errors that represent the Activity being stopped (cancellation, Start-to-Close timeout, or a progress-stall
|
|
204
|
+
* kill) so they are not swallowed by rendition fallback handling. Genuine tool failures still return `null` upstream.
|
|
205
|
+
*/
|
|
206
|
+
export function rethrowIfActivityStopped(error) {
|
|
207
|
+
const commandTimedOut = typeof error === 'object' && error !== null && 'killed' in error && error.killed === true;
|
|
208
|
+
if (Context.current().cancellationSignal.aborted || commandTimedOut) {
|
|
209
|
+
throw error;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../src/activities/media/exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareAudio.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareAudio.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,SAAS,EACjB,MAAM,kBAAkB,CAAC;AAc1B,MAAM,WAAW,kBAAkB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACrE,IAAI,EAAE,cAAc,CAAC;CACxB;AA4BD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;CACrB;AA6HD;;GAEG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,kBAAkB,CAAC,CAiI7B"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
import { execFile as execFileCallback } from 'node:child_process';
|
|
2
1
|
import fs from 'node:fs';
|
|
3
2
|
import os from 'node:os';
|
|
4
3
|
import path from 'node:path';
|
|
5
|
-
import { promisify } from 'node:util';
|
|
6
4
|
import { log } from '@temporalio/activity';
|
|
7
5
|
import { RequestError } from '@vertesia/api-fetch-client';
|
|
8
6
|
import { AUDIO_RENDITION_NAME, ContentNature, } from '@vertesia/common';
|
|
9
7
|
import { setupActivity } from '../../dsl/setup/ActivityContext.js';
|
|
10
8
|
import { DocumentNotFoundError, InvalidContentTypeError } from '../../errors.js';
|
|
11
9
|
import { saveBlobToTempFile } from '../../utils/blobs.js';
|
|
12
|
-
|
|
10
|
+
import { execActivityFile, execActivityFileWithProgress, initializeActivityCommandDeadline, rethrowIfActivityStopped, } from './exec.js';
|
|
13
11
|
// Default configuration constants
|
|
14
12
|
const DEFAULT_AUDIO_BITRATE = '128k'; // Default audio bitrate for AAC encoding
|
|
15
|
-
const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10; // 10MB buffer for ffmpeg output
|
|
16
13
|
/**
|
|
17
14
|
* Extract comprehensive audio metadata using ffprobe
|
|
18
15
|
*/
|
|
19
16
|
async function getAudioMetadata(audioPath) {
|
|
20
17
|
try {
|
|
21
18
|
const args = ['-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', audioPath];
|
|
22
|
-
const { stdout } = await
|
|
19
|
+
const { stdout } = await execActivityFile('ffprobe', args);
|
|
23
20
|
const metadata = JSON.parse(stdout.toString());
|
|
24
21
|
const audioStream = metadata.streams.find((stream) => stream.codec_type === 'audio');
|
|
25
22
|
if (!audioStream) {
|
|
@@ -33,6 +30,7 @@ async function getAudioMetadata(audioPath) {
|
|
|
33
30
|
return { duration, codec, bitrate, sampleRate, channels };
|
|
34
31
|
}
|
|
35
32
|
catch (error) {
|
|
33
|
+
rethrowIfActivityStopped(error);
|
|
36
34
|
log.error(`Failed to get audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
37
35
|
throw new Error(`Failed to probe audio metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
38
36
|
}
|
|
@@ -57,7 +55,7 @@ async function generateAudioRendition(audioPath, outputDir, audioBitrate) {
|
|
|
57
55
|
];
|
|
58
56
|
log.info('Generating web audio rendition (AAC M4A)', { command: 'ffmpeg', args: command, audioBitrate });
|
|
59
57
|
try {
|
|
60
|
-
const { stderr } = await
|
|
58
|
+
const { stderr } = await execActivityFileWithProgress('ffmpeg', command);
|
|
61
59
|
const stderrText = stderr.toString();
|
|
62
60
|
if (stderrText && !stderrText.includes('frame=')) {
|
|
63
61
|
log.debug(`FFmpeg stderr for audio rendition: ${stderrText}`);
|
|
@@ -74,6 +72,7 @@ async function generateAudioRendition(audioPath, outputDir, audioBitrate) {
|
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
74
|
catch (error) {
|
|
75
|
+
rethrowIfActivityStopped(error);
|
|
77
76
|
log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
78
77
|
return null;
|
|
79
78
|
}
|
|
@@ -108,6 +107,7 @@ async function uploadAudioAsRendition(client, audioFile, renditionName, fileName
|
|
|
108
107
|
* Main activity: Prepare audio by extracting metadata and generating web rendition
|
|
109
108
|
*/
|
|
110
109
|
export async function prepareAudio(payload) {
|
|
110
|
+
initializeActivityCommandDeadline();
|
|
111
111
|
const { client, objectId, params } = await setupActivity(payload);
|
|
112
112
|
const audioBitrate = params.audioBitrate ?? DEFAULT_AUDIO_BITRATE;
|
|
113
113
|
log.info(`Preparing audio for ${objectId}`, { audioBitrate });
|
|
@@ -180,6 +180,7 @@ export async function prepareAudio(payload) {
|
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
182
|
catch (error) {
|
|
183
|
+
rethrowIfActivityStopped(error);
|
|
183
184
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
184
185
|
log.error(`Error preparing audio: ${errorMessage}`, { error });
|
|
185
186
|
// Re-throw known errors as-is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareAudio.js","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prepareAudio.js","sourceRoot":"","sources":["../../../src/activities/media/prepareAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EACH,oBAAoB,EAEpB,aAAa,GAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,gBAAgB,EAChB,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,GAC3B,MAAM,WAAW,CAAC;AAEnB,kCAAkC;AAClC,MAAM,qBAAqB,GAAG,MAAM,CAAC,CAAC,yCAAyC;AAmD/E;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC7C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAkB,CAAC;QAEhE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;QAErF,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,IAAI,SAAS,CAAC;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC;QAE3C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACvG,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACnH,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CACjC,SAAiB,EACjB,SAAiB,EACjB,YAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG;QACZ,IAAI,EAAE,mBAAmB;QACzB,IAAI;QACJ,SAAS;QACT,MAAM;QACN,KAAK,EAAE,YAAY;QACnB,MAAM;QACN,YAAY,EAAE,gBAAgB;QAC9B,WAAW;QACX,YAAY,EAAE,mBAAmB;QACjC,UAAU;KACb,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAEzG,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAErC,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACL,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACrB,MAAsB,EACtB,QAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,WAAmB;IAEnB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,GAAG,CAAC,IAAI,CAAC,oBAAoB,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACjC,MAAsB,EACtB,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,QAAgB,EAChB,IAAY;IAEZ,MAAM,WAAW,GAAG,cAAc,IAAI,UAAU,QAAQ,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEjF,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;SACjB;KACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,OAAwD;IAExD,iCAAiC,EAAE,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAqB,OAAO,CAAC,CAAC;IAEtF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,qBAAqB,CAAC;IAElE,GAAG,CAAC,IAAI,CAAC,uBAAuB,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAE9D,8BAA8B;IAC9B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC/E,GAAG,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACpD,MAAM,IAAI,qBAAqB,CAAC,YAAY,QAAQ,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,YAAY,QAAQ,gBAAgB,CAAC,CAAC;QAChD,MAAM,IAAI,qBAAqB,CAAC,YAAY,QAAQ,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,IACI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI;QACzB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EACpG,CAAC;QACC,GAAG,CAAC,KAAK,CAAC,YAAY,QAAQ,0BAA0B,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAC7G,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE/E,IAAI,CAAC;QACD,iCAAiC;QACjC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEnD,iDAAiD;QACjD,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAE3F,qCAAqC;QACrC,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC;QAExD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAC/C,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,IAAI,CACP,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,6DAA6D;QAC7D,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC;YACvE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe;YACtC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,aAAa,GAAkB;YACjC,IAAI,EAAE,aAAa,CAAC,KAAK;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU;YACV,eAAe,EAAE,cAAc;SAClC,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClC,QAAQ,EAAE,aAAa;SAC1B,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,EAAE;YAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,mBAAmB,EAAE,UAAU,CAAC,MAAM;SACzC,CAAC,CAAC;QAEH,OAAO;YACH,QAAQ;YACR,QAAQ,EAAE;gBACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B;YACD,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,SAAS;SACpB,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/D,8BAA8B;QAC9B,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YACrF,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,KAAK,YAAY,EAAE,CAAC,CAAC;IAC5E,CAAC;YAAS,CAAC;QACP,2BAA2B;QAC3B,MAAM,eAAe,GAAoB,EAAE,CAAC;QAE5C,IAAI,SAAS,EAAE,CAAC;YACZ,eAAe,CAAC,IAAI,CAChB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxC,GAAG,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAChB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1E,GAAG,CAAC,IAAI,CAAC,qCAAqC,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5E,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QAED,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC"}
|
|
@@ -4,7 +4,12 @@ export interface PrepareVideoParams {
|
|
|
4
4
|
thumbnailSize?: number;
|
|
5
5
|
posterSize?: number;
|
|
6
6
|
generateAudio?: boolean;
|
|
7
|
+
videoPreset?: VideoPreset;
|
|
8
|
+
skipTranscode?: boolean;
|
|
7
9
|
}
|
|
10
|
+
export type VideoPreset = 'medium' | 'fast' | 'veryfast' | 'ultrafast';
|
|
11
|
+
export declare function shouldTranscodeVideo(skipTranscode?: boolean): boolean;
|
|
12
|
+
export declare function resolveVideoPreset(preset: VideoPreset, attempt: number): VideoPreset;
|
|
8
13
|
export interface PrepareVideo extends DSLActivitySpec<PrepareVideoParams> {
|
|
9
14
|
name: 'prepareVideo';
|
|
10
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareVideo.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareVideo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prepareVideo.d.ts","sourceRoot":"","sources":["../../../src/activities/media/prepareVideo.ts"],"names":[],"mappings":"AAMA,OAAO,EAGH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EAEpB,KAAK,uBAAuB,EAG/B,MAAM,kBAAkB,CAAC;AA4B1B,MAAM,WAAW,kBAAkB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvE,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAErE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAQpF;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACrE,IAAI,EAAE,cAAc,CAAC;CACxB;AA8GD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,MAAM,EAAE,SAAS,CAAC;CACrB;AA6OD;;GAEG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAAC,kBAAkB,CAAC,CAmN7B"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { execFile as execFileCallback } from 'node:child_process';
|
|
2
1
|
import fs from 'node:fs';
|
|
3
2
|
import os from 'node:os';
|
|
4
3
|
import path from 'node:path';
|
|
5
|
-
import {
|
|
6
|
-
import { ApplicationFailure, log } from '@temporalio/activity';
|
|
4
|
+
import { ApplicationFailure, Context, log } from '@temporalio/activity';
|
|
7
5
|
import { RequestError } from '@vertesia/api-fetch-client';
|
|
8
6
|
import { AUDIO_RENDITION_NAME, ContentNature, POSTER_RENDITION_NAME, WEB_VIDEO_RENDITION_NAME, } from '@vertesia/common';
|
|
9
7
|
import { setupActivity } from '../../dsl/setup/ActivityContext.js';
|
|
10
8
|
import { DocumentNotFoundError, InvalidContentTypeError } from '../../errors.js';
|
|
11
9
|
import { saveBlobToTempFile } from '../../utils/blobs.js';
|
|
12
|
-
|
|
10
|
+
import { execActivityFile, execActivityFileWithProgress, initializeActivityCommandDeadline, rethrowIfActivityStopped, } from './exec.js';
|
|
13
11
|
// Default configuration constants
|
|
14
12
|
const DEFAULT_MAX_RESOLUTION = 1920; // Max resolution for video rendition (produces 1080p)
|
|
15
13
|
const DEFAULT_THUMBNAIL_SIZE = 256; // Thumbnail longest side in pixels
|
|
@@ -21,17 +19,27 @@ const POSTER_TIMESTAMP_RATIO = 0.05; // Extract poster at 5% of video duration
|
|
|
21
19
|
const POSTER_TIMESTAMP_MAX = 2; // Maximum poster timestamp in seconds
|
|
22
20
|
const MIN_SCREENSHOT_TIMESTAMP = 1; // Minimum timestamp for screenshots in seconds
|
|
23
21
|
// FFmpeg configuration constants
|
|
24
|
-
const FFMPEG_MAX_BUFFER = 1024 * 1024 * 10; // 10MB buffer for ffmpeg output
|
|
25
22
|
const VIDEO_CRF = '23'; // Constant Rate Factor for video quality (18-28, lower = better)
|
|
26
23
|
const AUDIO_BITRATE = '128k'; // Audio bitrate for AAC encoding
|
|
27
24
|
const JPEG_QUALITY = '2'; // JPEG quality for screenshots (1-31, lower = better)
|
|
25
|
+
export function shouldTranscodeVideo(skipTranscode) {
|
|
26
|
+
return skipTranscode !== true;
|
|
27
|
+
}
|
|
28
|
+
export function resolveVideoPreset(preset, attempt) {
|
|
29
|
+
if (preset === 'ultrafast') {
|
|
30
|
+
return preset;
|
|
31
|
+
}
|
|
32
|
+
const retryPresets = ['medium', 'fast', 'veryfast'];
|
|
33
|
+
const initialPresetIndex = retryPresets.indexOf(preset);
|
|
34
|
+
return retryPresets[Math.min(initialPresetIndex + attempt - 1, retryPresets.length - 1)];
|
|
35
|
+
}
|
|
28
36
|
/**
|
|
29
37
|
* Extract comprehensive video metadata using ffprobe
|
|
30
38
|
*/
|
|
31
39
|
async function getVideoMetadata(videoPath) {
|
|
32
40
|
try {
|
|
33
41
|
const args = ['-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', videoPath];
|
|
34
|
-
const { stdout } = await
|
|
42
|
+
const { stdout } = await execActivityFile('ffprobe', args);
|
|
35
43
|
const metadata = JSON.parse(stdout.toString());
|
|
36
44
|
const videoStream = metadata.streams.find((stream) => stream.codec_type === 'video');
|
|
37
45
|
if (!videoStream) {
|
|
@@ -54,6 +62,7 @@ async function getVideoMetadata(videoPath) {
|
|
|
54
62
|
return { duration, width, height, codec, bitrate, fps, hasAudio };
|
|
55
63
|
}
|
|
56
64
|
catch (error) {
|
|
65
|
+
rethrowIfActivityStopped(error);
|
|
57
66
|
log.error(`Failed to get video metadata: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
58
67
|
if (error instanceof ApplicationFailure) {
|
|
59
68
|
throw error;
|
|
@@ -89,7 +98,7 @@ function calculateScaledDimensions(width, height, maxResolution) {
|
|
|
89
98
|
* Generate a video rendition with resolution limited to maxResolution (e.g., 1080p)
|
|
90
99
|
* Uses H.264 codec for broad compatibility
|
|
91
100
|
*/
|
|
92
|
-
async function generateRenditionWithDimensions(videoPath, outputDir, metadata, maxResolution) {
|
|
101
|
+
async function generateRenditionWithDimensions(videoPath, outputDir, metadata, maxResolution, videoPreset) {
|
|
93
102
|
const outputFile = path.join(outputDir, `rendition_${maxResolution}p.mp4`);
|
|
94
103
|
// Calculate scaled dimensions
|
|
95
104
|
const dimensions = calculateScaledDimensions(metadata.width, metadata.height, maxResolution);
|
|
@@ -106,7 +115,7 @@ async function generateRenditionWithDimensions(videoPath, outputDir, metadata, m
|
|
|
106
115
|
'-c:v',
|
|
107
116
|
'libx264', // H.264 codec
|
|
108
117
|
'-preset',
|
|
109
|
-
|
|
118
|
+
videoPreset,
|
|
110
119
|
'-crf',
|
|
111
120
|
VIDEO_CRF, // Constant Rate Factor (18-28, lower = better quality)
|
|
112
121
|
'-pix_fmt',
|
|
@@ -123,7 +132,7 @@ async function generateRenditionWithDimensions(videoPath, outputDir, metadata, m
|
|
|
123
132
|
];
|
|
124
133
|
log.info(`Generating ${maxResolution}p video rendition`, { command: 'ffmpeg', args: command });
|
|
125
134
|
try {
|
|
126
|
-
const { stderr } = await
|
|
135
|
+
const { stderr } = await execActivityFileWithProgress('ffmpeg', command);
|
|
127
136
|
const stderrText = stderr.toString();
|
|
128
137
|
if (stderrText && !stderrText.includes('frame=')) {
|
|
129
138
|
log.debug(`FFmpeg stderr for video rendition: ${stderrText}`);
|
|
@@ -144,6 +153,7 @@ async function generateRenditionWithDimensions(videoPath, outputDir, metadata, m
|
|
|
144
153
|
}
|
|
145
154
|
}
|
|
146
155
|
catch (error) {
|
|
156
|
+
rethrowIfActivityStopped(error);
|
|
147
157
|
log.error(`Failed to generate video rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
148
158
|
return null;
|
|
149
159
|
}
|
|
@@ -166,7 +176,7 @@ async function generateAudioRendition(videoPath, outputDir) {
|
|
|
166
176
|
];
|
|
167
177
|
log.info('Generating audio-only rendition', { command: 'ffmpeg', args: command });
|
|
168
178
|
try {
|
|
169
|
-
const { stderr } = await
|
|
179
|
+
const { stderr } = await execActivityFileWithProgress('ffmpeg', command);
|
|
170
180
|
const stderrText = stderr.toString();
|
|
171
181
|
if (stderrText && !stderrText.includes('frame=')) {
|
|
172
182
|
log.debug(`FFmpeg stderr for audio rendition: ${stderrText}`);
|
|
@@ -183,6 +193,7 @@ async function generateAudioRendition(videoPath, outputDir) {
|
|
|
183
193
|
}
|
|
184
194
|
}
|
|
185
195
|
catch (error) {
|
|
196
|
+
rethrowIfActivityStopped(error);
|
|
186
197
|
log.error(`Failed to generate audio rendition: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
187
198
|
return null;
|
|
188
199
|
}
|
|
@@ -211,7 +222,7 @@ async function generateScreenshot(videoPath, outputDir, timestamp, maxSize, name
|
|
|
211
222
|
];
|
|
212
223
|
log.info(`Generating ${name} at ${timestamp}s`, { command: 'ffmpeg', args: command });
|
|
213
224
|
try {
|
|
214
|
-
const { stderr } = await
|
|
225
|
+
const { stderr } = await execActivityFile('ffmpeg', command);
|
|
215
226
|
const stderrText = stderr.toString();
|
|
216
227
|
if (stderrText && !stderrText.includes('frame=')) {
|
|
217
228
|
log.debug(`FFmpeg stderr for ${name}: ${stderrText}`);
|
|
@@ -232,6 +243,7 @@ async function generateScreenshot(videoPath, outputDir, timestamp, maxSize, name
|
|
|
232
243
|
}
|
|
233
244
|
}
|
|
234
245
|
catch (error) {
|
|
246
|
+
rethrowIfActivityStopped(error);
|
|
235
247
|
log.error(`Failed to generate ${name}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
236
248
|
return null;
|
|
237
249
|
}
|
|
@@ -270,15 +282,20 @@ async function uploadMediaAsRendition(client, result, renditionName, fileName, m
|
|
|
270
282
|
* Main activity: Prepare video by extracting metadata and generating renditions
|
|
271
283
|
*/
|
|
272
284
|
export async function prepareVideo(payload) {
|
|
285
|
+
initializeActivityCommandDeadline();
|
|
273
286
|
const { client, objectId, params } = await setupActivity(payload);
|
|
274
287
|
const maxResolution = params.maxResolution ?? DEFAULT_MAX_RESOLUTION;
|
|
275
288
|
const thumbnailSize = params.thumbnailSize ?? DEFAULT_THUMBNAIL_SIZE;
|
|
276
289
|
const posterSize = params.posterSize ?? DEFAULT_POSTER_SIZE;
|
|
277
290
|
const generateAudio = params.generateAudio ?? DEFAULT_GENERATE_AUDIO;
|
|
291
|
+
const skipTranscode = params.skipTranscode ?? false;
|
|
292
|
+
const videoPreset = resolveVideoPreset(params.videoPreset ?? 'medium', Context.current().info.attempt);
|
|
278
293
|
log.info(`Preparing video for ${objectId}`, {
|
|
279
294
|
maxResolution,
|
|
280
295
|
thumbnailSize,
|
|
281
296
|
posterSize,
|
|
297
|
+
skipTranscode,
|
|
298
|
+
videoPreset,
|
|
282
299
|
});
|
|
283
300
|
// Retrieve the content object
|
|
284
301
|
const inputObject = await client.objects.retrieve(objectId).catch((err) => {
|
|
@@ -304,8 +321,14 @@ export async function prepareVideo(payload) {
|
|
|
304
321
|
log.info('Extracting video metadata');
|
|
305
322
|
const metadata = await getVideoMetadata(videoFile);
|
|
306
323
|
// Step 2: Generate video rendition
|
|
307
|
-
|
|
308
|
-
|
|
324
|
+
let renditionResult = null;
|
|
325
|
+
if (!shouldTranscodeVideo(skipTranscode)) {
|
|
326
|
+
log.info('Skipping video rendition transcode by configuration');
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
log.info('Generating video rendition');
|
|
330
|
+
renditionResult = await generateRenditionWithDimensions(videoFile, tempOutputDir, metadata, maxResolution, videoPreset);
|
|
331
|
+
}
|
|
309
332
|
// Step 3 & 4: Generate thumbnail and poster in parallel
|
|
310
333
|
log.info('Generating thumbnail and poster');
|
|
311
334
|
const thumbnailTimestamp = Math.max(metadata.duration * THUMBNAIL_TIMESTAMP_RATIO, MIN_SCREENSHOT_TIMESTAMP);
|
|
@@ -386,6 +409,7 @@ export async function prepareVideo(payload) {
|
|
|
386
409
|
};
|
|
387
410
|
}
|
|
388
411
|
catch (error) {
|
|
412
|
+
rethrowIfActivityStopped(error);
|
|
389
413
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
390
414
|
log.error(`Error preparing video: ${errorMessage}`, { error });
|
|
391
415
|
// Re-throw known errors as-is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareVideo.js","sourceRoot":"","sources":["../../../src/activities/media/prepareVideo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prepareVideo.js","sourceRoot":"","sources":["../../../src/activities/media/prepareVideo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probeMediaStreams.d.ts","sourceRoot":"","sources":["../../../src/activities/media/probeMediaStreams.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"probeMediaStreams.d.ts","sourceRoot":"","sources":["../../../src/activities/media/probeMediaStreams.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOrF,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE5D,MAAM,WAAW,iBAAkB,SAAQ,eAAe,CAAC,uBAAuB,CAAC;IAC/E,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAUD,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,2BAA2B,CAAC,uBAAuB,CAAC,GAC9D,OAAO,CAAC,uBAAuB,CAAC,CAoDlC"}
|