Спустя 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 вариантов придумать
Спустя 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 написал(а):
а вот можно тока не вызвать терминал - а использовать команды ОС