Es ist endlich mal wieder richtig Winter bei uns. Und auch wenn der Schnee nicht ganz so viel ist denken wir natürlich an die armen Vögelchen die gerne leckeres Futter haben wollen. Wer jetzt denkt wir stellen den Vögelchen einfach so ein Vogelhäuschen mit Futter hin, der irrt natürlich. Das Ding muss natürlich überwacht sein…
Und schon hat man eine günstige, regenfeste Webcam auf Amazon geschossen (klick) und sich das Ding mal angesehen.
Prinzipiell gibt es ein paar Möglichkeiten auf diese Webcam zuzugreifen, der Aufruf der IP im Browser führt das Konfigurationsinterface zu Tage – und das ohne dass man irgendeine chinesische ich-stell-alle-meine-Daten-in-die-Cloud-App aufrufen muss. Nimmt man von dort den Link ‚/snap.jpg‘ so sieht man das aktuelle Kamerabild. Ruft man die IP mit ‚ rtsp://IP_DER_CAM:554/11 ‚ auf, so bekommt man den Livestream 1 (gute Qualität) und mit ‚ rtsp:// IP_DER_CAM :554/12‘ den Livestream 2 (nicht so gute Qualität). Auch hierfür kann man im Interface konfigurieren dass ein Passwort beim Aufrufen verlangt wird. Den rtsp-Stream kann man also direkt ins Internet rausgeben. Das Passwort ist aber das gleiche wie für das Webinterface, deshalb sollte man das nicht unbedingt jedem geben.
Auf Nachtsicht schaltet die Kamera übrigens vollautomatisch um und die Sichtweite im dunkeln beträgt ca. 5 Meter. Durchaus nicht schlecht für den Preis!
Fürs Bilder ansehen kann man ein kleines PHP-Wrapper Script bauen welches das Passwort hat und das Bild holt und auf einer Page ohne Passwort anzeigt, das ist kein Hexenwerk:
<?php
/* globals */
$url = 'http://meine_externe_ip:123/snap.jpg';
$username = 'meinuser';
$password = 'meinpasswort';
/* get picture */
$context = stream_context_create(array(
'http' => array(
'header' => "Authorization: Basic " . base64_encode("$username:$password")
)
));
$picture = file_get_contents($url, false, $context);
/* show picture */
header("Content-Type: image/jpeg");
echo $picture;
?>
Das ganze kommt noch in eine html-Datei und fertig ist die Vogel-Spanner Page:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Birdcam!</title>
</head>
<body lang="de">
<img id="birdpic" src="bird.php?rand_number=42" style="max-width: 100%; max-height: 98vh; height: auto;">
<p>
Auto-Aktualisierung:
<select id="autorefreshval" onchange="setAutoRefresh();">
<option value="0">Aus</option>
<option value="5">5 Sekunden</option>
<option value="10">10 Sekunden</option>
<option value="30">30 Sekunden</option>
<option value="60">1 Minute</option>
<option value="300">5 Minuten</option>
</select>
<script>
"use strict";
let refreshvalue = 0;
let refreshtimer;
/* Reset Optionfield */
document.getElementById("autorefreshval").value = 0;
function reloadImage() {
console.log('Reloading Image');
document.getElementById("birdpic").src = document.getElementById("birdpic").src.split('?')[0] + '?rand_number=' + Math.random();
}
function setAutoRefresh() {
refreshvalue = document.getElementById("autorefreshval").value;
if (refreshvalue != "0") {
console.log('Setting Auto-Refresh to ' + refreshvalue + ' seconds');
clearInterval(refreshtimer);
refreshtimer = setInterval(reloadImage, refreshvalue * 1000);
} else {
console.log('Setting Auto-Refresh OFF');
clearInterval(refreshtimer);
}
}
</script>
</body>
</html>
Die Kamera kann übrigens bei Bewegung in mehreren (auswählbaren) Quadranten das Bild (und einen kurzen Videoclip) auf einen FTP-Server laden, oder das Bild (bis zu drei um genau zu sein) direkt per Mail senden. Somit erwischt man die Vögel auch:
Lustigerweise geht das Konfigurieren der Bewegungserkennung nur im Internet Explorer 🙁
Und wer sich damit abquält wie er die Videos der Kamera abspielen kann, ich hab eine Website gefunden bei der es den Programmcode gibt um diese Videodateien so zu kodieren damit normale Programme sie lesen können: Hier gehts lang!
Schreibe einen Kommentar