2011-08-30 1 views
1

저는 내 서버에 ffmpeg를 설치했으며 터미널을 통해 정상적으로 작동합니다. 성공적으로 파일을 webm 형식으로 변환 할 수있어 설치가 잘되었다고 확신합니다. 나는 또한 내 컴퓨터에 ffmpeg가 하나만 설치되어 있다고 확신한다.PHP의 exec()가 FFmpeg에 대한 명령을 실행하지 않습니다.

PHP의 exec()를 통해 PHP를 통해 파일을 변환하려고하면 문제가 발생합니다. 동일한 명령을 실행할 때 터미널에서 실행되었는데 아무 일도 일어나지 않습니다. 나는 stackoverflow 및 일부 도움을 위해 그물의 다른 부분 주위를 보았다.

exec($cmd, $out, $rv); 
echo "output is:\n".implode("\n", $out)."\n exit code:$rv\n"; 

출력은 다음과 같습니다 : 나는 출력 볼이 시도 "출력은 다음과 같습니다 종료 코드를 127"내가 사용하는 명령이 형식에

:

ffmpeg -i "sample.mov" -vcodec libvpx -r 30 -b "644k" -acodec libvorbis -ab 128000 -ar "44100" -ac 2 -s "352x198" "sample.webm" 

나는 "FFmpeg"에 대한 전체 경로를 "ffmpeg"로 대체하려고했지만 작동하지 않았다.

스크립트가 명령을 올바르게 실행하고 파일을 변환하지 않는 이유는 무엇입니까?

감사합니다.

+2

"¿ Por qué?" (두 단어) ;-P –

+0

facepalm. 고마워, 나는 잊었다 : p – tundoopani

+0

가능한 복제 http://stackoverflow.com/questions/4828083/ffmpeg-php-error-code-127 –

답변

1

PHP에서 ant target 실행과 비슷한 문제가 있습니다. 개미 명령에서 전체 출력을 처음 몇 줄 밖에 얻을 수없고 개미 대상이 실행되지 않았습니다. 즉 부분 실행됩니다.

벨로우즈 명령어를 사용하면 실행할 수 있지만 명령 출력은 log_file.log에 추가됩니다.

$commandString = 'you_command_here >> log_file.log 2>&1 &'; 
$command = exec($commandString); 

희망이 적용됩니다.

3

오류 코드 127은 실행 파일 (ffmpeg)을 찾을 수 없음을 의미합니다. 전체 경로를 지정해보십시오 (터미널에서 which ffmpeg으로 찾으십시오). 또는 PHP 스크립트 및 터미널에서 PATH 환경 변수의 값을 비교하십시오.

+1

"FFmpeg의 전체 경로로"ffmpeg "를 바꾸려고했지만 작동하지 않았습니다." – tundoopani