公開するように設定しようとしているWebカメラがあります。ウェブカメラは公開されていますが、視聴者の数が2倍になるたびに、更新の待ち時間も2倍になります。したがって、品質を犠牲にしたり、物事を処理するためにサードパーティの有料サポートを必要としない、単純な再放送Webサイトを設定するだけです。
現在、カメラに直接接続して画像を取得するまでの待ち時間は700msです。これは、クロムデバッガーを介して検証されます。cURLダウンロードリクエストをスクリプト化すると、curl_getinfoによるレイテンシは平均1.4秒になります。代わりにfile_put_contents()を使用すると、同じ期間になります。
$ch = curl_init('http://path.to/image.jpg');
$fp = fopen('./localImage.jpg', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$ci = curl_getinfo($ch);
curl_close($ch);
var_dump($ci);
fclose($fp);
なぜこれが起こっているのか考えていますか?
array(22) {
["url"]=>
string(33) "http://path.to/image.jpg"
["content_type"]=>
string(10) "image/jpeg"
["http_code"]=>
int(200)
["header_size"]=>
int(124)
["request_size"]=>
int(64)
["filetime"]=>
int(-1)
["ssl_verify_result"]=>
int(0)
["redirect_count"]=>
int(0)
["total_time"]=>
float(1.40834)
["namelookup_time"]=>
float(4.7E-5)
["connect_time"]=>
float(0.082317)
["pretransfer_time"]=>
float(0.083356)
["size_upload"]=>
float(0)
["size_download"]=>
float(60331)
["speed_download"]=>
float(42838)
["speed_upload"]=>
float(0)
["download_content_length"]=>
float(60331)
["upload_content_length"]=>
float(0)
["starttransfer_time"]=>
float(0.318247)
["redirect_time"]=>
float(0)
["certinfo"]=>
array(0) {
}
["redirect_url"]=>
string(0) ""
}