服务器录屏1

This commit is contained in:
2026-06-02 02:49:47 +08:00
parent 66d6f92d1e
commit 59fc4be5cc
7 changed files with 248 additions and 27 deletions

View File

@@ -1,6 +1,7 @@
import { spawn } from 'child_process';
import { v4 as uuid } from 'uuid';
import {
RecordingPerson,
ServerTrackRecordingFile,
ServerTrackRecordingTarget,
createComposedRecordingTarget,
@@ -25,6 +26,8 @@ export type RecordingCompositionJob = {
failedAt?: string;
error?: string;
inputFiles: string[];
host?: RecordingPerson;
participants?: RecordingPerson[];
deletedInputFiles?: string[];
output?: {
meetingId: string;
@@ -41,6 +44,8 @@ type StartCompositionInput = {
recordingId: string;
layout?: string;
format?: string;
host?: RecordingPerson;
participants?: RecordingPerson[];
};
type CompositionInputSets = {
@@ -267,7 +272,9 @@ async function runRecordingCompositionJob(job: RecordingCompositionJob): Promise
recordingId: job.recordingId,
inputs: compositionInputs,
layout: job.layout,
format: job.format
format: job.format,
host: job.host,
participants: job.participants
});
const deletedInputFiles = deleteServerTrackRecordingFiles(compositionInputs);
@@ -301,7 +308,9 @@ export function startRecordingCompositionJob(input: StartCompositionInput): Reco
format: normalizeFormat(input.format),
createdAt: timestamp,
updatedAt: timestamp,
inputFiles: inputSets.videoInputs.concat(inputSets.audioInputs).map((file) => file.filename)
inputFiles: inputSets.videoInputs.concat(inputSets.audioInputs).map((file) => file.filename),
host: input.host,
participants: input.participants
};
jobs.set(job.id, job);
runRecordingCompositionJob(job);