Hey Leute, da ich demnächst deutlich weiter mit dem Auto zur Arbeit muss, und dafür verschiedene Wege fahren kann hab ich mich mal nach Staukarten im Internet umgeschaut. Gut gefällt mir diese hier: http://www.wdr.de/themen/verkehr/verkehrslage/streetmapDesign.php?karte=1&java=1&area=260&land=Nordrhein-Westfalen&map=Nordrhein-Westfalen&auswahl=&partstartX=49&partstartY=107&partendX=90&partendY=131&status=zoomBox Ich würde jetzt gerne das Bild der Staukarte jede 15 Minuten speichern um daraus eine Art Film zu machen, so dass ich mir anschauen kann, wann häufig wo Stau ist. Kennt jemand ne Möglichkeit, wie ich sowas realisieren kann?
Sollte sich sogar unter Windows über eine batch-datei lösen lassen, Datei via wget (http://download.freenet.de/archiv_w/wget_for_windows_6649.html) ziehen und dann mit imagemagick (http://www.imagemagick.org/script/binary-releases.php#windows) ein animiertes gif draus machen. 15 minuten schlafen legen, und auf ein neues. Das ganze ist mit recht rudimentären Scriptingkenntnissen auf so ziemlicher jeder Plattform machbar.
Gute Idee, leider scheint wget Probleme damit zu haben. Wenn ich den Link übergebe erhalte ich 1 Datei: streetmapDesign.php@karte=1&java=1&area=260&land=Nordrhein-Westfalen&map =Nordrhein-Westfalen&auswahl=&partstartX=49&partstartY=107&partendX=90&p artendY=131&status=zoomBox Sieht für mich so aus, als wenn da PHP und/oder Java hintersteckt...
Habe es mal mit dem Free Download Manager versucht. Der hat auch einen Zeitplaner drinn. Blöderweise überschreibt er immer die Dateien wenn er sie neu runterläd. Ev. kann man das aber ändern. Ansonsten ist das ein super tool, mit dem man allerhand machen kann (zb. auch Youtube Videos automatisch runterladen und sogar konvertieren zb. in MP3)
Also ich habe mir die Seite mal angesehen. Der Kartenausschnitt steckt in der URL, z.B. http://www.wdr.de/themen/verkehr/verkehrslage/streetmapDesign.php?karte=1&java=1&area=260&land=Nordrhein-Westfalen&map=Nordrhein-Westfalen&auswahl=&partstartX=157&partstartY=42&partendX=183&partendY=60&status=zoomBox Das sollte mit ein par Zeilen Delphi, VB oder Realbasic (oder einer anderen Programmiersprache) einfach zu erledigen sein. In dem Datenstrom steckt ein PNG mit der Grafik. Den Film kann an erstellen, indem man die Einzelbilder z.B. mit Quicktime zu einem MOV, AVI oder sonstwas zusammenfügt - das geht auch über die API vom eigenen Programm aus. Frank
wget "http://www.wdr.de/themen/verkehr/verkehrslage/buildstreetMap.php?auswahl=&area=260&land=Nordrhein-Westfalen&partstartX=6.66705936305&partstartY=51.1062457049&partendX=7.33712430682&partendY=51.3673613199" Was da zurückkommt, ist ein PNG. Einfach umbenennen... Ich hatte mit sowas mal für: http://www.blids.de/spion/bilder/aktkarteger.jpg gebastelt. Das gibt dann einen netten Blitzfilm. Benutzt habe ich dafür die Skriptsprache von AUTOHOTKEY.
@Ekschperde Super, einfach umbenannt nach png und der Teil funktioniert schon mal. Hast du vielleicht das Skript noch? Danke
@Marty sorry, hatte deine Post gerade gar nicht gesehen. Das sieht doch super aus. kannst du mir das schicken oder als attachment anhängen?
Das Script läuft ganztägig in der Firma ;-) und macht noch einige Dinge mehr. Aber mal so als Anregung: cnt=1000 label: runwait wget http://www.blids.de/spion/bilder/aktkarteger.jpg StringRight,filename,cnt,3 filemove,aktkarteger.jpg,%filename%.JPG cnt+=1 sleep 900000 goto label und um den film zu erzeugen: ffmpeg -r 10 -b 1800 -i %03d.jpg OUT.MP4
Werner: Das ganze ist für bash geschrieben (Windows Shell kann ich nicht), aber die Programme gibt es für alle BSe und der Rest ist nicht soooo kompliziert. Grüße
1 | #!/bin/bash
|
2 | # Dieses Script laeuft dauernd und laedt alle ~10 min die aktuelle Staukarte herunter.
|
3 | picaddress="http://www.wdr.de/themen/verkehr/verkehrslage/buildstreetMap.php?auswahl=&area=260&land=Nordrhein-Westfalen&partstartX=6.66705936305&partstartY=51.1062457049&partendX=7.33712430682&partendY=51.3673613199" |
4 | while [ 1 ]; do |
5 | # Datum + Uhrzeit im Dateinamen unterbringen:
|
6 | filename="$(date +%Y-%m-%d_%H:%M:%S)" |
7 | wget -O Stau_am_"$filename".png "$picaddress" |
8 | sleep 10m
|
9 | done
|
1 | #!/bin/bash
|
2 | # Bastelt aus den Bildern einen Film. im Verzeichnis mit den Bildern starten.
|
3 | # Alle pngs durchgehen:
|
4 | for photo in Stau_am_*.png; do |
5 | # Datum aus dem Dateinamen ausschneiden
|
6 | date="$(echo "$photo" | sed -r -e 's/.*am_//' -e 's/\.png//' -e 's/_/ /g')" |
7 | # neuer Dateiname fuer die tmp files (jpg, weil mencoder das lieber mag)
|
8 | outname="temp_$(basename "$photo" .png)".jpg |
9 | echo "$outname $date" |
10 | # aus dem png mit imagemagick ein jpg mit eingeblendetem Datum machen
|
11 | convert "$photo" -quality 100 -pointsize 20 -fill 'rgba(0,0,0,1)' \ |
12 | -gravity SouthWest -annotate +10+10 "$date" "$outname" |
13 | done
|
14 | # Die oben erzeugten jpgs zu einem Film verwursten:
|
15 | mencoder "mf://temp_*.jpg" -mf fps=1 -o test.avi -ovc lavc -lavcopts vcodec=mpeg4 |
16 | rm -v temp_*.jpg |
So, hab heute mal nen bischen gebastelt.
1 | @echo off |
2 | set stauadresse="http://www.wdr.de/themen/verkehr/verkehrslage/buildstreetMap.php?auswahl=&area=260&land=Nordrhein-Westfalen&partstartX=6.66705936305&partstartY=51.1062457049&partendX=7.33712430682&partendY=51.3673613199" |
3 | |
4 | if not exist Staumeldungen mkdir Staumeldungen |
5 | |
6 | :start |
7 | datum.exe /target:. |
8 | call m$m.bat |
9 | del m$m.bat |
10 | |
11 | Rem Unterverzeichnisse für Jahr/Monat/Tag anlegen |
12 | if not exist Staumeldungen\%_yyyy% mkdir Staumeldungen\%_yyyy% |
13 | if not exist Staumeldungen\%_yyyy%\%_mm% mkdir Staumeldungen\%_yyyy%\%_mm% |
14 | if not exist Staumeldungen\%_yyyy%\%_mm%\%_dd% mkdir Staumeldungen\%_yyyy%\%_mm%\%_dd% |
15 | |
16 | Rem Dateiname + Pfad vordefinieren |
17 | set dateiname=%_yyyy%%_mm%%_dd%-%_hr%%_min%.png |
18 | set pfad=Staumeldungen\%_yyyy%\%_mm%\%_dd% |
19 | |
20 | REM Staumeldungen laden |
21 | echo Lade Staumeldung %dateiname% |
22 | wget -q -O %pfad%\%dateiname% %stauadresse% |
23 | |
24 | Rem Datum/Uhrzeit ins Bild einblenden |
25 | .\ImageMagickPortable\App\ImageMagick\6.3.6\convert %pfad%\%dateiname% -annotate +10+10 %dateiname% %pfad%\%dateiname%.new.png |
26 | |
27 | Rem Ok, jetzt warten bis zum nächsten Bild |
28 | echo wait 60 seconds |
29 | wait 60 |
30 | goto start |
Jetzt wird alle 60 Sekunden ein Bild ins jeweilige Unterverzeichnis abgelegt. Was noch nicht funktioniert ist das einblenden von Datum/Zeit ins Bild durch Imagemagick. Ich bekomme die Fehlermeldung
1 | Lade Staumeldung 20080706-1553.png |
2 | convert: no decode delegate for this image format `Staumeldungen\2008\07\06\20080706-1553.png'. |
3 | convert: missing an image filename `Staumeldungen\2008\07\06\20080706-1553.png.new.png'. |
4 | wait 60 seconds |
Ich hab Imagemagick in einer Portablen Version installiert und er schein ein Problem mit dem PNG Bild zu haben. Weiss jemand noch andere Software um Datum und Uhrzeit ins Bild zu kopieren? Ich hab schon bei Google gesucht, aber die meisten Anwendungen die ich gefunden habe sind keine Kommandozeilenprogramme.
Die Zeit ist ja schon im Filenamen. Nur wenn ich die Bilder in ein animated gif oder ein avi packe sind die dateinamen ja weg...
Na. die Zeit in ein GIF rein macht man am besten mit einer normalen Applikation, dafuer kann man ein VC++ oder so nehmen. Muss ja nicht webbasiert oder so sein.
So, jetzt läufts... Vielleicht hat ja noch jemand Spass dran. Besten Dank für die Hilfe.
Hier mal eins der filmischen Ergebnisse. Nicht vom Staugeschehen, sondern eine Gewitterfront über Deutschland.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.