import * as fs from 'fs'; import * as path from 'path'; import * as ffmpeg from 'fluent-ffmpeg'; // Configuración del video const videoDuration = 120; // 2 minutos const fps = 30; const resolution = '1080p'; // Crear el directorio de salida const outputDir = 'output'; if (!fs.existsSync(outputDir)) { fs.mkdirSync(outputDir); } // Crear el archivo de video const videoFile = path.join(outputDir, 'migracion-en-espana.mp4'); const videoStream = ffmpeg() .input('intro.mp4') // Archivo de intro .input('seccion1.mp4') // Archivo de sección 1 .input('seccion2.mp4') // Archivo de sección 2 .input('seccion3.mp4') // Archivo de sección 3 .input('seccion4.mp4') // Archivo de sección 4 .input('conclusion.mp4') // Archivo de conclusión .concat() .output(videoFile) .videoCodec('libx264') .audioCodec('aac') .fps(fps) .resolution(resolution) .size('1920x1080') .autopad(true) .autocrop(true) .on('end', () => { console.log('Video creado con éxito'); }) .on('error', (err) => { console.error('Error al crear el video:', err); }) .run(); // Crear los archivos de audio const audioFile = path.join(outputDir, 'migracion-en-espana.aac'); const audioStream = ffmpeg() .input('voz-en-off.mp3') // Archivo de voz en off .output(audioFile) .audioCodec('aac') .on('end', () => { console.log('Audio creado con éxito'); }) .on('error', (err) => { console.error('Error al crear el audio:', err); }) .run(); // Crear los archivos de imágenes const imageFiles = [ 'intro.jpg', 'seccion1.jpg', 'seccion2.jpg', 'seccion3.jpg', 'seccion4.jpg', 'conclusion.jpg', ]; imageFiles.forEach((imageFile) => { const inputFile = path.join('input', imageFile); const outputFile = path.join(outputDir, imageFile); fs.copyFileSync(inputFile, outputFile); }); // Crear los archivos de gráficas y estadísticas const graphicFiles = [ 'grafica1.png', 'grafica2.png', 'grafica3.png', ]; graphicFiles.forEach((graphicFile) => { const inputFile = path.join('input', graphicFile); const outputFile = path.join(outputDir, graphicFile); fs.copyFileSync(inputFile, outputFile); }); With Dream Machine AI

More Video