Mehr Bilder bei Alarm (5907 HD)

Momentan ist es so, dass im Falle eines Alarms offenbar nur 4 Bilder pro Minute per FTP versandt werden. Das ist manchmal zu wenig, da mitunter Bewegung und Gesichter nicht vollständig sichtbar sind.
Der nachfolgende Powershell-Script prüft, ob ein neues Bild per FTP hochgeladen wurde, holt sich eine beliebige Anzahl weiterer Bilder von der Cam und stellt diese im gleichen Verzeichnis wie die Original-Alarmbilder bereit.
Das ist insbesondere dann gut, wenn es ich um einen vielfrequentierten Bereich handelt oder man mit den 4 Bildern pro Minute aus sonstigen Gründen nicht auskommt.
Der Script läuft und wurde getestet auf einem Windows 2012 Server, der parallel als FTP-Server für die Cam fungiert.
Man sollte den Script als Task beim Serverstart einplanen, so ist er durchgehend aktiv.
Auf entsprechende Ausführungsrechte achten, damit auf die benötigten Verzeichnisse zugegriffen werden kann.


# FTP-Verzeichnis auf Server
$folder = 'D:\Inetpub\ftp\webcam'
$filter = '*.jpg'

# Filesystem Watcher auf neue .jpg-Objekte
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
 IncludeSubdirectories = $false
 NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
    $path = $Event.SourceEventArgs.FullPath
    $name = $Event.SourceEventArgs.Name
    $changeType = $Event.SourceEventArgs.ChangeType
    $timeStamp = $Event.TimeGenerated
    $folder = Split-Path $path
    Set-Location -Path $folder

    # Anzahl der zusätzlichen Bilder
    $number = 10
    $User = "guest"
    $Pwd = ConvertTo-SecureString –String "DasPasswortHierRein" –AsPlainText -Force
    $Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $Pwd
    While( $number-- ) {
        # Als .~tmp speichern um rekursives Event durch neues .jpg zu vermeiden
        # Zur Unterscheidung von originalen jpegs wird ein kleines "p" am dateinamen angehängt
        $filename = $folder + "\A" + (Get-Date).ToString("yyMMddHHmmssff") + "p.~tmp"
        #DDNS-Name und port anpassen
        Invoke-WebRequest -Uri "http://xxxxxxx.ddns-instar.com:81/tmpfs/snap.jpg" -Credential $Credential -OutFile $filename
    }
    # Alle .~tmp-Dateien nach .jpg umbenennen -> löst kein Event aus
    get-childItem "*.~tmp" | rename-item -newname { $_.name -replace '\.~tmp','.jpg' }
}

Manuell kann man den Script wie folgt deaktivieren:

Unregister-Event -SourceIdentifier FileCreated

cp

Hallo,

ich hätte auch gern mehr Bilder bei einem Alarm. Meine Bilder werden aber auf meiner FritzBox gespeichert. Gibt es auch eine andere Möglichkeit der Anpassung über das Web Gui oder eventuell über die Firmware?

Vielen Dank