3

を押すとビデオ スナップショットを生成するネットワーク カメラがあります http://192.0.0.8/image/jpeg.cgi。問題は、ルート (つまり192.0.0.8) に直接アクセスすることで、ユーザーがライブ ビデオ フィードにアクセスできることです。そのため、アドレスを完全に非表示にしたいと考えています。

私が提案する解決策は、PHP を使用して画像を取得し、 に表示することhttp://intranet/monitor/view.phpです。ユーザーはこの新しいアドレスを繰り返し叩くことでモーションを作成できますが、私はそうは思わないでしょう。

私はさまざまな方法でinclude()andを使用してみreadfile()ましたが、正しい方向に進んでいるかどうかを理解するのに十分な頻度で PHP を実際に使用することはありません。これまでの私の最善の試みは jpeg コンテンツを出力するという結果になりましたが、コードを共有するのに十分な長さで保存しませんでした。

アドバイスをいただければ幸いです。

4

2 に答える 2

0

ユーザーごとにリクエストを制限したい場合は、これを使用します。

$timelimit = 30;//Limit in seconds

if(!isset($_SESSION['last_request_time'])) {
    $_SESSION['last_request_time'] = time();
}

if(time() > $_SESSION['last_request_time'] + $timelimit) {
    //prepare and serve a new image
} else {
    //serve an old image
}

イメージの更新時間を制限したい場合は、同じスクリプトを使用しますが、last_request_time をすべてのユーザー (DB、ファイル、キャッシュ) で共有される場所に保存します。

于 2012-09-20T14:01:19.423 に答える
0

これを行う簡単な方法は次のとおりです。

header('Content-Type: image/jpeg');
readfile('http://192.0.0.8/image/jpeg.cgi');

jpeg のコンテンツは、.NET から直接、ファイルとしてブラウザにストリーミングされますhttp://intranet/monitor/view.php

于 2012-09-21T13:13:48.250 に答える