2015-04-11 3 views
0

Я использую FFmpeg в своем локальном xamp, и он отлично работает. Но на моем сервере (установлен FFmpeg) exec не работает, и FFmpeg не создает выходной файл.ffmpeg-php exec не работает на сервере

Это мой код:

<?php 

extension_loaded('ffmpeg') or die('Error in loading ffmpeg'); 

$vid = realpath('test.mp4'); 

$ffmpegInstance = new ffmpeg_movie($vid); 
echo "getDuration: " . $ffmpegInstance->getDuration() . "<br />". 
"getFrameCount: " . $ffmpegInstance->getFrameCount() . "<br />". 

$cmd = "ffmpeg -i $vid -s 640x360 -vcodec libx264 -preset medium -crf 23 -acodec libmp3lame -ar 44100 -q:a 5 out.flv 1> block.txt 2>&1"; 

//$cmd = "ffmpeg -i $vid -vcodec libvpx -cpu-used -5 -deadline realtime out.mp4 1> block.txt 2>&1"; 

exec($cmd); 
?> 

ответ

0

Я не уверен, почему вы загружаете расширение FFmpeg, но вызов оболочки для запуска FFmpeg. Возможно, вы смешиваете, если хотите вызвать ffmpeg внутри php или с помощью exec/shell.

Можете ли вы сначала сделать echo system('which ffmpeg');, чтобы убедиться, что ffmpeg можно найти на сервере? Также проверьте версию ffmpeg аналогичным образом. Пожалуйста, используйте выходные и возвращаемые значения команд system и exec, чтобы увидеть, что представляет собой настоящая проблема. См. exec() и system() для получения дополнительной информации.

+0

возвращение:/usr/bin/ffmpeg/usr/bin/ffmpeg – user3243573

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