Pink Floyd Posté(e) 9 décembre 2012 Share Posté(e) 9 décembre 2012 (modifié) Bonjour a tous, petit post comme ca pour partager mon script en autoit qui permet de sauvegarder une image transmise par X ipcam foscam pour les sauvegarder dans un dossier, avec effacement des anciens fichiers ( ne trouvant pas de soft le faisant correctement j'ai pondu le mien, qui, sans mettre mes cam en mode alarme me permet de savoir ce qui c'est passé les 30 dernieres minutes ) donc pour ceux que ca interesse : #include <Date.au3> #include <Array.au3> #include <File.au3> #include <String.au3> $ini_file = @Scriptdir & "\capture_cam.ini" $purge_minute = IniRead($ini_file, "GENERAL", "PURGE" , "NotFound") $delay_image_seconde = IniRead($ini_file, "GENERAL", "INTERVAL", "NotFound") $array_ini = IniReadSectionNames ( $ini_file ) _arraydelete($array_ini,1) $array_ini[0] = $array_ini[0] - 1 While 1 for $boucle = 1 to $array_ini[0] _get_image($array_ini[$boucle]) Next sleep(($delay_image_seconde-$array_ini[0])*1000) WEnd func _get_image($ini_entry) $nom = IniRead($ini_file, $ini_entry, "NAME" , "NotFound") $url = IniRead($ini_file, $ini_entry, "URL" , "NotFound") $destination = IniRead($ini_file, $ini_entry, "FOLDER" , "NotFound") $purge = IniRead($ini_file, $ini_entry, "PURGE" , "NotFound") if FileExists($destination) <> 1 then DirCreate($destination) $date = Stringreplace(_DateTimeFormat(_NowCalc(), 2),"/","-") $time = Stringreplace(_NowTime(5),":","-") $prefix = $date & "__" & $time & "___" $hDownload = InetGet($url, $destination & $prefix & $nom & ".jpg", 1, 1) Do Sleep(250) Until InetGetInfo($hDownload, 2) InetClose($hDownload) _purge_file($destination,$purge) EndFunc func _purge_file($destination,$purge) $FileList = _FileListToArray($destination,"*.jpg",1) if IsArray($FileList) Then for $boucle = 1 to $FileList[0] $info = FileGetTime($destination & $FileList[$boucle], 1) $info = $info[0] & "/" & $info[1] & "/" & $info[2] & " " & $info[3] & ":" & $info[4] & ":" & $info[5] $result = _DateDiff('s', $info, _NowCalc()) if $result > ($purge * 60) then FileDelete($destination & $FileList[$boucle]) Next EndIf EndFunc et le fichier 'capture_cam.ini' associé : [GENERAL] INTERVAL=10 [CAM1] NAME=SALON URL=http://192.168.0.10:8010/snapshot.cgi?user=**&pwd=** FOLDER=o:\camera\salon\ PURGE=30 [CAM2] NAME=JULIEN URL=http://192.168.0.11:8011/snapshot.cgi?user=**&pwd=** FOLDER=o:\camera\julien\ PURGE=30 Modifié 9 décembre 2012 par Pink Floyd Lien vers le commentaire Partager sur d'autres sites More sharing options...
tekalix Posté(e) 9 décembre 2012 Share Posté(e) 9 décembre 2012 salut Pink Floyd, merci ca va me servir bientot Lien vers le commentaire Partager sur d'autres sites More sharing options...
Pink Floyd Posté(e) 9 décembre 2012 Auteur Share Posté(e) 9 décembre 2012 (modifié) Petite précisions : INTERVAL=10 ( intervale en seconde entre deux images )PURGE=30 ( temps en minutes avant purge des images ( ici permet de garder 30 minutes d'historique ) ) les noms dans le fichiers ini ( cam1, cam2 ) n'on aucune importance, jsute faire gaffe de ne PAS en mettre deux avec le même nom ( ni dans le champs NAME, sous peine d'ecrasement d'image forcement ) Modifié 9 décembre 2012 par Pink Floyd Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant