mirror of
https://gitlab.rlp.net/proj-wise2526-video2document/video2document.git
synced 2026-06-16 02:11:52 +02:00
feat(S3-06): integrate orchestrator in main.js and complete assembly module
This commit is contained in:
@@ -33,6 +33,73 @@ console.log(`${mapFunctions.size} Function modules loaded`);
|
||||
console.log("--------------------------------------------------------------------------------");
|
||||
|
||||
|
||||
// ======================== S3-06 : PIPELINE ORCHESTRATOR ========================
|
||||
// Get audioEvents from ffmpegExtractor module
|
||||
const ffmpegExtractor = mapFunctions.get("extraction-video-to-audio");
|
||||
const audioEvents = ffmpegExtractor.audioEvents;
|
||||
|
||||
console.log('🎯 [S3-06] Pipeline Orchestrator ready. Listening for audio_ready events...');
|
||||
|
||||
audioEvents.on('audio_ready', async (data) => {
|
||||
const { audioPath, sessionId } = data;
|
||||
|
||||
console.log(`✅ [Pipeline] Audio ready: ${sessionId}`);
|
||||
console.log(`📁 Audio path: ${audioPath}`);
|
||||
|
||||
// Send status to UI
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('pipeline-status', {
|
||||
sessionId,
|
||||
status: 'audio_ready',
|
||||
message: 'Audio bereit'
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
console.log(`🚀 [Pipeline] Starting transcription: ${sessionId}`);
|
||||
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('pipeline-status', {
|
||||
sessionId,
|
||||
status: 'transcription_started',
|
||||
message: 'Transkription gestartet'
|
||||
});
|
||||
}
|
||||
|
||||
// Get transcription module
|
||||
const assemblyModule = mapFunctions.get("assembly");
|
||||
|
||||
if (assemblyModule && assemblyModule.run) {
|
||||
await assemblyModule.run(audioPath);
|
||||
} else {
|
||||
console.warn('⚠️ Assembly module not found or missing run function');
|
||||
}
|
||||
|
||||
console.log(`✅ [Pipeline] Transcription completed: ${sessionId}`);
|
||||
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('pipeline-status', {
|
||||
sessionId,
|
||||
status: 'transcription_completed',
|
||||
message: 'Transkription abgeschlossen'
|
||||
});
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error(`❌ [Pipeline] Transcription failed: ${sessionId}`);
|
||||
console.error(` Error:`, error.message);
|
||||
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('pipeline-status', {
|
||||
sessionId,
|
||||
status: 'failed_transcription_start',
|
||||
message: 'Fehler beim Transkriptionsstart',
|
||||
error: error.message
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
// ===============================================================================
|
||||
|
||||
|
||||
// --------------------------------------------------------- CLI COMMANDS --------------------------------------------------------- //
|
||||
|
||||
Reference in New Issue
Block a user