diff --git a/comp_files.php b/comp_files.php index 47b7552..0b5ea2e 100644 --- a/comp_files.php +++ b/comp_files.php @@ -10,7 +10,7 @@ $res = $db->query($query); while ($qData = $res->fetch_row()) { - if (file_exists("/usr/home/reddawg/r5/red5-server/webapps/oflaDemo/streams/" . $qData[0])) + if (file_exists("/red5/webapps/oflaDemo/streams/" . $qData[0])) $found[] = $qData[0]; else { $query = "UPDATE videos SET status = -1 WHERE vid = " . $qData[1]; diff --git a/cron2.php b/cron2.php index 05f8c38..07636b8 100755 --- a/cron2.php +++ b/cron2.php @@ -7,6 +7,9 @@ include ("include/config.php"); +$brTarget = "2M"; +$brMax = "2.5M"; + if (file_exists("/tmp/cron2.php.lock")) exit(0); @@ -17,29 +20,47 @@ while ($qData = $result->fetch_assoc()) { - exec("/usr/local/bin/mediainfo --Inform=\"Video;%Width%,%Height%,%BitRate%,%FrameRate%,%Duration/String3%\" /media/incoming/" . $qData['file'], $mediaInfo); + exec("/usr/local/bin/mediainfo --Inform=\"Video;%Width%,%Height%,%BitRate%,%FrameRate%,%Duration/String3%,%DisplayAspectRatio%\" /media/incoming/" . $qData['file'], $mediaInfo); $vData = explode(",", $mediaInfo[0]); + if ($vData[5] == "" && substr($qData['file'],-3) != "m2v") { + $sar = ":force_original_aspect_ratio=1"; + } + else { + $sar = ",setsar=sar=" . $vData[5] . ",setdar=dar=16/9"; + } + + $mWidth = $vData[0]; $mHeight = $vData[1]; $mBitRate = $vData[2]; $mFrameRate = $vData[3]; - sscanf($vData[4], "%i:%i:%i.%i", $hour, $min, $sec, $ms); - $mDuration = ($hour * 3600) + ($min * 60) + $sec + ("0." . $ms); + $re1='(\\d+)'; # Integer Number 1 + $re2='.*?'; # Non-greedy match on filler + $re3='(\\d+)'; # Integer Number 2 + $re4='.*?'; # Non-greedy match on filler + $re5='(\\d+)'; # Integer Number 3 + $re6='.*?'; # Non-greedy match on filler + $re7='(\\d+)'; # Integer Number 4 + + if ($c=preg_match_all ("/".$re1.$re2.$re3.$re4.$re5.$re6.$re7."/is", $vData[4], $matches)) + { + $mDuration = ($matches[1][0] * 3600) + ($matches[2][0] * 60) + $matches[3][0] + ("0." . $matches[4][0]); + } unset($mediaInfo); if (($mWidth == 0) || ($mHeight == 0)) { + print "[" . json_encode($vData) . "]\n"; $mType = 2; - $encode = "/usr/local/bin/ffmpeg -loop_input -i \"/usr/home/reddawg/UbixCube.gif\" -i \"/usr/web/uploads/" . $qData['file'] . "\" -ar 44100 -ac 2 -ab 128k -t $oLen -r 0.5 -f flv -y \"/media/streams/" . $qData['file'] . ".flv\""; - print("[$encode]"); -// $res = system($encode); - } else { + $encode = "/usr/local/bin/ffmpeg -loop_input -i \"/usr/tuve/assets/UbixCube.gif\" -i \"/media/incoming/" . $qData['file'] . "\" -vf \"scale=w=800:h=450:force_original_aspect_ratio=1,pad=800:450:(ow-iw)/2:(oh-ih)/2\" -ar 44100 -ac 2 -ab 128k -t $mDuration -r 0.5 -f flv -y \"/media/tmp/" . $qData['file'] . ".flv\""; + $res = system($encode); + } else if ($mDuration > 0 ) { $mType = 1; - $encode = "/usr/local/bin/ffmpeg -i \"/media/incoming/" . $qData['file'] . "\" -c:v libx264 -vf \"scale=w=800:h=450:force_original_aspect_ratio=1,pad=800:450:(ow-iw)/2:(oh-ih)/2\" -b:v 1M -maxrate 2M -bufsize 4M -preset veryfast -pass 1 -f flv -an -y /dev/null"; + $encode = "/usr/local/bin/ffmpeg -i \"/media/incoming/" . $qData['file'] . "\" -c:v libx264 -vf \"scale=w=800:h=450" . $sar . ",pad=800:450:(ow-iw)/2:(oh-ih)/2\" -b:v " . $brTarget . " -maxrate " . $brMax . " -bufsize 4M -preset veryfast -pass 1 -f flv -an -y /dev/null"; print("[$encode]"); @@ -48,7 +69,7 @@ if ($retVal == 1) doExit($encode, $data['vid']); - $encode = "/usr/local/bin/ffmpeg -i \"/media/incoming/" . $qData['file'] . "\" -c:v libx264 -vf \"scale=w=800:h=450:force_original_aspect_ratio=1,pad=800:450:(ow-iw)/2:(oh-ih)/2\" -b:v 1M -maxrate 2M -bufsize 4M -preset veryfast -c:a mp3 -b:a 128k -pass 2 -f flv -y \"/media/tmp/" . $qData['file'] . ".flv\""; + $encode = "/usr/local/bin/ffmpeg -i \"/media/incoming/" . $qData['file'] . "\" -c:v libx264 -vf \"scale=w=800:h=450" . $sar . ",pad=800:450:(ow-iw)/2:(oh-ih)/2\" -b:v " . $brTarget . " -maxrate " . $brMax . " -bufsize 4M -preset veryfast -c:a mp3 -b:a 128k -pass 2 -f flv -y \"/media/tmp/" . $qData['file'] . ".flv\""; print("[$encode]"); @@ -57,7 +78,7 @@ if ($retVal == 1) doExit($encode, $data['vid']); - print($res); + print($res); system("/bin/mv \"/media/tmp/" . $qData['file'] . ".flv\" \"/red5/webapps/oflaDemo/streams/" . $qData['file'] . ".flv\""); system("/usr/sbin/chown tuve:www \"/red5/webapps/oflaDemo/streams/" . $qData['file'] . ".flv\"");