Aiptek Media Tablet Ultimate unter Ubuntu 11.04

Um das Aiptek Media Tablet Ultimate unter Ubuntu Natty Narwhal (11.04) zum Laufen zu bringen muss man nur den sogenannten „wizardpen“-Treiber installieren.

Zunächst muss man folgendes Repository hinzufügen:

sudo add-apt-repository ppa:doctormo/xorg-wizardpen

Dann kann man den wizardpen Treiber installieren:

sudo apt-get install xserver-xorg-input-wizardpen

Einmal neustarten und das Tablet müsste als Maus funktionieren! 

Wenn gewünscht kann man noch kalibrieren, bei mir hat es aber auch ohne ganz gut funktioniert:

Hiermit das Event unter welchem das Tablet erkannt wird herausfinden:

cat /proc/bus/input/devices

Das sieht bei mir folgendermaßen aus:

I: Bus=0003 Vendor=172f Product=0503 Version=0100
N: Name=" WALTOP Batteryless Tablet "
P: Phys=usb-0000:00:02.1-4.4/input0
S: Sysfs=/devices/pci0000:00/0000:00:02.1/usb1/1-4/1-4.4/1-4.4:1.0/input/input6
U: Uniq=
H: Handlers=sysrq kbd mouse1 event6
B: PROP=0
B: EV=10001f
B: KEY=c03 0 1f0001 0 0 0 0 e08effdf 1cfffff ffffffff fffffffe
B: REL=143
B: ABS=300 1000003
B: MSC=10

Kalibrierung starten:

sudo wizardpen-calibrate /dev/input/event8

Wenn man den Anweisungen folgt, erhält man zum Beispiel folgende Angaben:

According to your input you may put the following
lines into your XF86Config/X.Org configuration file:

Driver "wizardpen"
Option "Device" "/dev/input/event6"
Option "TopX" "558"
Option "TopY" "298"
Option "BottomX" "32000"
Option "BottomY" "19830"

4. Die Angaben in die passende xorg.conf-Datei schreiben:

sudo gedit /usr/lib/X11/xorg.conf.d/70-wizardpen.conf

Unter GIMP kann man das Tablet nun aktivieren indem man unter Bearbeiten->Einstellungen->Eingabegeräte „Erweiterte Eingabegeräte“ wählt und dort das „Waltop Batteryless Tablet“ auswählt. Hier kann man die verschiedenen Achsen nacheinander mit 1-5 durchnummerieren. Schon hat man einen drucksensitiven Malpinsel unter Gimp!

