Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ffmpeg и php
Форумы портала PHP.SU » » Вопросы новичков » ffmpeg и php

Страниц (1): [1]
 

1. Айратиус - 11 Мая, 2015 - 13:49:55 - перейти к сообщению
Всем привет.
Вырезаю кадр из видео таким образом

PHP:
скопировать код в буфер обмена
  1. $mp4='video.mp4';
  2. $time=104;
  3. $sekunda=$time/10;
  4. $sekunda=(int)$sekunda; //10
  5. $k=1;
  6. for($i=$sekunda; $i<$time; $i=$i+$sekunda)
  7. {      
  8.         exec ('ffmpeg -ss '.$i.'   -i '.$mp4.'      -f image2 -vframes 1       kadr/'.$k.'.png');
  9.         $k++;
  10. }


Получаю 10 кадров. в итоге все работает в цикле. Однако это долго и много ресурсов жрет. Есть ли способ без цикла воспользоваться?

например уже в exec указать сразу что надо брать кадр в каждых 10 секундах?
и сохранять картинки как то так

PHP:
скопировать код в буфер обмена
  1. exec ('ffmpeg -ss '.$i.'   -i '.$mp4.'      -f image2 -vframes 1       kadr/%05d.png');
2. KingStar - 11 Мая, 2015 - 23:21:04 - перейти к сообщению
цикл не причем, ресурсы жрет именно exec

 

Powered by ExBB FM 1.0 RC1