[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сделать превью картинки к видео файлу
санёк
сообственно сабж - нужно сделать превью-картинки к видео файлам, типо как на ютубе.. нужен ли для этого специальный софт? или можно отделатся специальным классом/скриптом..



Спустя 33 минуты, 50 секунд (19.12.2011 - 01:09) Nikitian написал(а):
ffmpeg -i /home/username/movie.avi -an -ss 00:20:14 -r 1 -vframes 24 -s 320X240 -y -f mjpeg /home/username/screenshot-pct.jpg

Разумеется, ffmpeg должен быть установлен

Спустя 35 минут, 10 секунд (19.12.2011 - 01:44) Guest написал(а):
спасиб! но можно чуть подробнее? запускать надо из unix терминала? как сделать чтобы это было автоматизировано при загрузке видео файла ?

Спустя 2 минуты, 12 секунд (19.12.2011 - 01:47) Игорь_Vasinsky написал(а):
неуверен, может bash, а может system()

Спустя 1 минута, 40 секунд (19.12.2011 - 01:48) Nikitian написал(а):
Можно чере system(), можно через обратные кавычки, можно 100500 вариантов придумать smile.gif

Спустя 5 минут, 15 секунд (19.12.2011 - 01:54) Guest написал(а):
я совсем не знаком с unix'ом, но как связан терминал и скрипт загрузки видеофайла? ) и вообще как будет запускатся этот код?

Спустя 9 минут, 25 секунд (19.12.2011 - 02:03) Игорь_Vasinsky написал(а):
сначала файл копируется, а потом уже запускается скрипт

Спустя 8 минут, 30 секунд (19.12.2011 - 02:11) Nikitian написал(а):

<?php
$cmd = "ffmpeg -i /home/username/movie.avi -an -ss 00:20:14 -r 1 -vframes 24 -s 320X240 -y -f mjpeg /home/username/screenshot-pct.jpg";
system($cmd);
//или так: exec($cmd);
//или так: passthru($cmd);
//или так: pcntl_exec($cmd);//Здесь возможно придётся аргументы разбить в дополнительный параметр
//или так: shell_exec($cmd);
//или так:`$cmd`;



Легенда:
/home/username/movie.avi - путь к видеофайлу
/home/username/screenshot-pct.jpg - путь для скриншота
00:20:14 - время, с которого будет снят скриншот. По опыту, могу порекомендовать сперва вычислять общую продолжительность ролика, т.к. первые и последние секунды видео, как правило, - переходные тёмные сцены.
320X240 - Размер скриншота.

Чтобы это всё работало, должен быть установлен ffmpeg, он должен быть доступен пользователю php или apache для запуска, директория /home/username/ должна бытьдоступна для записи для записи туда скриншота, файл /home/username/movie.avi должен быть доступен для чтения всё тому же пользователю веб-сервера.
В php должно быть не запрещено выполнять комманды.

Спустя 9 часов, 15 минут, 28 секунд (19.12.2011 - 11:27) Guest написал(а):
спасибо за подробности, честно не знал что из php можно вызвать терминал unix..

Спустя 1 минута, 42 секунды (19.12.2011 - 11:29) Игорь_Vasinsky написал(а):
а вот можно tongue.gif тока не вызвать терминал - а использовать команды ОС wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.