2014-01-22 3 views
0

Я пытаюсь реализовать https://github.com/PHP-FFMpeg/PHP-FFMpeg PHP-FFMpeg предпосылки

Я скопировал папку Src/FFmpeg моей включает папку и убедился, что мой автозагрузчика знает, где найти все.

в качестве теста я сделал скрипт, который просто делает:

$ffmpeg = FFMpeg\FFMpeg::create(); 
$video = $ffmpeg->open('video.mpg'); 

я получаю:

Fatal error: Class 'Doctrine\Common\Cache\ArrayCache' not found in /var/www/php/include/FFMpeg/FFProbe.php on line 203 

Мой вопрос: Есть ли PHP-FFmpeg требует Доктрину, потому что не указано в документация. Какая версия мне нужна? Существуют ли другие предпосылки?

Я мог бы создать новый вопрос для этого, но я не уверен, должен ли я это делать. Теперь у меня есть PHP-ffmpeg. Я использую Laravel, однако это должно быть неуместно для этого вопроса. Я пытаюсь включить мониторинг прогресса. Он работает, однако мне нужно передать идентификатор, чтобы я мог обновить правильный ключ в memcache.

$id = 12345; 
$format->on('progress', function ($audio, $format, $percentage) { 
    //this works perfect, but doesn't tell me which item is being updated 
    Cache::put("progress", $percentage, .25); 

    //this does not work as I am unable to pass in $id, if I add it as the 4th argument above it will display the number of threads or something 
    //Cache::put("{$id}_progress", $percentage, .25);   
}); 

Мне нужно уточнение по методу «on». Я просмотрел https://ffmpeg-php.readthedocs.org/en/latest/_static/API/ и не смог понять, как работает этот метод. Любая помощь будет оценена по достоинству.

+0

от [Requirements Composer] в (https://github.com/PHP-FFMpeg/PHP-FFMpeg/blob/master/composer.json), он использует Учение Кэш-компонент, среди прочего. – Charles

ответ

1

Вы должны следовать за recommended instructions in the README.

Composer это самый простой способ установки PHP-FFmpeg зависимостей

«включено» метод, называемый по формату является реализация EventEmitter. Как вы можете видеть здесь: https://ffmpeg-php.readthedocs.org/en/latest/_static/API/FFMpeg/Format/ProgressableInterface.html он расширяет EventEmitterInterface от https://github.com/igorw/evenement.

Если вы действительно заинтересованы о том, как это работает под капотом, посмотрите на здесь: Прогресс слушателя создается здесь: https://github.com/PHP-FFMpeg/PHP-FFMpeg/blob/master/src/FFMpeg/Format/Audio/DefaultAudio.php#L96 и добавил при исполнении здесь https://github.com/PHP-FFMpeg/PHP-FFMpeg/blob/master/src/FFMpeg/Media/Video.php#L151 Это действительно возможно, потому что FFMpegDriver расширяет драйверов по https://github.com/alchemy-fr/BinaryDriver

Надеется, что это помогает :)

+0

Спасибо, единственная причина, по которой я не использовал композитора, - это то, что я не знаком с ним и не думаю, что это было необходимо. Я прочитаю об этом. –

+0

У меня есть работа, но у меня есть вопрос о мониторинге прогресса (я обновил вопрос выше) –

Смежные вопросы