2015-07-27 4 views
0

Я хочу получить продолжительность фильма, используя ffprobe (часть ffmpeg). командной строки Я использую это:ffprobe/ffmpeg exec не возвращает результат на локальном компьютере, но работает на производственной системе

ffprobe -v error -show_entries format=duration -of 
default=noprint_wrappers=1:nokey=1 
path/to/video.mov 

Он отлично работает в оболочке, дает мне результат 4.5554 (секунд).

Однако, если я вызываю эту команду через exec на моей локальной машине, я получаю пустой результат.

var_dump(exec("ffprobe -v .......")); 
returns string(0) "" 

Теперь идет горелка: она отлично работает на производственной машине, хотя!

Это мои конфигурации:

Local machine:  Mac OS 10.9.5,  PHP 5.6.11 ffmpeg 2.7.1 
Production machine: Mac OS Server 10.6 PHP 5.3.1 ffmpeg 2.7.2 

Является ли такого рода ошибки в PHP 5.6 или что-то ??? Спасибо, Мэтт

+0

так захватите возвращаемое значение и проверьте это. 'exec ($ cmd, $ output, $ return_val); var_dump ($ return_val) ' –

+0

' var_dump ($ return_val) 'возвращает' int (5) ', что неверно, фильм составляет 4 секунды – Kinesias

+0

' var_dump ($ output) 'возвращает' array (0) {} ' – Kinesias

ответ

0

Я нашел решение.

У меня было 5 коррумпированных библиотек в Applications/XAMPP/xamppfiles/lib. Мне пришлось скопировать и вставить их из /System/Library/Frameworks в папку библиотеки XAMPP и заменить старые, поврежденные новыми.

Теперь все работает нормально, локально и на производственной машине.

Спасибо !!!