Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечение скриншотов из видео...
 
 автор: Sobachka   (30.04.2007 в 22:35)   письмо автору
 
 

Вообщем такое дело,надо сделать некий превью для видео файлов...
Знаю что библиатеками пиара это возможно но я долго искал но не нашёл...
может кто делал такое,поделитесь опытом :))

   
 
 автор: Unkind   (01.05.2007 в 01:17)   письмо автору
 
   для: Sobachka   (30.04.2007 в 22:35)
 

Походу все-таки готового пакета на PEAR нет :) Придется копать в сторону других программ, не связанных с PHP. Например: http://www.mplayerhq.hu/DOCS/HTML-single/ru/MPlayer.html

   
 
 автор: Nemesis   (01.05.2007 в 18:35)   письмо автору
 
   для: Sobachka   (30.04.2007 в 22:35)
 

Автор статьи: defuzz.ru && defuzzcms.ru


План

* установка ffmpeg-php;
* его использование.

1. Установка ffmpeg-php.
[дом.страница][его API][скачать]
Для начала проверим - а вдруг установлен!?
PHP код :
<?php
phpinfo();
?>
Ищем на странице "ffmpeg" - если находит, то всё отлично.

1.1. Установка под FreeBSD.
Цитата:
root@hostman# cd /usr/ports/multimedia/ffmpeg
root@hostman# make install clean
#пошло ставицца
root@hostman# cd /usr/ports/graphics/php4-ffmpeg
root@hostman# make install clean
#пошло ставицца
#все. потом перезапускается апач
root@hostman# apachectl restart
Можно переходить ко второму шагу.

1.2. Установка под Linux.
Через менеджер пакетов, если они есть в репозитории.

2. Использование ffmpeg-php.
Полистав API отпадают все лишние вопросы по поводу вывода какой-либо ещё дополнительной информации

<?php
//получаем номер кадра для скриншота
$frame intval($_GET['frame']);
//засекаем unixtime для уникального названия картинки
$time  time();
//заюзаем непосредственно сам экстеншн
$movie = new ffmpeg_movie($_SERVER['DOCUMENT_ROOT'].'/experiments/video/nagitare.wmv');
//получаем длительность ролика в секундах
$duration $movie->getDuration();
//если он длится больше минуты
if ($duration>60){
    
//получаем путем округления "вниз" результата от деления длятельности на 60 секунд длительность ролика в минутах
    
$minutes floor($movie->getDuration()/60);
    
//чтобы получить секунды просто смотрим остаток от деления на 60
    
$seconds $movie->getDuration()%60;
}
//ну просто вывели сколько он длится
echo 'File: <font color="red">'.$_SERVER['DOCUMENT_ROOT'].'/experiments/video/nagitare.wmv</font> длится '.$duration.' секунд!<br />';
//определили абсолютный путь до картинки, в которую будет сохранен наш скриншот
$img $_SERVER['DOCUMENT_ROOT'].'/experiments/video/'.$time.'_'.$frame.'.jpg';
//заюзаем другой класс входящий в экстеншн ffmpeg-php. $frame - номер кадра, не забываем
$ff_frame $movie->getFrame($frame);
//если такой кадр есть
if ($ff_frame) {
    
//$ff_frame-toGDImege возвращает truecolor GD картинку
    
$gd_image $ff_frame->toGDImage();
    
//и если оно её вернуло
    
if ($gd_image) {
        
//создаем png или imagejpeg(); imagegif(); картинки
        
imagepng($gd_image$img);
        
//очищаем буфер
        
imagedestroy($gd_image);
    }
}
//выводим длительность ролика в минутах и секундах
echo $minutes.' мин '.$seconds.' секунд.<br />';
//ну и показываем только что сгенерированный скриншот :-)
echo '<img src="'.$time.'_'.$frame.'.jpg" alt="Скриншот"/>';
?> 

http://www.nulled.ws/showthread.php?t=9005 - оригинал.
П.С. Можно конечно для этого форума сделать нормальные функции вставки бб-тегов,не солидно как-то и не удобно такие юзать.

   
 
 автор: Unkind   (01.05.2007 в 18:43)   письмо автору
 
   для: Nemesis   (01.05.2007 в 18:35)
 

Интересно. Позже попробую.

   
 
 автор: Sobachka   (02.05.2007 в 05:47)   письмо автору
 
   для: Nemesis   (01.05.2007 в 18:35)
 

спасибо...
про ffmpeg я слышал...
но сам модуль найти не смог...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования