Modifier la création de vidéos pour utiliser des promesses et gérer les erreurs lors de l'exécution de ffmpeg

This commit is contained in:
2025-03-13 10:06:48 +01:00
parent 4bda54b529
commit 2e552be9db

View File

@@ -64,14 +64,19 @@ async function createVideoWithList(projectId, pathList, duration, videoId) {
// Commande ffmpeg pour créer la vidéo
const ffmpegCommand = `ffmpeg -r ${frameRate} -f concat -safe 0 -i ${tempFile} -vsync vfr -pix_fmt yuv420p ${outputVideo}`;
console.log('Running ffmpeg command:', ffmpegCommand);
execSync(ffmpegCommand);
console.log('Video created successfully:', outputVideo);
execSync(ffmpegCommand).then(() => {
console.log('Video created successfully:', outputVideo);
// Mettre à jour le statut de la vidéo à "completed"
const updateStatusQuery = 'UPDATE public.videos SET status = $2 WHERE id = $1 RETURNING *';
const updateStatusValues = [videoId, 1]; // 1 pour le statut "completed"
const updateStatusRes = await db.query(updateStatusQuery, updateStatusValues);
console.log('Video status updated to completed:', updateStatusRes.rows[0]);
// Mettre à jour le statut de la vidéo à "completed"
const updateStatusQuery = 'UPDATE public.videos SET status = $2 WHERE id = $1 RETURNING *';
const updateStatusValues = [videoId, 1]; // 1 pour le statut "completed"
const updateStatusRes = db.query(updateStatusQuery, updateStatusValues);
console.log('Video status updated to completed:', updateStatusRes.rows[0]);
}
).catch((error) => {
console.error('Error creating video:', error);
serverError.sendError('Error creating video', err=error);
});
return outputVideo;
} catch (error) {