function genLocalStreamImage($stream_id, $req_time, $req_size) { global $mvLocalVideoPath, $mvStreamImageTable; //zsh edit return false; if (!$stream_id) { return false; } if (!$req_time) { $req_time = 0; } if (!$req_size) { $req_size = '320x240'; } list($im_width, $im_height, $ext) = MV_StreamImage::getSizeType($req_size); if ($req_size == null) { $s = ''; } else { $s = '_' . $im_width . 'x' . $im_height; } $img_dir = MV_StreamImage::getLocalImageDir($stream_id); $img_file = $img_dir . "/" . $req_time . $s . "." . $ext; $streampath = $mvLocalVideoPath . MV_StreamImage::getLocalStreamPath($stream_id); if (is_file($streampath)) { //check if the ffmpeg extension is installed: $extension = "ffmpeg"; $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX; $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname; // load extension if (!extension_loaded($extension)) { if (!dl($extension_soname)) { return false; } } $mov = new ffmpeg_movie($streampath); $fps = $mov->getFrameRate(); if ($req_time == 0) { $ff_frame = $mov->getFrame(1); } else { $ff_frame = $mov->getFrame($req_time * $fps); } if ($ff_frame) { $ff_frame->resize($im_width, $im_height); $gd_image = $ff_frame->toGDImage(); if ($gd_image) { if ($ext == 'png') { imagepng($gd_image, $img_file); imagedestroy($gd_image); } else { imagejpeg($gd_image, $img_file); imagedestroy($gd_image); } } } if (is_file($img_file) && ($req_size == '320x240' || $req_size == '')) { $insAry = array(); $insAry[stream_id] = $stream_id; $insAry[time] = $req_time; $db =& wfGetDB(DB_WRITE); if ($db->insert($mvStreamImageTable, $insAry)) { return $img_file; } else { //probably error out before we get here return false; } } } return $img_file; }