Unendlicher Fotoblog Speicher durch PicasaView Plugin
Obwohl ich die Fotos in diesem Blog für die Ansicht am Monitor runter skaliere kam durch die diversen Bildergalerien über die Zeit so einiges an Speicherplatz zusammen. Eine schnelle Möglichkeit die Fotos auszulagern ist es sie in einem Picasa Web Album zu speichern. Der Upload geht dank Drag&Drop-Unterstützung leicht von der Hand und bis zu einer Kantenlänge von 2048 Pixel kann man unbegrenzt Fotos hochladen, was für praktisch all meine Bilder im Web gilt.
Mit dem WordPress Plugin PicasaView kann man die Fotos, nachdem man das Album nach dem Upload öffentlich freigegeben hat, sehr leicht als Galerie in einen Blogpost einbauen. Die Syntax sieht so aus.
[picasaView album='Albumtitel' instantView=yes]
Ich nutze dieses Verfahren jetzt seit drei Monaten und es integriert sich sehr gut in meinen Fotoblogger Workflow.
Logitech Sqeezebox spricht DLNA
Ich hab das Thema Multiroom Audio und Video mal wieder aufgegriffen. Wenn man dabei nicht auf eine komplette Insellösung wie Sonos setzen will, will man sowohl DLNA als auch AirPlay unterstützen. Bei DLNA gefällt mir, dass das Smartphone auch nur zur Steuerung zwischen zwei Geräten genutzt werden kann ohne dass die gestreamten Daten selbst über das Smartphone wandern. Bei AirPlay dagegen kann man auch an mehrer Empfänger gleichzeitig senden, wenn man mal die ganze Wohnung mit seinem guten Geschmack erfreuen will. Unser Denon 1912 Verstärker macht das sehr vorbildlich. Er unterstützt direkt beide Standards.
Logitech dagegen war mit der inzwischen eingeschlafenen Squeezebox-Reihe sehr früh dran und weicht vom DLNA-Standard ab. Ich besitze davon das Squeezebox Radio als Wecker im Schlafzimmer. Vor kurzem habe ich mit Freude entdeckt, dass Logitech in der Version 7.7 des Media Server DLNA-Unterstützung hinzugefügt hat. Praktischer Weise hat ein fleißiger QNAP NAS Besitzer eine Version gebaut, die auf unserem QNAP TS-419P+ läuft. Damit ist der Dienst als DLNA-Medienquelle nutzbar und alle Squeezeboxgeräte im Netzwerk werden DLNA-Empfänger. Dies wollte bei mir nach der Installation jedoch nicht gleich gelingen. Nach einiger Suche fand ich heraus, dass man auf der Konfigurationsseite http://IP_OF_YOUR_NAS:9099/ssots im Settings Tab noch UPnP aktivieren und anschließend im Status Tab den Dienst einmal stoppen und wieder starten muss.
Ok, Wohnzimmer und Schlafzimmer – Haken dran. Für die übrigen Räume plane ich je nach benötigter Videounterstützung einfache Android Smartphones oder Tablets mit angeschlossenen Aktivlautsprechern als Empfänger zu verbauen. Im Play Store gibt es mit dem AirPlay/DLNA Receiver eine spannenden App, die als kombinierter AirPlay/DLNA-Empfänger dient. Leider scheint es noch kein Stück Software zu geben, das AirPlay in DLNA übersetzt und damit reine DLNA-Empfänger AirPlay-kompatibel macht.
Zeitraffer aus Einzelfotos
Ich habe eine Schwäche für Zeitrafferaufnahmen. Um gutes Ausgangsmaterial zu erhalten, kann man seine Kamera auf ein Stativ stellen und regelmäßig auslösen lassen oder man nutzt eine der zahlreichen Webcams an imposanten Orten auf der Welt. Ende letzten Jahres hat die Webcam auf dem Münchner Olympiaturm eine spannende Weitwinkeloptik bekommen. Der Bildausschnitt hat mich inspiriert daraus ein Zeitraffervideo zu erstellen.
Hierfür speichere ich das öffentlich zur Verfügung gestellte Webcambild regelmäßig ab.
Da ich derzeit keinen V-Server habe, auf dem ich Cronjobs ausführen könnte, habe ich auf meinem Router einen Cronjob eingerichtet, der das Script auf dem Server regelmäßig aufruft.
* * * * * root /usr/bin/wget -q -O /dev/null http://meinserver.de/olympiaturmWebcam.php
Wenn genug Bildmaterial zusammengekommen ist, starte ich ein kleines Script, das die Fotos vom Server Zwischenspeicher herunterlädt, zu einem Video zusammensetzt und etwas Hintergrundmusik hinzufügt.
# !/bin/sh
# Timelapse Script
cd /media/Timelapse/Olympiaturm
# neue Webcambilder laden
wget -A jpg -m -p -np -nd -N -l 1 http://meinserver.de/OlympiaturmBilder/
# 7 Tage Rückblick ###########################################################
# Bilder der letzten 7 Tage raussuchen
mkdir img_in_order
x=1;
for i in `find . -maxdepth 1 -name "*.jpg" -mtime -7 | sort -n`; do
counter=$(printf %04d $x);
ln "$i" img_in_order/img"$counter".jpg;
x=$(($x+1));
done;
# Bilder mit zu wenig Inhalt, z.B. Nachtbilder, anhand der Größe rausschmeißen. Eignet sich auch, um fehlerhaft übertragene Bilder zu entfernen.
find img_in_order/ -size -15k -name "*.jpg" -exec rm -rf {} \;
# Einzelbilder zu Film zusammenfügen
mencoder mf://img_in_order/*.jpg -mf fps=25:type=jpg -ovc copy -oac copy -o film_letzte_woche.avi
# Tonspur hinzufügen
ffmpeg -shortest -i film_letzte_woche.avi -vcodec copy -i sound.mp3 -acodec libmp3lame -ac 2 -ab 128k -y film_letzte_woche_sound.avi
# Fürs Web kodieren
# h2.64
ffmpeg -i film_letzte_woche_sound.avi -strict experimental -f mp4 -vcodec mpeg4 -r 25 -b 2000k -s 640x480 -acodec aac -ac 2 -ab 128k -y olympiaturm_letzte_woche.mp4
# ogv
ffmpeg -i film_letzte_woche_sound.avi -acodec libvorbis -r 25 -b 2000k -s 640x480 -ab 128k -y olympiaturm_letzte_woche.ogv
# aufräumen
rm -r img_in_order
Das Ergebnis sieht dann so aus.
Wer hat Lust hat etwas lebhaftere Zeitraffer mit virtuellen Kameraschwenks zu erzeugen, dem kann ich das Tool LRTimelapse nur wärmstens empfehlen.
22 Jahre Wiedervereinigung
Einheitsparty in München.
Ostseeradweg
von Eckernförde bis Rostock in 10 Etappen.
Olympiapark Geburtstag
Der Olympiapark feiert seinen 40. Geburtstag.
Meine Foursquare Fotowand
Ich schleppe meine Nikon ja fast überall mit hin, aber greife dennoch zwischendurch auch gern zum Telefon, um einen Moment unmittelbar mit Familien und Freunden zu teilen. Allein auf Foursquare sind dabei inzwischen schon so einige Schnappschüsse zusammen gekommen. Durch die neueren App-Versionen, die die Fotos stärker in den Fokus rücken, wurde ich auf diesen kleinen Schatz aufmerksam und blätterte mit Freude durch die eingefrorenen Momente der letzten Monate. Dabei kam ich auf die Idee dieses Fototagebuch mit Schnappschüssen neben meiner eigentlichen Fotogalerie auch auf dieser Homepage zur Verfügung zu stellen. Ich nenne die Sammlung schlicht ‚Orte‘.
Hierfür habe ich in die Foursqaure-API geschaut und ein kleines Script gebastelt. Im ersten Schritt werden alle Checkins geladen und die, bei denen ich ein Foto gemacht habe mit allen für mich relevanten Informationen in einem Array gespeichert.
function getPhotos($limit=1)
{
$foursquare_token = 'XXX';
$count = 0;
$jsonString = file_get_contents('https://api.foursquare.com/v2/users/self/checkins?oauth_token='.$foursquare_token.'&v=20120824&limit=1000');
$obj = json_decode($jsonString);
$checkins = $obj->{'response'}->{'checkins'}->{'items'};
foreach ($checkins as $checkin)
{
foreach ($checkin->{'photos'}->{'items'} as $picture)
{
$photos[] = array('date' => $checkin->{'createdAt'},
'name' => $checkin->{'venue'}->{'name'},
'city' => $checkin->{'venue'}->{'location'}->{'city'},
'country' => $checkin->{'venue'}->{'location'}->{'country'},
'comment' => $checkin->{'shout'},
'imageURL' => $picture->{'prefix'}."original".$picture->{'suffix'},
'thumbURL' => $picture->{'prefix'}."200x200".$picture->{'suffix'});
$count++;
if ($count >= $limit)
return $photos;
}
}
return $photos;
}
Für den Zugriff wird der persönliche Account-Token benötigt, den man z.B. nach Anmeldung auf der API Explorer Seite auslesen kann.
Eine simple Demofunktion gibt die Fotos aus.
function getPhotosHTML($limit=1, $picturesPerRow=4)
{
$photos = getPhotos($limit);
$i=0;
foreach ($photos as $photo)
{
echo ""; echo "
";
$i++;
if ($i%$picturesPerRow == 0)
echo "
";
}
}
Um nicht bei jeder Seitenanfrage auf die API zu gehen, kann man sich bei Bedarf die Antwort auch noch in einem kleinen Cache zwischenspeichern.
function getPhotosCached($limit=1)
{
$cache_file = "";
$cache_life = 60*60*2; //caching time, in seconds
$filemtime = @filemtime($cache_file); // returns FALSE if file does not exist
$photos = '';
if (!$filemtime or (time() - $filemtime >= $cache_life)){
$photos = getPhotos($limit);
file_put_contents($cache_file, serialize($photos));
}
else
{
$photos = unserialize(file_get_contents($cache_file));
}
return $photos;
}
Packard Bell Windows-Recovery
Na da hatte ich die letzten Tage aber einen schwierigen Patienten auf dem OP-Tisch. Vor dem Verkauf eines Packard Bell Desktop-Rechners wollte ich mittels der Recovery-DVD das ursprüngliche Betriebssystem Windows Media Center Edition 2005 wiederherstellen. Fragt mich nicht warum ich mir diesen Ärger angetan habe, aber wenn nun mal eine Betriebssystem-Lizenz dabei ist, will man sie ja auch nutzen und irgendwie war wohl mein Tüftlerinstinkt geweckt.
Ich muss sagen ich habe eine starke Abneigung gegen Recovery-CDs – sie schränken die Installation unnötig ein, installieren einen Haufen Software, die niemand braucht und funktionieren nur manchmal. Vor dem Verkauf des besagten Rechners wollte ich natürlich dessen Festplatte sicher löschen und tat dies mit Darik’s Boot ans Nuke auch sehr sorgfältig. Anschließend verweigerte die Recovery-DVD mit einem ‚Glue Part Error 5‘ den Dienst. Was soll das? Recovery-CDs erwarten meiste irgendwelchen versteckten Quatsch auf der Festplatte. Aber Festplatten gehen auch mal kaputt und müssen ersetzt werden.
Das muss sich doch irgendwie reparieren lassen. Ich googelte mich durch diverse Forenbeiträge und bastelte dabei folgende Lösung. Wenn man weiß wie, natürlich sehr einfach. Daher dieser Post für mich und die Nachwelt.
Die Festplatte muss eine FAT32 Partition namens HDD aufweisen. Dazu am besten alle Partitionen mit fdsik löschen und danach eine neuen Partition erstellen. Nach dem Neustart mit
format c: /v:HDD
formatieren.
Packard Bell hat sich überlegt die individuelle Rechnerkonfiguration in einen versteckten Bereich der Festplatte zu ‚tätowieren‘. Dazu steht auf der Master-Recovery-DVD das Tool exths bereit.
Nach dem Start mit exths /restore wird man nach den Bezeichnungen P/N und S/N gefragt, die man der Geräterückseite entnehmen kann. Bei der Sprachauswahl gibt man 03 für deutsch ein. Jetzt wird eine Liste zu installierender Treiber und Software abgefragt. Hierbei ist es wichtig unter Software unbedingt etwas auszuwählen. Dahinter verbirgt sich die Windows Version. Ich habe hier zunächst den Fehler gemacht möglichst wenig auszuwählen, um die Installation zusätzlicher Software zu vermeiden. Oh, diese Konfiguration dürfen nur Packard-Bell-Techniker durführen. Ich gebe den Support Code PBE98 ein und bin weiter. Nach Abschluss der Konfiguration sollte das Ganze noch ins BIOS geschrieben werden, weiß gar nicht mehr, ob das Pflicht ist. Dies erfolgt über den Aufruf
drivers\tattoo /createdmifromhs
Nun sollte die Recovery-DVD nach einem Neustart die Installation wie gewünscht durchführen.
Natürlich habe ich während der Recherche auch versucht das Problem zu umgehen. Schließlich gibt es Tools die mit Hilfe des i386-Ordners auf Recovery-Partitionen vollwertige Installations-CDs erstellen. Dies kann man z.B. komfortabel mit dem Slipstreamer von der c’t erreichen. Im Verzeichnis src der Recovery-Master-DVD (6994950003) habe ich auch ein Inhaltsverzeichnis files.scr gefunden. Darin lernt man, dass sich der i386-Ordner im Archiv parts\WOF000AA.03\files.arj befindet. Doch Packard Bell hat das hoch geheime ARJ-Archiv verschlüsselt, oh man!
Auch mit Windows 7 wäre das Problem nicht aufgetreten, da man hierfür die Installationsmedien direkt von Microsoft nachladen kann. Warum denn auch nicht, die rechtmäßige Nutzung hängt doch schließlich am Lizenz-Schlüssel und nicht irgendeiner Kurstoffscheibe.
Sommerfestival Feuerwerk
Bohnen
Wespenparty
Neulich auf unserem Balkon…
Bubbles
Werk 1
Beeindruckender Blick hinter die Kulissen am BMW Familientag.
World Rowing Cup
Olympia Qualifikation auf der Regattastrecke in Oberschleißheim.
24h MTB Rennen
im Olympiapark
Ergebnisse: http://my2.raceresult.com
Nach einer verregneten Nacht
… erlaubt der Brückentag ein paar Blendenexperimente.
Befreiungshalle
Kloster Benediktbeuern
Walchensee
Pfingstwanderung zum Herzogstand auf 1600 m.