2015-04-28 3 views
0

Когда я конвертирую видео с помощью командной строки (ffmpeg -i dust.mp4 -s 320x240 video.flv 2> & 1) он отлично преобразует. Но когда я использую код php, это не так. Код выглядит следующим образом:FFMpeg работает в командной строке, но не в shell_exec

echo "Starting ffmpeg...\n\n"; 
$ffmpeg = "~/ffmpeg_sources/ffmpeg"; 
echo exec("$ffmpeg -i dust.mp4 -s 320x240 video.flv 2>&1"); 
echo "Done.\n"; 

И выход:

Начиная FFmpeg ... ш: 1: ~/ffmpeg_sources/FFmpeg: не foundDone.

Любая помощь будет оценена по достоинству.

Заранее спасибо

+0

Запуск из командной строки вы не использовали абсолютное положение '~ /', так что может быть найти его на своем пути в другом месте. В вашем скрипте вы специально используете '~/ffmpeg_sources/ffmpeg', так что если это не место, где находится исполняемый файл, вы получите эту ошибку. Попробуйте запустить 'which ffmpeg' из командной строки, чтобы узнать реальное местоположение. Или просто установите '$ ffmpeg =" ffmpeg "' и пусть путь найдет его. –

+0

где установлен ваш ffmpeg? Скажите мне путь – RaMeSh

+0

просто введите команду (whereis ffmpeg) и нажмите на кнопку ввода, тогда будет найдено точное местоположение. Просто коснитесь меня, что путь – RaMeSh

ответ

0

Я уже ответил на этот же вопрос, только посмотрите на этот ответ, вы будете знать, что п = ошибка, которую вы сделали.

Для создания видео Thumbnail мы используем ffmpeg.

В Linux системах (CentOS 6.x) Ffmpeg процесс установки и пример Php: -

Этот процесс происходит в моем CentOS 6 и создал эскизы с помощью PHP.

Просто нажмите на эту ссылку Ffmpeg for video thumbnail creation

+0

Спасибо ... Я понял это –

0

Используйте полный путь:

echo exec("/root/example/ffmpeg_sources/ffmpeg -i /home/site/etc/dust.mp4 -s 320x240 /home/site/etc/video.flv 2>&1"); 

Убедитесь, что PHP имеет read/execute разрешения:

/root/example/ffmpeg_sources/ffmpeg 

права на запись в:

/home/site/etc/

и разрешения на чтение:

/home/site/etc/dust.mp4 
+0

спасибо, что я понял –

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