akshonin 0 Опубликовано: 7 апреля 2015 Рассказать Опубликовано: 7 апреля 2015 Есть 500 видео файлов mp4 на локальном компе. Необходимо получить для каждого видео картинку-превьюшку из середины ролика с одноименным названием. Как это сделать быстро и массово? Цитата Ссылка на сообщение Поделиться на других сайтах
akshonin 0 Опубликовано: 12 апреля 2015 Рассказать Опубликовано: 12 апреля 2015 Автор возможно кому будет интересно, основа, к ней накручивается обходчик //$result_video = "http://suchek.ru/_test/test.avi"; $gt = time( ); echo "Файл: ". $gt .".jpeg<br />"; $movie = new ffmpeg_movie($result_video, 1); $w = ($movie->getFrameWidth()); $h = ($movie->getFrameHeight()); $time = ceil ($movie->getDuration()); $min = floor ($time/60); $sek = $time - ($min * 60); if ($sek <10) $nul = "0"; echo "Время: ". ceil ($movie->getDuration()) ." секунд<br />"; echo "Время: ". $min .":". $nul. $sek ." <br />"; echo "Число кадров: ". $movie->getFrameCount() ."<br />"; echo "Частота кадров: ". ceil ($movie->getFrameRate()) ." в секунду<br />"; echo "Ширина: ". $w ." px<br />"; echo "Высота: ". $h ." px<br />"; echo "Скорость потока: ". $movie->getBitRate() ." бит в секунду<br />"; echo "Видео кодек: ". $movie->getVideoCodec() ."<br />"; // JPG http://php.ru/forum/viewtopic.php?t=43621 $width = 64; $height = 48; //$result_video = $config['home_url'].'uploads/videos/'.$user_id.'/'.$file_rename.$res_type; //$result_video = "http://suchek.mcdir.ru/176720487a/OKVrT3Fc8kUfQ1Fm.mp4"; // $ffmpeg = '/usr/bin/ffmpeg'; // кадр который будем выхватывать (НЕ РАБОТАЕТ) $frame = 10; // Instantiates the class ffmpeg_movie so we can get the information you want the video $movie = new ffmpeg_movie($result_video); $image = $movie->getFrame($frame); //Need to create a GD image ffmpeg-php to work on it // $image = imagecreatetruecolor($width, $height); //Create an instance of the frame with the class ffmpeg_frame $frame = new ffmpeg_frame($Image); //Choose the frame you want to save as jpeg // echo $thumbnailOf = $movie->getFrameRate() * 5; $thumbnailOf = (int) round($movie->getFrameCount() / 10); // время (в долях) с которого делается кадр //Receives the frame $frameImg = $movie->GetFrame($thumbnailOf); // Resizes the frame to 200, 100 // $frameImg-> resize(180, 140); // $frameImgOr-> resize(); //Convert to a GD image $image = $frameImg->toGDImage(); //Save to disk. imagejpeg($image, 'videos/'.$gt.'.jpeg'); // Освобождаем память imagedestroy($image); echo "Затраченое время: ". (time( )-$gt)." секунд"; Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.