params['cameras']; if (!isset($cms[$id])) { throw new NotFoundHttpException(); } if (!is_numeric($scale)) $scale = 50; $zm_id = $cms[$id]; $source_url = Yii::$app->params['zmUrl'].'/cgi-bin/nph-zms?scale='.$scale.'&mode=jpeg&maxfps=30&buffer=1000&monitor='.$zm_id.'&connkey='.rand(0, 65536); $fp = fopen($source_url, 'r', false); if ($fp) { Yii::$app->response->format = \yii\web\Response::FORMAT_RAW; // send mjpeg header: header("Cache-Control: no-cache"); header("Cache-Control: private"); header("Pragma: no-cache"); header("Content-type: multipart/x-mixed-replace; boundary=ZoneMinderFrame"); // pass data fpassthru($fp); fclose($fp); } else throw new NotFoundHttpException(); } public function actionView($id) { $cms = Yii::$app->params['cameras']; if (!isset($cms[$id])) { throw new NotFoundHttpException(); } return $this->render('view', [ 'id' => $id ]); } }