Pink Floyd Posté(e) le 9 décembre 2012 Posté(e) le 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é le 9 décembre 2012 par Pink Floyd
tekalix Posté(e) le 9 décembre 2012 Posté(e) le 9 décembre 2012 salut Pink Floyd, merci ca va me servir bientot
Pink Floyd Posté(e) le 9 décembre 2012 Auteur Posté(e) le 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é le 9 décembre 2012 par Pink Floyd
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