|
|
|
| Вообщем такое дело,надо сделать некий превью для видео файлов...
Знаю что библиатеками пиара это возможно но я долго искал но не нашёл...
может кто делал такое,поделитесь опытом :)) | |
|
|
|
|
|
|
|
для: Sobachka
(30.04.2007 в 22:35)
| | Походу все-таки готового пакета на PEAR нет :) Придется копать в сторону других программ, не связанных с PHP. Например: http://www.mplayerhq.hu/DOCS/HTML-single/ru/MPlayer.html | |
|
|
|
|
|
|
|
для: 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 - оригинал.
П.С. Можно конечно для этого форума сделать нормальные функции вставки бб-тегов,не солидно как-то и не удобно такие юзать. | |
|
|
|
|
|
|
|
для: Nemesis
(01.05.2007 в 18:35)
| | Интересно. Позже попробую. | |
|
|
|
|
|
|
|
для: Nemesis
(01.05.2007 в 18:35)
| | спасибо...
про ffmpeg я слышал...
но сам модуль найти не смог... | |
|
|
|