Beiträge von mamba0815

    card,


    >Es gibt aus meiner Sicht noch ein theoretisches Problem (...)


    >>Das Problem der fehlerhaften Bewegungserkennung kann doch recht einfach geklärt werden (aus Anwendersicht): (...)


    ich hoffe wir sprechen vom gleichen "Problem":


    es handelt sich hier um ein generelles Thema, was nicht von der Frequenz der Prüfung abhängt. Auch wenn ich nur alle 3-5 Sekunden vergleiche, dann wird ein fehlerhaftens JPG immer eine Bewegungserkennung auslösen, der aber keine reale Bewegung im Vorfeld zu Grund liegt. Anscheinend gibt die Grandtec Bilder aus, obwohl sie selbst noch den File "still.jpg" aktualisiert. Ich frage mich, warum das nicht schon vom OS abgefangen wird bzw. warum der httpd einen noch nicht fertiggeschriebenen File überhaupt ausgibt.


    Gruß Mamba

    Hi card,


    >>Eins hab ich mal Probiert, wenn ich den Link
    >>http://user:password@<ip-der-cam>/still.jpg direkt mit den richtigen
    >>Werten im I-Explorer eingebe, kommt: Seite kann nicht angezeigt
    >>werden. Ist das normal?


    Du hattest ja schon mitgeteilt, daß M$ diese Möglichkeit mit einem der letzten IE6 Updates unterbunden hat.


    Anscheinend gibt es aber eine Abhilfe, d.h. Ab IE Version 6. muss folgende Änderung über die "regedit" vorgenommen werden :
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\
    FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
    "iexplore.exe"=dword:00000000


    Gruß Mamba

    Hi LazyT,


    >>Deshalb ist ja die nächste Stufe auch die Integration
    >> des "Bildholens" in webcam.


    alles klar. Danke für die Rückmeldung. Ich sehe schon: wir sind in sync. :winking_face:


    >>wenn ich jetzt das Bild erst runterskaliere um die Bewegung zu
    >>erkennen muss ich das ja dann nochmal für die Ausgabe in der
    >>richtigen Größe machen - bringt also nix.


    Wir muessen das Original-Bild (unskaliert) ausgeben, alleine schon wegen der Qualität. Zustimmung. In meinem "motion" script nutze ich die runterskalierten Bilder nur zum Bewegungserkennen, die Ausgabe auf dem TV Screen geht mit dem letzten "still.jpg" in Originalfassung.
    Ich halte dies für die beste Variante, auch aus einem anderen Grund:
    die cpu load durch die Bewegungserkennung sollte minimiert sein, d.h. wir brauchen irgendwo später in der 'main ()' ein 'sleep ()', damit der linux scheduler nicht allzu sehr ins schwitzen kommt. Das motion holt sich derzeit jeden freien cpu-time slot. Hmhm ...


    Es gibt aus meiner Sicht noch ein theoretisches Problem, was wir aber nicht lösen können. Mir sind mit 'motion' einzelne Bewegungserkennungen aufgefallen, in denen definitiv keine Bewegungen vorlagen. Grund: die Kamera hat ein nur teilweise fertiggestelltes Bild ausgegeben (wget). Dies wird im Allg. durch djpeg erkannt und als Fehler gemeldet. Seltener wird das Bild nicht als fehlerhaft erkannt, trotz Schwarzanteilen, oder verschobenen Zeilenanfaenge. Die Kamera sollte so etwas bereits abfangen. Meine 'cheesy' Grandtec schafft das nicht zu 100%. Bin aber guter Hoffnung, daß eine gute IP-CAMs das hinkriegen. Würde dieses Thema derzeit nach hinten priorisieren.


    Zum Testen des 'webcam's wäre es ideal, wenn du eine bereits im Internet verfügbar IPCAM findest, die z.b. ein Aquariumsauschnitt zeigt. So gaebe es Zeiten mit und ohne Fische ... ideal zum debuggen des source codes. Leider habe ich kein Aquarium, sonst würde ich dir meine zur Verfügung stellen. Wenn wir keine finden und du diese Idee für gut befindest, dann schaue ich mal, was ich machen kann. Meinung?


    Card
    Die Idee mit "Vergrößern" und folgenden "zeitdiskreten" streamen finde ich sehr gut. Anwendersicht! :smiling_face:
    Sollten wir aufgreifen, wenn die Grundfunktion "Bilderkennung" dargestellt ist.


    Gruß Mamba

    Hi,


    ok. Funktioniert. Aber es gibt ein bug: Da webcam_02 den jpg file nicht selbst per wget holt, muessen wir das Lesen/Schreiben des jpg files entweder verlocken (machbar), oder den jpg download ins webcam verlagern (besser).


    Die angezeigten Bilder auf dem TV Screen zeigen, daß webcam das jpg einliest, während wget die Daten noch schreibt. Es werden daher hin und wieder verkrüpelte Bilder darstellt. Ergo erkennt webcam fast immer eine Bewegung, auch wenn keine da ist.


    Locking:
    wie wäre es, wenn webcam nach dem file "wget.lock" schaut, wenn der weg ist, den file "webcam.lock" anlegt und dann jpg file einliest. Das wget-download script macht das gleiche lockfile prüfen, nur vice versa.


    Grund, screen log:


    decode /tmp/baby.jpg (640x480)
    image diff = 67.6024
    Motion detected...
    decode /tmp/baby.jpg (640x480)
    Corrupt JPEG data: premature end of data segment
    image diff = 73.2896
    Motion detected...
    Empty input file


    Nach dem "Empty input file" hat sich webcam beendet und das zuletzt ausgegebene jpg blieb im Bild eingeblendet.


    Schwellwert:
    Wenn ich die Kamera komplett verdunkle, dann wird ein diff wert von 9 angezeigt. Ein sinnvoller Schwellwert wird dann sicher irgendwo bei 20 liegen. Konnte das aber wegen dem o.g. Problem noch nicht ausprobieren.


    Mehrfachalarm:
    Du hast in eine Hysterese von 1sek eingebaut, bevor eine erneute Bewegung erkannt wird. Ich habe mich mit diesem Thema gestern Abend 1h lang beschaeftigt und bin zur Erkenntnis gekommen, dass es besser ist so lange keine Bewegung mehr zu erkennen, wenn der diff Wert mindestens 1x unter den Schwellwert gefallen ist, d.h. erst mal sicher keine Bewegung mehr da war. Nur so als Hinweis ...


    Dekodieren:
    Das Dekodieren dauert sehr lange (ca. 2 sek). Grund ist sicher die Größe der Bilder. Habe beim experimentieren festgestellt, daß man die jpgs auf 160x120 runterrechnen kann (8bit) und die Erkennung immer noch optimal ist. DJPEG kann das ja recht effizient. Danach dauert der image-compare nur noch ca. 0,25 sek.


    Meinung?


    Gruß Mamba

    Anbei wput für die ppc plattform. Für 7025 sobald ich den compiler dafuer habe.


    Gruß Mama



    root@dm7020:/media/hdd/bin# ./wput -h
    Usage: wput [options] [file]... ...<br> url [URL]ftp://[username[:password]@]hostname[:port][/[path/][file]]


    Startup:
    -V, --version Display the version of wput and exit.
    -h, --help Print this help-screen
    -b, --background go to background after startup


    Logging and input file:
    -o, --output-file=FILE log messages to FILE
    -a, --append-output=FILE append log messages to FILE
    -q, --quiet quiet (no output)
    -v, --verbose be verbose
    -d, --debug debug output
    -nv, --less-verbose be less verbose
    -i, --input-file=FILE read the URLs from FILE
    -s, --sort sorts all input URLs by server-ip and path
    --basename=PATH snip PATH off each file when appendig to an URL
    -I, --input-pipe=COMMAND take the output of COMMAND as data-source
    -R, --remove-source-files unlink files upon successful upload


    Upload:
    --bind-address=ADDR bind to ADDR (hostname or IP) on local host
    -t, --tries=NUMBER set retry count to NUMBER (-1 means infinite)
    -nc, --dont-continue do not resume partially-uploaded files
    -u, --reupload do not skip already completed files
    --skip-larger do not upload files if remote size is larger
    --skip-existing do not upload files that exist remotely
    -N, --timestamping don't re-upload files unless newer than remote
    -T, --timeout=10th-SECONDS set various timeouts to 10th-SECONDS
    -w, --wait=10th-SECONDS wait 10th-SECONDS between uploads. (default: 0)
    --random-wait wait from 0...2*WAIT secs between uploads.
    --waitretry=SECONDS wait SECONDS between retries of an upload
    -l, --limit-rate=RATE limit upload rate to RATE
    -nd, --no-directories do not create any directories
    -Y, --proxy=http/socks/off set proxy type or turn off
    --proxy-user=NAME set the proxy-username to NAME
    --proxy-pass=PASS set the proxy-password to PASS


    FTP-Options:
    -p, --port-mode no-passive, turn on port mode ftp (def. pasv)
    -A, --ascii force ASCII mode-transfer
    -B, --binary force BINARY mode-transfer


    See wput(1) for more detailed descriptions of the options.
    Report bugs and suggestions via SourceForge at
    h**p://sourceforge.net/tracker/?group_id=141519

    Hi,


    mich nervte das rudimentäre, unvollständge wget der busybox. Daher habe ich mal schnell dass aktuellste wget (1.10.1) für PPC (5xxx/70x0) kompiliert. Verlgeicht mal die Optionen beider Varianten. Dann wird es klar. Dennoch ist das busybox-wget klein und auf Geschwindigkeit optimiert, während das hier angehaengte eher mit Funktionalität glänzt.


    Gruß Mamba


    GNU Wget 1.10.1, a non-interactive network retriever.
    Usage: wget [OPTION]... [URL]...


    Mandatory arguments to long options are mandatory for short options too.


    Startup:
    -V, --version display the version of Wget and exit.
    -h, --help print this help.
    -b, --background go to background after startup.
    -e, --execute=COMMAND execute a `.wgetrc'-style command.


    Logging and input file:
    -o, --output-file=FILE log messages to FILE.
    -a, --append-output=FILE append messages to FILE.
    -d, --debug print lots of debugging information.
    -q, --quiet quiet (no output).
    -v, --verbose be verbose (this is the default).
    -nv, --no-verbose turn off verboseness, without being quiet.
    -i, --input-file=FILE download URLs found in FILE.
    -F, --force-html treat input file as HTML.
    -B, --base=URL prepends URL to relative links in -F -i file.


    Download:
    -t, --tries=NUMBER set number of retries to NUMBER (0 unlimits).
    --retry-connrefused retry even if connection is refused.
    -O, --output-document=FILE write documents to FILE.
    -nc, --no-clobber skip downloads that would download to
    existing files.
    -c, --continue resume getting a partially-downloaded file.
    --progress=TYPE select progress gauge type.
    -N, --timestamping don't re-retrieve files unless newer than
    local.
    -S, --server-response print server response.
    --spider don't download anything.
    -T, --timeout=SECONDS set all timeout values to SECONDS.
    --dns-timeout=SECS set the DNS lookup timeout to SECS.
    --connect-timeout=SECS set the connect timeout to SECS.
    --read-timeout=SECS set the read timeout to SECS.
    -w, --wait=SECONDS wait SECONDS between retrievals.
    --waitretry=SECONDS wait 1..SECONDS between retries of a retrieval.
    --random-wait wait from 0...2*WAIT secs between retrievals.
    -Y, --proxy explicitly turn on proxy.
    --no-proxy explicitly turn off proxy.
    -Q, --quota=NUMBER set retrieval quota to NUMBER.
    --bind-address=ADDRESS bind to ADDRESS (hostname or IP) on local host.
    --limit-rate=RATE limit download rate to RATE.
    --no-dns-cache disable caching DNS lookups.
    --restrict-file-names=OS restrict chars in file names to ones OS allows.
    -4, --inet4-only connect only to IPv4 addresses.
    -6, --inet6-only connect only to IPv6 addresses.
    --prefer-family=FAMILY connect first to addresses of specified family,
    one of IPv6, IPv4, or none.
    --user=USER set both ftp and http user to USER.
    --password=PASS set both ftp and http password to PASS.


    Directories:
    -nd, --no-directories don't create directories.
    -x, --force-directories force creation of directories.
    -nH, --no-host-directories don't create host directories.
    --protocol-directories use protocol name in directories.
    -P, --directory-prefix=PREFIX save files to PREFIX/...
    --cut-dirs=NUMBER ignore NUMBER remote directory components.


    HTTP options:
    --http-user=USER set http user to USER.
    --http-password=PASS set http password to PASS.
    --no-cache disallow server-cached data.
    -E, --html-extension save HTML documents with `.html' extension.
    --ignore-length ignore `Content-Length' header field.
    --header=STRING insert STRING among the headers.
    --proxy-user=USER set USER as proxy username.
    --proxy-password=PASS set PASS as proxy password.
    --referer=URL include `Referer: URL' header in HTTP request.
    --save-headers save the HTTP headers to file.
    -U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.
    --no-http-keep-alive disable HTTP keep-alive (persistent connections).
    --no-cookies don't use cookies.
    --load-cookies=FILE load cookies from FILE before session.
    --save-cookies=FILE save cookies to FILE after session.
    --keep-session-cookies load and save session (non-permanent) cookies.
    --post-data=STRING use the POST method; send STRING as the data.
    --post-file=FILE use the POST method; send contents of FILE.


    FTP options:
    --ftp-user=USER set ftp user to USER.
    --ftp-password=PASS set ftp password to PASS.
    --no-remove-listing don't remove `.listing' files.
    --no-glob turn off FTP file name globbing.
    --no-passive-ftp disable the "passive" transfer mode.
    --retr-symlinks when recursing, get linked-to files (not dir).
    --preserve-permissions preserve remote file permissions.


    Recursive download:
    -r, --recursive specify recursive download.
    -l, --level=NUMBER maximum recursion depth (inf or 0 for infinite).
    --delete-after delete files locally after downloading them.
    -k, --convert-links make links in downloaded HTML point to local files.
    -K, --backup-converted before converting file X, back up as X.orig.
    -m, --mirror shortcut for -N -r -l inf --no-remove-listing.
    -p, --page-requisites get all images, etc. needed to display HTML page.
    --strict-comments turn on strict (SGML) handling of HTML comments.


    Recursive accept/reject:
    -A, --accept=LIST comma-separated list of accepted extensions.
    -R, --reject=LIST comma-separated list of rejected extensions.
    -D, --domains=LIST comma-separated list of accepted domains.
    --exclude-domains=LIST comma-separated list of rejected domains.
    --follow-ftp follow FTP links from HTML documents.
    --follow-tags=LIST comma-separated list of followed HTML tags.
    --ignore-tags=LIST comma-separated list of ignored HTML tags.
    -H, --span-hosts go to foreign hosts when recursive.
    -L, --relative follow relative links only.
    -I, --include-directories=LIST list of allowed directories.
    -X, --exclude-directories=LIST list of excluded directories.
    -np, --no-parent don't ascend to the parent directory.


    Mail bug reports and suggestions to <bug-wget@gnu.org>.

    Hi jenscz,


    woher kriege ich den compiler für die 7025? Habe hier nur den ppc-compiler. Werde mich mal auf die Suche machen. Man muss nur djpeg, icmp und das webcam tool von LazyT kompilieren. Sollte kein Akt sein.


    Habe oben ein Update ge-up-t: motion-01.tar.gz


    Gruß Mamba

    Hallo Miteinander, hi card,


    wir kommen der Sache näher. Es tut. Die Dreambox erkennt eine Bewegung und zeigt dann mit LazyTs webcam binary das auslösende Bild auf dem TV Screen an (derzeit noch festverdrahtet für 5 Sekunden).


    :]


    Hinweis: Es handelt sich hier um meinen ersten (BETA BETA BETA!!!) und vollkommen unsauberen Versuch. Das Ding ist noch warm und daher sind weder Optimierungen noch "fail safe" Netze eingezogen worden. Beispiel: wenn die IPCAM nicht erreichbar ist, steht das script. Die Nutzung der log files und Variablen ist auch noch weit vom Optimum entfernt. Also keine bitte "flames". :grinning_squinting_face:



    Der angehaengte File sollte in /tmp ausgepackt werden (Achtung: nicht in den Flash!). Dann entsteht ein Verzeichnis namens "motion". Darin liegt ein script mit dem gleichen Namen. Das sollte man in einer shell mit "./motion" starten. Zuvor noch die IP Adresse der eigenen IPCAM anpassen und auch die Zugangsdaten (user-id, password).


    Es folgen shell Ausgaben eines int Wertes(z.B. 'icmp: 1'), der für die Gleichheit der letzen beiden empfangenen Bilder steht. Kleiner heißt gleicher. Ab dem Schwellwert "threshold" (derzeit fest auf '6' gesetzt) erkennt die if Abfrage eine Bewegung und löst die Ausgabe auf dem TV Screen aus.


    Der icmp-Algorithmus ist relativ langsam. Daher lasse ich die auszuwertende Bilder von djpeg auf 1/4 der Originalgröße verkleinern. Leider versteht icmp kein jpg, daher muessen die Bilder vor der Verarbeitung nach BMP konvertiert werden. Damit schafft 'motion' ca. 4 Durchläufe / Sekunde. Auf dem P3 1 Ghz sind es ca. 10. Hier ist dann wohl die IPCAM der Flaschenhals. Schneller kommen wohl die Bilder per wget nicht auf die Linuxmaschine. Naja ... mal sehen, was man da noch machen kann.


    Ich bin schon weiter am Optimieren, d.h. ich wäre über Ideen/Anregungen zur Verbesserung sehr interessiert. Logischerweise wird eine variable Einstellung der ipcam-ipaddr, etc noch folgen.


    Gruß Mamba
    _________________________
    Update: 18.09.2006, 18 Uhr


    So langsam gewinnt 'motion' an Kontour.


    motion-0.1.tar.gz.


    Was wurde verbessert?
    1. stdout: heartbeat, icmp wert, icmp max wert, anzahl erkannter bewegungen
    2. alle zur laufzeit erzeugt files werden unter /tmp abgelegt
    3. vorbereitung für serielle ausgabe der letzten x bilder bei bewegungsalarm
    4. settings in variablen abgelegt. man muss nur die punkte 1-4 (sieh file) anpassen/prüfen
    5. erkennungsqualität stark verbessert, keine doppelalarme mehr
    6. geschwindigkeit stark verbessert, teilweise wieder aufgefressen durch statistikfunktionen, etc.


    Was soll noch kommen?
    1. steuerung der settings ueber shell parameter
    2. webcam sollte bilder auch ohne wartezeit ausgeben (t=0)
    3. alles, was euch noch einfällt


    Gruß Mamba

    Leute,


    anbei ein kleines GNU-Hilfstool:


    1.
    ICMP: Vergleicht 2 Bilder(RAW, PGM, BMP) und gibt die Ähnlichkeit aus. Kann man z.B. verwenden, um Bewegungen mittels einer IPCAM zu erkennen.


    Zwei große 2.3 Mbyte BMPs benoetigen ca. 2 sec um berechnet zu werden. Kleinere (z.B. 640x480) dauern ca. 0,5 Sekunden.


    Nach dem Download nicht "gunzip icmp" und "chmod 755 icmp" vergessen.


    2. Gleich mit kommt die "free library for JPEG image compression" von h**p://www.ijg.org. Kann man u.U. gut gebrauchen.


    Viel Spass damit.


    ___________ENGLISH___________________
    Folks,


    1) for a hobby project (baby-ipcam on the Drean TV Screen), I managed to compile the following little helper:


    ICMP reads two image files and prints statistics of the error between the images. Can be used to detect motion using an IP CAM.


    On the DB7020 two 2.3 Mbyte images need approx. 2 secs to compute. Smaler images are done quicker than that.


    Don't forget to gunzip and chmod the icmp file.


    2) Also attached, the free library for JPEG image compression from h**p://www.ijg.org. One might need djpeg occassionally.


    Have fun.


    Gruß/Regards,


    Mamba


    _________________________
    Command line options:


    All command line options have an equivalent short and long form.


    -h, -help
    Print this usage information.


    -i1 IMAGE1, -image1 IMAGE1 [ default: standard input ]
    Specify the file name of image 1. Use '-' for standard input.


    -i2 IMAGE2, -image2 IMAGE2 [ default: standard input ]
    Specify the file name of image 2. Use '-' for standard input.


    -s ROWS COLUMNS, -size ROWS COLUMNS [ default: 512 512 ]
    Specify the size of the images.


    -p NUMPLANES, -planes NUMPLANES [ default: 1 ]
    Specify the number of color planes in the images. This will
    most likely be 1 or 3, but any positive value can be used.


    -d DEPTH, -depth DEPTH [ default: 8 ]
    Specify the bit depth of the images. If the depth is between 1
    and 8 one byte is read per pixel. If the depth is between 9 and
    16, two bytes are read per pixel, most signifigant byte first.
    ICMP does not check to see whether the pixel value read actually
    fits in DEPTH bits.


    -s1 NUM, -skip1 NUM [ default: 0 ]
    Specify the number of header bytes to skip in image file 1.


    -s2 NUM, -skip2 NUM [ default: 0 ]
    Specify the number of header bytes to skip in image file 2.


    -cee, -check-end-eof [ default: yes ]
    Tell ICMP to make sure that after all data is read in both images
    the end of the file has ben reached.


    -ncee, -no-check-end-eof [ default: yes ]
    Tell ICMP to skip the end of file check.


    -e FILE, -encode FILE [ default: none ]
    Specify the encoded data file. If given, ICMP will print
    its size in bytes and bits-per-pixel.


    -f FORMAT, -format FORMAT [ default: see below ]
    Specify the format for printing results of the comparison.


    The -f FORMAT option allows you to specify how the image statistics are
    printed in a flexible way similar to the format string for the printf
    command. Each character from the format string is printed unless it is
    part of an escape sequence. Escape sequences ate two-character sequences
    beginning with '\' to print special characters or '%' to print computed
    statistics. The escape sequences recognized are:
    '\b': backspace
    '\f': formfeed
    '\n': newline
    '\r': carriage return
    '\t': tab
    '\v': vertcal tab
    '\\': \
    '%p': peak signal to noise ratio
    '%r': root mean square error
    '%x': maximum absolute error
    '%y': maximum positive error
    '%z': maximum negative error (as a positive number)
    '%m': mean absolute error
    '%b': compressed file bits per pixel
    '%s': compressed file size in bytes
    '%k': peak signal (2^depth-1)
    '%%': %
    The default format displays all statistics except %k.


    Note that you cannot specify printf style field widths or other
    modifiers for the % escape sequences, as in '%7.2r'.


    For the purposes of computing maximum positive and negative error, the
    second image is subtracted from the first.


    ICMP will print an error message and exit if either input image has
    extra bytes at its end, unless you use the '-ncee' option.


    By default both images are read from standard input. This default
    must be overidden by giving a file for at least one of the images
    otherwise, an error message is printed and the program exits.


    Please contact me (e-mail below) with bug reports, bug fixes, suggestions
    for improving this program, or if you would like to be notified after
    signifigant enhancements are made.


    Copyright (C) 1998-2000 Fred Wheeler
    Licensed under the terms of the GNU General Public License
    h**p://www.gnu.org/copyleft/gpl.html


    The latest version of ICMP can be found at
    h**p://www.cipr.rpi.edu/wheeler/icmp


    Fred Wheeler
    wheeler@cipr.rpi.edu

    Hallo Miteinander,


    kurzer Zwischenstand zur "motion detection":


    Im Jasper Package (h**p://www.ece.uvic.ca/~mdadams/jasper/) ist ein Tool namens "imgcmp" enthalten. Es vergleicht 2 Bilder nach vordefinierten Methoden und gibt das Ergebnis als float aus.


    master:~/motion# imgcmp
    Image Comparison Utility (Version 1.701.0).
    Copyright (c) 2001 Michael David Adams.
    All rights reserved.
    usage:
    imgcmp -f reference_image_file -F other_image_file [-m metric]
    The metric argument may assume one of the following values:
    psnr .... peak signal to noise ratio
    mse ..... mean squared error
    rmse .... root mean squared error
    pae ..... peak absolute error
    mae ..... mean absolute error
    equal ... equality (boolean)


    Mit diesem script (Achtung: keine Optimierung gemacht!) lade ich das Standbild von der Kamera, konvertiere die JPGs in das pnm Format (portable bitmap) und vergleiche es mit dem vorherigen.


    --------script ipcam-wget--------------------------------------
    while true
    do
    wget -q http://root:admin@192.168.xxx.xxx/still.jpg -O baby.jpg
    djpeg -pnm baby.jpg >baby.pnm
    rm baby.jpg
    imgcmp -f baby.pnm -F baby1.pnm -m mse
    cp baby.pnm baby1.pnm
    #sleep 2
    echo "-----"
    done
    --------------------------------------------------------------


    Die Ausgabe ohne Bewegung vor der Kamera (zw. ---- jeweils eine voll Schleife):
    --------------------------------------------------------------
    master:~/motion# ./ipcam-wget
    9.454759
    5.508607
    15.278851
    -----
    8.643014
    5.064655
    15.172617
    -----
    8.307373
    4.599561
    14.637210
    -----
    9.623802
    6.056257
    15.317741
    -----
    --------------------------------------------------------------


    Ausgabe, wenn ich langsam mit der Hand in 1m Abstand vor der Kamera winke:
    --------------------------------------------------------------
    master:~/motion# ./ipcam-wget
    349.764922
    446.020905
    506.253141
    -----
    330.762920
    381.252725
    477.829606
    -----
    249.273945
    267.962005
    323.760902
    -----
    402.104880
    450.979124
    561.318792
    -----
    264.999746
    312.692487
    414.525986
    -----
    ----------------------------------------------------------------


    Soweit zum Stand. Schon mal brauchbar, denke ich.


    Gruß Mamba


    PS: Wer das djpeg tool noch nicht auf seiner Linux Maschine hat:
    h**p://www.ijg.org/

    Hi,


    ideal wäre natuerlich eine Webcam mit eingebauter motion detection. Dann bräuchte nur ein Script ein paar Bilder zu sammeln und schon könnte man die ausgeben lassen. Ideal. Mehr bräuchte man nicht, um die Basis Funktion darzustellen.


    Die billigen Webcams können das natuerlich nicht. Ergo muss die Auswertung auf der Dream passieren. Bin gerade auf der Suche nach einem einfachen tool, das 2 jpgs miteinander vergleicht und den "Unterschieds-Grad" ausgibt.


    Weitere Schritte?


    LazyT, rückst du deinen Source Code raus?


    Gruß Mamba

    Hi LazyT,


    >>Naja, eigentlich dachte ich das webcam so eine Art Daemon wird


    ja, im Prinzip hast du recht. Im Moment bin ich aber erstmal froh, daß ich überhaupt ein JPG auf den TV Screen bringen kann. :winking_face:


    >>Solange die Palette jedoch nicht restored werden kann, ist's eh sinnlos...


    Korrekt.


    Kann einer der Dreamdeveloper was dazu sagen?


    Gruß Daddy Mamba

    Hi LazyT,


    tausend Dank!


    Habe das binary eben auf ner 7020 ausprobiert. Tut. Die E1 Farbpalette ist auch auf meiner Maschine nach dem Ausblenden des Bildes verfälscht.


    Werde mal etwas damit experimentieren. Ein script zu basteln, was nach dem jpg schaut und das binary aufruft, ist ja nun wahrlich kein Akt.


    Gruß Mamba