Hallo zusammen,
bin grad an einer Integration für LIVE Webcam Bilder in IPS - Ohne die Webcam direkt über Portforwarding freizugeben.
Habe das Script auf meinem IIS mit PHP eigentlich schon einwandfrei am laufen.
Dh. das Script liest ein Bild / Sekunde von der WebCam ein und streamt es als MJPEG Stream an den Browser weiter.
Soweit so gut - es funktioniert einwandfrei beim IIS.
Wenn ich das jedoch in IPS probiere (zb. eigen Webserverinstanz), dann kommt folgendes Gedönz:
–> Das Bild ändert sich auch alle Sekunde, dh. der Stream funktioniert - allerdings eben komische Anzeige
Eine einzelne Ausgabe des JPEG Bildes funktioniert prächtig. Allerdings sobald ich flush(); verwende geht alles hin.
Ideen? Liegt das am IPS-Webserver (Fehler?!) - Das PHP Script funktioniert einwandfrei mit dem IIS.
$boundary = "my_mjpeg";
header("Cache-Control: no-cache");
header("Cache-Control: private");
header("Pragma: no-cache");
header("Content-type: multipart/x-mixed-replace; boundary=$boundary");
set_time_limit(30);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++)
ob_end_flush();
ob_implicit_flush(1);
print "--$boundary
";
while (true) {
# Per-image header, note the two new-lines
print "Content-type: image/jpeg
";
# Your function to get one jpeg image
print ShowImage();
# The separator
print "--$boundary
";
flush_buffers();
usleep(1000000);
}
function ShowImage(){
$url = "192.168.178.111/jpg/image.jpg";
$user = "admin";
$pwd = "12345";
//header("Content-type: image/jpeg");
$url_login = "http://$user:$pwd@$url";
readfile($url_login);
}
function flush_buffers(){
@ob_end_flush();
@ob_flush();
@flush();
@ob_start();
}
?>
Wenn ich mir an den Browser gegebenen Output anschaue, denke ich, dass es ggf. ein Problem des IPS Webservers ist:
Ausgabe IIS:
Ausgabe IPS: