Ben web uygulaması yüklemeye devam böylece PHP kullanarak arka planda bir komutu çalıştırmak için çalışıyor, ancak bugüne kadar hiçbir şans yaşıyorum.
Komut canlı streaming uygulaması için, yani aşağıdaki içerir:
<stream pre-process> | ffmpeg <options> | <stream segmenter>
Ben bir komut yukarıdaki sopa ve & ile bash arka planda ince çalıştırmak, ancak bu PHP çalışmıyor olabilir. Ben de daha önce nohup kullanarak çalıştı ve "nohup & echo $!", Ama hayır şans.
Ayrıca / dev / null stderr'e tüm boru yaşıyorum ve ben komutunu çalıştırın (ama yürütüyor) oluşturulan hiçbir çıkış olduğunu apache günlükleri kontrol edebilirsiniz.
Aşağıda bazı örnek kod .. ne bu, bitinceye kadar bu kod yürütmek değil sonra ben uzun bir süre olduğunu.
function streamVid ($mid, $width, $height, $br) {
$cdir = "./temp";
$zmstrm = "zmstreamer -m ".$mid." 2> /dev/null";
$seg = "segmenter - 3 ".$cdir."/sample_".$mid." ".$cdir."/stream_".$mid.".m3u8 ./ 2>/dev/null";
$ffparms = "-f mpegts -analyzeduration 0 -acodec copy -s ".$width."x".$height." -vcodec libx264 -b ".$br." -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate ".$br." -bufsize ".$br." -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -analyzeduration 0 -async 2 - 2> /dev/null";
$url = $zmstrm . " | ffmpeg -t 10 -analyzeduration 0 -i - ". $ffparms . " | " . $seg;
shell_exec("nohup ". $url." & echo $!");
ob_flush();
flush();
}