2011-03-07 71 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 2011-03-07 11:44:40

回答

0

不是說它必然會解決你的問題,但它應該回答你的問題,在幾個人遇到類似情況的「exec」下的PHP註釋中找到。

我結合這個 主題中的幾個努力成一個功能:無PHP等待它完成 這將 執行$ cmd在背景(沒有CMD 窗口),在Windows和Unix。

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 2011-03-07 12:11:37