示例#1
0
     /* Can generate, we are good to go */
     $fname = "capture.mov";
     $ffparms = "-vcodec mpeg4 -r " . ZM_EYEZM_EVENT_FPS . " " . $baseURL . "/" . $fname . " 2> /dev/null";
 } else {
     if (!strcmp($vcodec, "h264")) {
         if (!ffmpegSupportsCodec("libx264")) {
             logXmlErr("FFMPEG not installed, accessible in path/ZM_PATH_FFMPEG, or doesn't support H264");
             exit;
         }
         if (!requireVer("1", "2")) {
             logXmlErr("H264 Event viewing requires eyeZm v1.2 or greater");
             exit;
         }
         /* Good to go */
         $fname = "capture.mp4";
         $ffparms = getFfmpeg264FoutParms(validString(getset('br', ZM_EYEZM_H264_DEFAULT_EVBR)), $baseURL . "/" . $fname);
     } else {
         logXmlErr("Unknown codec " . $vcodec . " selected for event viewing");
         exit;
     }
 }
 logXml("Selected " . $vcodec . " for viewing event " . $event['Id']);
 $fnameOut = $baseURL . "/" . $fname;
 $shellCmd = getFfmpegPath() . " -y -r " . $fps . " -i " . $baseURL . "/%0" . ZM_EVENT_IMAGE_DIGITS . "d-capture.jpg";
 $shellCmd .= " " . $ffparms;
 logXml("Encoding event with command: " . $shellCmd);
 $shellOutput = shell_exec($shellCmd);
 /* Check that file exists */
 if (!file_exists(trim($fnameOut))) {
     logXmlErr("Generate Event " . $event['Id'] . " file " . $fnameOut . " does not exist");
     exit;
示例#2
0
/** Return FFMPEG parameters for H264 streaming */
function getFfmpeg264Str($width, $height, $br, $fin, $fout)
{
    $ffparms = getFfmpeg264FoutParms($br, $fout);
    $ffstr = getFfmpegPath() . " -t " . ZM_EYEZM_H264_MAX_DURATION . " -analyzeduration 0 -i ";
    $ffstr .= $fin . " -f mpegts " . $ffparms;
    return $ffstr;
}