Извлечь фото из видео!

Руслан Исмаилов
На сайте с 30.03.2007
Offline
198
3753

Добрый день.

Можно ли из видео получить фотку? Если да то каким скриптом или каким образом?

Работаю в DLEшке, и нужно для анонса вставлять фото из видео.

siv1987
На сайте с 02.04.2009
Offline
427
#1

php imagemagik video thumbnail

Andron_buton
На сайте с 19.07.2007
Offline
270
#2
musulman:
Добрый день.

Можно ли из видео получить фотку? Если да то каким скриптом или каким образом?
Работаю в DLEшке, и нужно для анонса вставлять фото из видео.

А видео само рядом, или аля ютуб? Для первого варианта php-ffmpeg

дани мапов
На сайте с 06.09.2012
Offline
204
#3
musulman:
Добрый день.

Можно ли из видео получить фотку? Если да то каким скриптом или каким образом?
Работаю в DLEшке, и нужно для анонса вставлять фото из видео.

http://www.cyberforum.ru/php/thread106918.html Где-то в середине указывается как получить кадр из видео.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
Руслан Исмаилов
На сайте с 30.03.2007
Offline
198
#4
А видео само рядом, или аля ютуб? Для первого варианта php-ffmpeg

с ютуба берется.

http://www.cyberforum.ru/php/thread106918.html Где-то в середине указывается как получить кадр из видео.

сейчас посмотрим.

---------- Добавлено 26.03.2013 в 15:12 ----------

Кто подскажет как это:

<?php
// получаем продолжительность и размеры видео
$movie = new ffmpeg_movie("/www/1.avi");
echo "Продолжительность фильма: ";
// так как мы получаем секунды надо нам их перевести в человечный вид ЧЧ:ММ:CC
// для этого мы и используем функцию gmdate я думаю фильмов длиной по несколько дней у вас нет =)
echo "<b>".gmdate("H:i:s",$movie->getDuration())."</b><br />";
// теперь выведем размерв нашего фильма
echo "Размеры фильма: ";
echo "<b>".$movie->getFrameWidth()." x ".$movie->getFrameHeight()."</b>";
?>

2. Получаем кадр.

<?php
//получаем скриншот по средствам php ffmpeg
// путь до файла
$file = "/www/1.avi";
// кадр который будем выхватывать
$frame = 150;
// получаем кадр
$movie = new ffmpeg_movie($file);
$image = $movie->getFrame($frame);
$show_img = $image->toGDImage();
// выводим его
header("Content-type: image/jpeg");
imagejpeg($show_img);
imagedestroy($show_img);
?>
3. Получаем и редактируем кадр.
<?php
// получаем скриншот по средствам php ffmpeg и уменьшаем его
// путь до файла
$file = "/www/1.avi";
// кадр который будем выхватывать
$frame = 150;
// максимальный размер по высоте
$max_width = 150;
// получаем кадр в gd
$movie = new ffmpeg_movie($file);
$image = $movie->getFrame($frame);
$show_img = $image->toGDImage();
// редактируем то что в gd
$new_image = new ffmpeg_frame($show_img);
//вычисляем старые значения ширины и высоты
$old_width = $new_image->getWidth();
$old_heighgt = $new_image->getHeight();
// соотношение сторон
$mov_ratio = $old_width/$old_heighgt;
if($old_width > $max_width){
$new_width = $max_width;
}
// задаём новые параметры
$new_height = $new_width / $mov_ratio;
// изменяем размер
$new_image->resize($new_width, $new_height);
$new_show_img = $new_image->toGDImage();
// выводим его
header("Content-type: image/jpeg");
imagejpeg($new_show_img);
imagedestroy($new_show_img);
?>

4. Создаём анимированный GIF.

<?php
// создаём анимированый гиф
// путь до файла
$file = "/www/1.avi";
// поехали =)
$movie = new ffmpeg_movie($file);
// создаём анимацию
$gif=new ffmpeg_animated_gif("/www/primer.gif",100 ,100 ,24);
for ($frame = 150; $frame <= 200; $frame++) {
$image = $movie->getFrame($frame);
$gif->addFrame($image);
}
?>

Как это применить в дле? Я стандартно загружаю видео в краткую или полную новость, теперь как вытащить фотку или путь от фото.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий