2015-11-16 3 views
2

У меня есть это приложение, где мне нужно преобразовать видеофайлы в MP4, а затем сжать его. Я пытаюсь использовать FFMPEG, чтобы заставить это работать. Пробовал командные строки в консоли и он прекрасно работаетFFMPEG работает на консоли, но не работает в PHP-скрипте на Ubuntu

Преобразование

ffmpeg -i teste.avi teste.mp4 

Сжимая

ffmpeg -i teste.mp4 -acodec mp2 teste.mp4 

Но когда я делаю то же самое в PHP скрипт, он начинает кричать, что что-то под названием GLIBCXX не установлено. Это ошибка:

ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libzmq.so.3) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/libzmq.so.3) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4) 
ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/libopencv_core.so.2.4) 

Это мой сценарий

$r = shell_exec("ffmpeg -i $file_path $output_path 2>&1"); //convert 
$r = shell_exec("ffmpeg -i $file_path -acodec mp2 $file_path 2>&1"); //compress 

Я бегу сценарий на Ubuntu

@edit я могу запустить, например, shell_exec (» ls ')

+0

Возможно, пользователь, на котором работает веб-сервер, не имеет доступа к библиотекам/файлам, необходимым ffmpeg –

+0

, как я могу предоставить такие разрешения для своего веб-сервера? –

+0

Вы «chown» каталог htdocs где-то в прошлом? Это может быть причиной. –

ответ

0

Что я сделал, чтобы исправить это, я пошел в/usr/lib и искал libstdC++ (этот каталог имеет более новые версии) и скопировал i t to/opt/lampp/lib.

Я взял резервную копию оригинального файла и вставил новый файл и BOOM! Это сработало! :)

Я надеюсь, что это сработает и для вас.