Anmerkung: Sollten die Knöpfe falsch zugeordnet sein (der Knopf am Stift hat bei mir wie die dritte Maustaste funktioniert, dann sollte man folgendes ausprobieren:

xinput set-button-map 8 1 3 2 4 5

„8“ ist bei mir das Tablett, herausgefunden mit xinput –list.

http://www.amazon.de/gp/product/B0041OFVUU/ref=as_li_ss_tl?ie=UTF8&tag=thosternet-21&linkCode=as2&camp=1638&creative=19454&creativeASIN=B0041OFVUU

Fotos/Videos verwalten und automatisiert herunterladen

Mittlerweile besteht meine Fotosammlung aus ca 22.000 Dateien mit einer Gesamtgröße von fast 100GB. Höchste Zeit mir ein paar Gedanken zur Verwaltung sowie Backups zu machen. Das wichtigste ist meiner Meinung nach eine gute Ordnung, mit der man die Fotos später auch wiederfindet. Ich habe mir mittlerweile folgende Ordnerstruktur überlegt:

fotos/yyyy/yyyy-mm-dd_beschreibung

Beispiel:

fotos/2011/2011-04-21_Stadtpark

Für die Dateien im RAW-Format meiner alten Canon EOS 1000D oder der neuen 60D gibt es noch bei Bedarf einen Unterordner namens raw. Aufgrund des hohen Speicherplatzbedarfs (bei der 60D verbraucht ein Foto im RAW-Format über 20 (!) MB) behalte ich nur sehr gute Fotos die ich nachbearbeiten möchte in diesem Format. Ebenso verfahre ich mit Videos, diese sind bei der 60D in Full-HD oder HD-Ready äußerst groß. Mit Hilfe des Kommandozeilen-Tools ffmpeg codiere ich diese um so dass sie bei geringem Qualitätsverlust nur noch ein zehntel bis zwanzigstel an Speicherplatz verbrauchen (im mp4-Format, der Codec ist x264):
ffmpeg -i EINGABEDATEI.MOV -y -f mp4 -vcodec libx264 -crf 28 -threads 0 -flags +loop -cmp +chroma -deblockalpha -1 -deblockbeta -1 -refs 3

-bf 3 -coder 1 -me_method hex -me_range 18 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 320 -keyint_min 25 -level 41 -qmin 10

-qmax 51 -qns 2 -qcomp 0.7 -trellis 1 -sc_threshold 40 -i_qfactor 0.71 -flags2 +mixed_refs+dct8x8+wpred+bpyramid -padcolor 000000 -padtop 0

-padbottom 0 -padleft 0 -padright 0 -acodec libfaac -ab 128kb -ar 48000 -ac 2 AUSGABEDATEI.mp4

Auf die Bedeutung der einzelnen Kommandozeilenparameter möchte ich nicht eingehen, x264 ist extrem komplex zu konfigurieren.

Zur eigentlichen Verwaltung der Fotos setze ich auf Picasa. Hier gibt es die Linux-Version. Diese Version (3.0) ist gegenüber der aktuellen Windows-Version schon ziemlich veraltet, es gibt aber einen Trick mit dem man die neueste Windows-Version auch unter Linux laufen lassen kann. Dazu installiert man zunächst die verlinkte Linux-Version (diese ist eigentlich ein Windows-Programm welches etwas optimiert mit einem WINE unter Linux ausführbar gemacht wird). Dann kann man nach dieser Anleitung die aktuelle Windows-Version dort einbinden. So kann man auch die geniale Gesichtserkennung von Picasa unter Linux nutzen!

Picasa

Für Backups verwende ich eine externe Festplatte welche ich aus Geschwindigkeitsgründen über eSata angeschlossen habe. Ab und an mache ich auch ein Backup auf meine Netzwerkfestplatte (NAS). Dazu verwende ich rsync inkrementell, und zwar so dass gelöschte Dateien auf meinem Rechner dann auch im Backup-Ordner gelöscht werden. Ab und an mache ich ein Full-Backup in einem gesonderten Verzeichnis falls ich versehentlich mal etwas wichtiges gelöscht haben sollte. Ein Beispiel für rsync:

rsync -r -t -v Bilder/ /media/274cec77-ec0d-4fd4-8ac2-c08a1f3e4eea/backups/fotos/

-r sorgt dafür dass in die Verzeichnisse rekursiv hinabgestiegen wird, -t behält den Zeitstempel der Ursprungsdatei bei und -v sorgt für ausführliche Ausgaben.

Zusätzlich habe ich noch ein Skript geschrieben welches automatisch ausgeführt wird wenn ich eine SD-Karte in den Kartenleser einlege. Es fragt mich dann ob ich die Bilder/Videos von der Karte automatisch in den entsprechenden Ordner herunterladen möchte (es wird dazu das aktuelle Datum verwendet). Es verwendet zenity um Dialogboxen unter Gnome darzustellen. Da ich es von udev als root ausführen lasse muss am Anfang noch das richtige DISPLAY gesucht werden. Die Pfade und Usernamen müssen natürlich noch an eigene Bedürfnisse angepasst werden:

#!/bin/bash

#Skript wird ausgeführt wenn SD-Karte eingesteckt wird...

#Muss von udev ausgeführt werden, mit nohup abkoppeln!

albumdir=/home/oster/Bilder/

sdcarddir=/media/EOS_DIGITAL/DCIM/

raw=raw/

video=./

pids=`pgrep -u oster gnome-panel`

DISPLAY_OSTER=`grep -z DISPLAY /proc/$pids/environ | sed -e 's/DISPLAY=//'`

mount /dev/sdcardcamera

if ! su oster -c "zenity --display=$DISPLAY_OSTER --question --title Fotos --text 'Fotos von Speicherkarte laden?'"; then

exit

fi

year=`date +%Y`

day=`date +%Y-%m-%d`

destdir=$albumdir$year/$day

if [ -e $destdir* ];then

echo $destdir already exists!

else

su oster -c "mkdir $destdir"

echo $destdir created.

su oster -c "mkdir $destdir/$raw"

su oster -c "mkdir $destdir/$video"

fi

su oster -c "nohup zenity --display=$DISPLAY_OSTER --info --text 'Kopiere Bilder..' &"

su oster -c "find $sdcarddir -name *.JPG -exec cp {} $destdir ;"

su oster -c "nohup zenity --display=$DISPLAY_OSTER --info --text 'Kopiere Raws..' &"

su oster -c "find $sdcarddir -name *.CR2 -exec cp {} $destdir/$raw ;"

su oster -c "nohup zenity --display=$DISPLAY_OSTER --info --text 'Kopiere Videos..' &"

su oster -c "find $sdcarddir -name *.MOV -exec cp {} $destdir/$video ;"

if su oster -c "zenity --display=$DISPLAY_OSTER --question --title Videos --text 'Videos umkonvertieren?'"; then

su oster -c "cd $destdir/$video && /home/oster/bin/videotox264.sh"

fi

su oster -c "zenity --display=$DISPLAY_OSTER --info --text 'Fertig!'"

Um dieses Skript nun automatisiert ausführen zu lassen lässt sich prima UDEV verwenden, nach dieser Anleitung muss man mittels

sudo lsusb -v

herausfinden welche Seriennummer die gewünschte Karte besitzt. Nun kann man unter

/etc/udev/rules.d/

eine neue Regel namens

99-sdcard.rules

anlegen mit folgendem Inhalt (Seriennummer und Pfade sollten natürlich noch angepasst werden):

BUS=="usb", KERNEL=="sd?1",SYSFS{serial}=="058F312D81B",SYMLINK+="sdcardcamera",RUN+="/home/oster/bin/fork /home/oster/bin/import_fotos.sh"

Das Skript namens

fork

sorgt dafür, dass UDEV nicht wartet dass das Import-Skript beendet ist bevor die SD-Karte eingehangen wird:

#!/bin/sh

#Entkoppeln des Skripts von udev:

/usr/bin/nohup $@ 1>/dev/null 2>&1

Das referenzierte Skript zum Umkodieren der Videos sieht folgendermaßen aus:

#!/bin/bash

# Komprimiert x264-Videos von Canon-DSLRs platzsparend (und qualitativ hochwertig).

# 2011 Stefan Ostermann#$1 input, $2 resolution

function recode {

ffmpeg -i $1 -y -f mp4 -vcodec libx264 $2 -crf 28 -threads 0 -flags +loop -cmp +chroma -deblockalpha -1 -deblockbeta -1 -refs 3 -bf 3 -coder 1 -me_method hex -me_range 18 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 320 -keyint_min 25 -level 41 -qmin 10 -qmax 51 -qns 2 -qcomp 0.7 -trellis 1 -sc_threshold 40 -i_qfactor 0.71 -flags2 +mixed_refs+dct8x8+wpred+bpyramid -padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 -acodec libfaac -ab 128kb -ar 48000 -ac 2 "${1%.MOV}.mp4"

}function getwidth {

export width=`mplayer -frames 0 -vo null -ao null -identify -quiet 2>/dev/null $1 | grep -E -i "width"`

echo Width: $width

}

if [ $# -gt 0 ]; then

getwidth $1

elif [ $# -eq 0 ]; then

echo No Commandline-Parameter, decoding all MOVs...

for mov in *.MOV; do

if [ -e "${mov%.MOV}.mp4" ]; then

echo File "${mov%.MOV}.mp4" already exists, skipping...

else

recode $mov ""

fi

done

fiif [ "$width" == "ID_VIDEO_WIDTH=640" ]; then

echo 640x480-Video gefunden!

recode $1 "640x480"

elif [ $# -eq 1 ]; then

echo Found 16:9, keeping resolution

recode $1 ""

elif [ "$2" == "420p" ]; then

echo Found 16:9, Recode to 420p

recode $1 "-s 746x420"

elif [ "$2" == "720p" ]; then

echo Found 16:9, Recoding to 720p

recode $1 "-s 1280x720"

fi
Wie man die benötigten Programme/Codecs zum Umkodieren unter Ubuntu installiert habe ich hier beschrieben.

Das Anlegen dieser ganzen Skripte ist zwar recht kompliziert, automatisiert aber weitestgehend die Verwaltungs- und Umkodieraufgaben die mit so einer Kamera anfallen. Ich hoffe sie sind auch für andere nützlich.

Gespräch zwischen Mutter und Tochter (16) im Bürgeramt

Heute im Bürgeramt (Barmbek-Uhlenhorst), wollte für einen USA-Tripp einen Reisepass beantragen. Fast 2h Wartezeit, mit mir am Tisch sitzt so ein pubertäres Mädel (Minirock, extrem aufgestylt) mit ihrer Mutter. Sie (das Mädel) möchte zu ihrem Geburtstag (der 16., also schnell noch den ersten ‚Perso‘ im Einwohnermeldeamt beantragen) übers Wochenede wegfahren, Mutti hat Bedenken wegen der Hausaufgaben/Klausuren. Mädel „Du bist dumm. Ist doch sowieso egal, habe letztens so voll gelernt und hab trotzdem verkackt. Da mach‘ ich lieber gar nix!“. Dann weiter: Die Mutter hat gehört dass man im Internet auch mal gefälschte Markenklamotten angedreht bekäme. Das Mädel: „Ich kann schon erkennen ob das echt ist oder nicht. Mir passiert das nicht! Ich bestelle nur bei Seiten die so seriös aussehen“. Irgendwann nur noch: „Du bist dumm!“ zur Mama, flugs das iPhone 4 rausgeholt und Mutti ignoriert, ab und zu noch ein patziger Kommentar, dabei natürlich immer das Handy im Blick.

Ich war irgendwie morbide fasziniert. War ich mit 16 selber so?  Möchte man später solche Kinder haben? Oder ist das völlig normal? Hm, mal drüber nachdenken.

 

Videos mit der Canon EOS 60D

Ich habe mir die EOS 60D unter anderem aufgrund der sehr gelobten Video-Funktion zugelegt. Das Klapp-Display ermöglicht es, auch aus ungewöhlichen Perspektiven Videos aufzunehmen. Ein bisschen dazugelernt habe ich seit meinen ersten Versuchen auch schon, mittlerweile gelingt es mir das Rauschen bei schlechten Lichtverhältnissen (Low Light) gering zu halten indem ich den ISO-Wert begrenze, die Blende aufdrehe und insgesamt etwas dunkler belichte. Hier hilft es auch in Full-HD statt HD-Ready aufzunehmen, da die Kamera durch die Begrenzung auf 25 Bilder/s statt 50 Bilder/s pro Bild eine doppelt so hohe Belichtungszeit verwenden kann. Ein kleines Testvideo mit ein bisschen Unschärfespielerei habe ich heute mal bei Youtube hochgeladen:

Die verwendeten Einstellungen:

Movie-Belichtung: Manuell

Movie-Aufnahme-Größe: 1920×1080 25 Bilder/s (ermöglicht höhere Belichtungszeit als 1280×720 50 Bilder/s)

Blende 2,8 (tagsüber), 1,6 (abends)

Iso 100-200 (tagsüber), Iso 800 (abends)

Belichtungszeit bei schlechtem Licht: 1/30s

Objektive: Tamron 17-50mm 2,8 VC und Sigma 30mm 1,4

Foto- Videolicht im Test (CN-126 LED)

Für die Video-Funktion meiner Canon EOS 60D habe ich mir ein günstiges LED-Licht (Amazon Affiliate-Link) mit Blitzschuh gekauft. Die Produktbezeichnung ist „CN-126 LED Video Lighting“. Es kann wahlweise mit 6 AA-Akkus oder per beiliegendem Adapter mit einigen Sony- und Panasonic-Lithium Ionen Akkus betrieben werden.

CN-126 LED Video-Licht

Die Lichtleistung ist recht ordentlich, und so bin ich auf die Idee gekommen meinen iPad-Belichtungstest mit diesem weitaus stärkeren Licht zu wiederholen. Hier gibt es Beispielfotos. Ich bin sehr zufrieden, die Akkus scheinen recht lange zu halten (es werden ca. 7 Watt verbraucht), die einzigen Nachteile sind der etwas fragil anmutende Blitzschuh sowie ein leichtes, hohes zirpen bei voller Lichtstärke (dieses ist aber kaum hörbar, gottseidank auch nicht auf den Videos). Ansonsten ist es natürlich ein billiges China-Produkt, aber durchaus gut verarbeitet.

Insgesamt 126 weiße LEDs sorgen für ein helles, mit 5400K recht kühles Licht.

Für eBay-Produktfotos ist die hier links zu sehende, vielleicht etwas improvisierte Konstruktion durchaus zu empfehlen. Sie besteht aus dem Licht, der Verpackung als Halterung sowie zwei Blatt Schreibmaschinenpapier…

Ein paar Beispielbilder:

1:1-Ausschnitt:


Canon EOS 60D/550D/7D HD-Videos platzsparend archivieren unter Linux

Die Canon EOS 60D (und neuere andere Canon-SLRs) speichern Videos mit dem x264-Codec, allerdings mit einer so geringen Kompression dass die Videos einen enorm hohen Platzverbrauch haben. Unter Ubuntu muss man sich einige Tools nachinstallieren damit man diese Videos verarbeiten und umkonvertieren kann. Am wichtigsten ist hier ffmpeg, welcher in den normalen Ubuntu-Repositories nur in einer „beschränkten“ Version beiliegt.

Die fehlenden Repositories/Pakete installiert man folgendermaßen nach:


sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update
sudo apt-get install ffmpeg libavcodec-extra-52


Einfache Einstellung:

ffmpeg -i MVI_6606.MOV -vcodec libx264 -vpre faster -b 10000k -threads 0 -acodec libfaac -ab 128k test.mp4 

Einstellung mit starker Kompression, aber trotzdem wenig Qualitätsverlust (im Vergleich zum original Canon-Video ca. Faktor 20!):

ffmpeg -i input.mov -y -f mp4 -vcodec libx264 $2 -crf 28 -threads 0 -flags +loop -cmp +chroma 
-deblockalpha -1 -deblockbeta -1 -refs 3 -bf 3 -coder 1 -me_method hex -me_range 18 -subq 7
-partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 320 -keyint_min 25 -level 41 -qmin 10 -qmax 51
-qns 2 -qcomp 0.7 -trellis 1 -sc_threshold 40 -i_qfactor 0.71
-flags2 +mixed_refs+dct8x8+wpred+bpyramid -padcolor 000000 -padtop 0 -padbottom 0 -padleft 0
-padright 0 -acodec libfaac -ab 128kb -ar 48000 -ac 2 output.mp4