Estoy tratando de generar miniaturas de puntos aleatorios en una película usando la extensión FFMPEG y FFMPEG-PHP.Generando miniaturas aleatorias con PHP + FFMPEG
Mi secuencia de comandos funciona bien ... sin embargo, tarda 20 minutos para generar 5-10 miniaturas !!
La secuencia de comandos funciona mediante la generación de números aleatorios que se utilizan como números de cuadros más adelante. Todos los números generados están dentro del recuento de cuadros de películas.
¿Puedes averiguar por qué este script tarda unos 20 minutos en completarse? Si no, ¿una mejor solución?
<?php
//Dont' timeout
set_time_limit(0);
//Load the file (This can be any file - still takes ages)
$mov = new ffmpeg_movie('1486460.mp4');
//Get the total frames within the movie
$total_frames = $mov->getFrameCount();
//Loop 5-10 times to generate random frames 5-10 times
for ($i = 1; $i <= 5;) {
// Generate a number within 200 and the total number of frames.
$frame = mt_rand(200,$total_frames);
$getframe = $mov->getFrame($frame);
// Check if the frame exists within the movie
// If it does, place the frame number inside an array and break the current loop
if($getframe){
$frames[$frame] = $getframe ;
$i++;
}
}
//For each frame found generate a thumbnail
foreach ($frames as $key => $getframe) {
$gd_image = $getframe->toGDImage();
imagejpeg($gd_image, "images/shot_".$key.'.jpeg');
imagedestroy($gd_image);
echo $key.'<br/>';
}
?>
¿El script DEBERÍA estar generando números de cuadro válidos? ¿Algo dentro de START - END debe ser un número de fotograma válido? ¡Sin embargo, el ciclo lleva años!
30 minutos? ¿Que? Convertiría 1TB de video. –