Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: ovvn3r в Apr 22, 2009, 22:47



Титла: PHP и FFMPEG
Публикувано от: ovvn3r в Apr 22, 2009, 22:47
Здравейте!
Пуснах сървър. Инсталирах ffmpeg, конфигурирах го и всичко тръгна нормално. Но ако се опитам да използвам ffmpeg-a чрез php скрипт не се получава нищо. Опитах:


Код
GeSHi (PHP):
  1. $flv_vid_make=system("$fpg_w -i $upfile -ar 44100 -ab 128k -b 1024k -f flv $upfile2.flv > /dev/null", $dont_print);

, добавих и пълния път до ffmpeg-a, аудиокодеци дори опитах вместо system с exec..., но нищо не се получава. Файлът не се конвектира, не се и създава flv файл. Знаете ли къде може да е проблемът.

*) Редактирах min_execute... в php.ini от 30 сек. на 300 сек. и промених максималната големина на качвания файл от 2М на 100М.


Титла: Re: PHP и FFMPEG
Публикувано от: mom в Apr 23, 2009, 09:22
Надявам се преди да изпълниш посочения от теб код си инициалирал променливите $fpg_w, $upfile, $upfile2.flv и $dont_print с подходящите стойности


Титла: Re: PHP и FFMPEG
Публикувано от: VladSun в Apr 23, 2009, 09:42
Виж какво подаваш и какви грешки ти връща:
Код
GeSHi (PHP):
  1. $flv_vid_make=system("$fpg_w -i $upfile -ar 44100 -ab 128k -b 1024k -f flv $upfile2.flv 2>&1");
  2. echo "$fpg_w -i $upfile -ar 44100 -ab 128k -b 1024k -f flv $upfile2.flv";
  3. echo $flv_vid_make;

Също така използвай абсолютни пътища до файловете.


Титла: Re: PHP и FFMPEG
Публикувано от: wfw в Apr 23, 2009, 09:50
web server-а работи с правата на обикновен потребител. сигурен ли си, че уеб сървъра може да пише в директорията, в която си задал да се създаде изходния файл и сигурен ли си, че има права да прочете файла, от който ще чете?

също така вземи махни 2>&1 и можеш да добавиш в началото на скрипта error_reporting(E_ALL);


Титла: Re: PHP и FFMPEG
Публикувано от: ovvn3r в Apr 23, 2009, 20:43
Chmod-a е 777 за тези дириктории
print на "$fpg_w -i $upfile -ar 44100 -ab 128k -b 1024k -f flv $upfile2.flv";
Код:
/usr/bin/ffmpeg -i ../upload/video/2009-04-23-690ea5371fad7e0ffb162996ccb62e54683626ee.avi -acodec libmp3lame -ar 44100 -ab 128k -b 1024k -f flv ../upload/video/2009-04-23-690ea5371fad7e0ffb162996ccb62e54683626ee.flv > /dev/null
Ако задам абсолютен път до папката за ъплоуд отново нищо не се получава.
Код:
/hd2/www/gods/upload/video/2009-04-23-96656eab1f103a5e4f58b945fb008535d536e83c.flv
print на $flv_vid_make;
Код:
0
Връща си ми 0 (false) защото клипът не се обработва предполагам... :?

ПС: /usr/bin/ffmpeg може да бъде изпълняван и четен от всички потребители.


Титла: Re: PHP и FFMPEG
Публикувано от: ovvn3r в Apr 23, 2009, 21:23
Въпреки че $flv_vid_make продължава да връща 0 скриптът работи и видеоклиповете се преработват :). Не съм правил никакви промени от вчера, дори не съм рестартирал сървъра, но всичко работи :) ;D