Salut les webcamers,
J'ai depuis quelques temps mis en service une webcam IP/Wifi D-Link DCS-950G.
J'avais ce matos de côté depuis près d'un an et demi, mais étant donné que cette cam est plutôt dédiée sécurité/surveillance aucun logiciel standard webcam ne savait exploiter simplement et correctement celle-ci.
J'ai donc développé mon propre logiciel (dispo en freeware ici:
http://marcodechaligny.free.fr/page_inf ... htm#DCS950) pour l'acquisition cyclique et le stockage automatique avec renommage des images.
J'ai aussi "pondu" 2 nouvelles pages Web.
- Une avec streaming vidéo temps réel, malheureusement compatible uniquement IE. Le plugin pour le navigateur (interne au serveur de la cam) n'étant pas supporté par FF ou autre.
http://marcodechaligny.free.fr/page_met ... UBMH01.php - Une autre compatible IE et FF, en "serveur d'image temps réel".
http://marcodechaligny.free.fr/page_met ... eTreel.php Si vous allez faire un tour sur ces pages, ne vous formalisez pas tout de suite si vous n'obtenez qu'un écran noir, cela ne vient pas de la partie logiciel, mais d'un "blocage"(généralement temporaire) du server CamIP.
Revenez un peu plus tard... (En plus, j'ai pas fait d'essais avec plus de 4 connexions simultanées).
Je ne sais pas si c'est un bug côté serveur cam, ou un problème de WIFI ( la cam et le modem WIFI étant séparés d'un étage et complètement à l'opposé de la maison).
Remarques, bugs, commentaires,... n'hésitez pas.
Concernant le serveur image:
Les petites astuces que j'ai développées dans le script de cette page pourront éventuellement intéresser certains (je pense à Antoine, entre autre, qui avait fait une page de sa webcam de Montréal avec renouvellement automatique de l'image) car ce script devrait fonctionner pour n'importe quel serveur webcam.
Cette page a été essentiellement construite en java script (testé chez moi sans problème sur IE6, IE7, FF2, FF3) car je me suis donné les critères suivants:
- Mise à jour automatique de l'image sur le navigateur.
- Pas de renouvellement de la page complète pour éviter l'affreux clic sous IE et/ou un temps de chargement avec déroulement (apparition progressive du haut vers le bas si le serveur est lent ou si on a l'ADSL un peu poussif) de l'image avec IE ou FF.
- Renouvellement de l'image sans aucune transition entre les vues (c'est ça qu'est bluffant, même qu'avec 15 secondes de délais, on voit bien la saccade des mouvements nuageux, ou les transitions jour/nuit en fin de journée!), donc directement côté navigateur.
- Temps réglable dans le script, du minimum (temps de génération par le serveur + temps de téléchargement par le navigateur), à un timing fixé par une tempo (histoire de ne pas saturer le serveur cam, si le site et sa webcam sont très populaires).
Voici la base :
Code :
<!-- ---------------- Dans le head ----------- -->
<head>
<script type ="text/javascript">
// Script realtime image server by Marco de Chaligny 9/2008.
var image = new Image(); // créer un objet image.
function affiche(){
var t_stamp = today.getTime(); // créer un objet time stamp.
image.onload = function() // onload : chargement de l'image terminé.
{
// affiche l'image dans l'élément dont l'id est "affiche".
document.getElementById('affiche').innerHTML = '<img src='+ image.src +'>';
// *** appel de la fonction "affiche" par elle-même ***
//window.setTimeout('affiche()',30000); // soit tempo par ex ici 30 sec.
affiche(); // soit direct, ici dés que l'image est affichée, on charge la suivante.
// ****************************************************
}
//Charger image avec rajout d'un time stamp à l'adresse pour forcer la
//mise à jour et donc éviter de recharger l'image du cache du navigateur.
image.src = 'http://IPx.Pubx.xxx.xxx:port/image_webcam.jpg' + '?' + 'time=' + t_stamp;
};
</script>
</head>
<!-- ---------------- Dans le body ----------- -->
<body onload="affiche()"> <!-- on charge la fonction JS dés la fin du chargement de la page -->
<div id="affiche">Attente webcam...</div>
</body>
Si vous voulez faire des essais avec votre propre serveur cam, vous pouvez directement copier ce code dans votre page, en remplaçant les "x" par votre IP public et votre numéro de port.
Voila...
Bye.