2011-03-07 4 views
0

안녕하세요! PHP 스크립트를 통해 직접 라이브 스트림을 다시 시작하고 싶습니다. 모든 것은 지금까지 잘 작동하지만 다음 명령을 영원히 스크립트로드 및 트랜스 코딩이 작동하지 않는 원인 :PHP로 ffmpeg 트랜스 코딩 시작

nohup openRTSP -v -c rtsp://*****.dyndns.org:665 | ffmpeg -r 5 -f mjpeg -i - http://127.0.0.1:8090/feed1.ffm > /dev/null & 

모든 아이디어를 어떻게 예를 들어, 해당 명령을 시작합니다 출력을 기다리지 않고?

+0

는 또한 표준 출력 리디렉션 근처에'2>는/dev/null'를 추가하려고 너무 표준 오류 리디렉션해야 할 수도 있습니다. (이것은 뻔뻔스러운 추측이며, 그것은 이유입니다 :) – sarnold

답변

0

반드시 문제를 해결할 수는 없지만 여러 사람이 유사한 상황에 처한 "exec"아래에있는 PHP 주석에있는 질문에 대답해야합니다.

나는 하나 개의 함수로이 주제의 여러 가지 노력을 결합 :이 윈도우와 유닉스 모두에서, PHP는 마무리에 기다리지 않고 백그라운드에서 $ cmd를 (아무 cmd를 윈도우)를 실행합니다.

function execInBackground($cmd) { 
    if (substr(php_uname(), 0, 7) == "Windows"){ 
     pclose(popen("start /B ". $cmd, "r")); 
    } 
    else { 
     exec($cmd . " > /dev/null &"); 
    } 
} 
+0

당신은 함수 호출을 저장하기 위해'PHP_OS'를 사용할 수 있습니다! ('substr (PHP_OS, 0,3) == "WIN"') – RobertPitt