Xycl-Logo

Bitte geben Sie einen Suchbegriff ein, um die Suche zu starten.

Artikel nur in Deutsch vorhanden 
Xycl » XBMC / Kodi » XBMC Addons und Programme » Bilder: MyPicsDB

MyPicsDB mit MySql Unterstützung

Die Bilderdatenbank MyPicsDB für XBMC

Das Add-on ist schon länger verfügbar, allerdings wurde es nicht mehr weiterentwickelt. Daher war es nicht mehr Teil des Eden Repositories.

Da ich es sehr gut finde, es also weiterhin benutzen möchte, habe ich die Unicode Errors unter Eden korrigiert, die deutsche Übersetzung ergänzt, einen XMP Parser hinzugefügt und einen Filter Assistenten, der es ermöglicht nach einer Kombination von Tags zu suchen. Mittlerweile ist es auch an Frodo angepasst worden und eine Version die MySQL unterstützt steht in den Startlöchern.

Bedienung der My Pictures Database

Bevor ihr die MyPicsDB startet, müsst ihr in XBMC Bilder Quellen hinzufügen, die die Bilder enthalten, die später von der MyPicsDB angezeigt werden sollen.

Nach dem Starten des Add-ons dann zunächst den Punkt "Pfade der Bilderverzeichnisse" aufrufen. Dort "Hinzufügen eines Pfades zur Datenbank" auswählen und anschließend in der sich öffenenden Dateiauswahlbox die hinzuzufügende Bilder Quelle auswählen. Nach Drücken auf Okay sollten sich nacheinander zwei Dialogboxen öffnen, die alle mit Ja bestätigt werden sollten.

Hinweis: Sollten hier keine Pfade zu sehen sein, dann habt ihr vergessen die Bilder-Quellen in XBMC unter Bilder-> Dateien hinzuzufügen.

Nun könnt ihr im Start-Menü der My Pictures Database per "Anzeige nach Datum", "Anzeige nach Verzeichnis" oder auch "Anzeige nach Tags" eine Übersicht der Fotos erhalten. Die meisten Menüpunkte sollten klar sein. Bei "Anzeige nach Tags" handelt es sich um EXIF, IPTC & XMP Tags, die im Foto hinerlegt sein können. Hier öffnet sich zunächst eine Liste, die sämtliche bekannten Tagtypen enthält, die in euren Fotos vorhanden sind. Nach einem Klick auf einen Tagtypen werden dann die vorhanden Ausprägungen in einer Liste dargestellt. Also z.B. auf Stichwort klicken und danach das Stichwort auswählen, für das man die Bilder sehen möchte. Oder aber auf Person klicken und dann die Person auswählen. Eigentlich ganz einfach.

Einige in den Bildern enthaltene Tagtypen werden nicht angezeigt bzw. vielleicht eurer Meinung nach falsch benannt. Dafür gibt den Punkt "Tags übersetzen". Hier könnt ihr den Tagtypen beliebige Übersetzungen verpassen und - das ist das Entscheidende - Tagtypen gleicher Bedeutung zusammenfassen. Falls eine Übersetzung leer bleibt, dann wird der Tagtyp fortan nicht mehr angezeigt. Dies kann ganz ordentlich für Übersicht sorgen.

Ein Alleinstellungsmerkmal der MyPicsDB ist der Filter-Assistent. Hier öffnet sich eine Dialogbox mit einer zweigeteilten Liste. Links die Tagtypen und rechts die Ausprägungen des selektierten Tagtyps.

Die anzuzeigenden Bilder werden wie folgt ermittelt. Werden für einen Tagtypen mehrere Ausprägungen ausgewählt, also z.B. Person A und Person B, dann bedeutet dies, dass Bilder, die Person A oder Person B enthalten angezeigt werden. Wollt ihr Bilder sehen, die beide Personen enthalten, dann muss die Checkbox "Alle Tags müssen zutreffen" aktiviert werden. Wird ein anderer Tagtype, wie z.B. Keyword Urlaub zusätzlich ausgewählt, dann werden Fotos angezeigt, die Person A oder B enthalten und zusätzlich das Schlüsselwort Urlaub enthalten. D.h. Ausprägungen des gleichen Tagtyps werden per "oder" und verschiedene Tagtypen per "und" verknüpft.

Wird auf einen Tag zweimal geklickt, dann ändert sich die grüne Checkbox und wird rot. Dies bedeutet, dass die anzuzeigenden Bilder dieses Tag nicht enthalten dürfen, was aber natürlich nur Sinn macht, wenn die Checkbox "Alle Tags müssen zutreffen" auch aktiviert wird.

Um eigene Fotos um Stichwörter zu erweitern eignet sich am Besten IrfanView (das Panda Icon) und für das Personentagging unter Windows die Microsoft Picture Gallery.

Perioden (Zeitintervalle) könnt ihr selber erstellen. Also z.B. Kind 1. Jahr, Kind 2. Jahr etc. Oder wenn ihr Sportfans seid, Saison 2011/2012 etc.

Alben: Diese sind zunächst leer. Wenn ihr euch Fotos anseht, könnt ihr per Context-Menü den Punkt "Zum Album hinzufügen" aufrufen und dann dort das entsprechende Album auswählen, dem dann das Foto hinzugefügt wird. Falls ihr Picasa benutzt, könnt ihr euch freuen, denn dort können Alben als HTML exportiert werden und in der MyPicsDB wieder importiert werden.

Installation

Zunächst mein Repo und danach aus meinem Repo die MyPicsDB installieren.


Themenverwandte Artikel:


Showing comments 1 to 10 of 45 | Next | Last
Kapav
Comment
Raspberry
Reply #45 on : Thu April 09, 2015, 22:00:41
Hallo Arne,

habe die Pfade nach Deinem Vorschlag verglichen und für identisch befunden.
Nach dem Kopieren der Datenbank auf den Raspberry hat alles funktioniert.
Irgend etwas habe ich bei meinem ersten Versuch wohl nicht richtig gemacht.

Vielen Dank nochmal
Kurt
Arne
Comment
Raspberry
Reply #44 on : Thu April 09, 2015, 10:25:55
Doch die Verwendunng ist möglich.
Ich gehe jedoch davon aus, dass die Pfade eben doch nicht übereinstimmen.
Für Windows gibt es SqliteSpy.exe. Damit kannst du dir mal die Files Tabelle ansehen und dort insbesondere die Spalte strPath.

Grüße
Arne
Kapav
Comment
Datenbankübertragung
Reply #43 on : Wed April 08, 2015, 15:45:56
Hallo Arne,
da der Raspberry beim Scannen der Bilder sehr langsam ist, habe ich meine Bilder mit dem PC gescannt und dann die Datenbank auf den Raspberry kopiert. Dort wurden auch die Pfade, Ordner und auch die Namen der Bilder, aber nicht die Bilder selbst angezeigt.
Woran kann das liegen? Oder ist eine Verwendung der auf dem PC erstellten Datenbank auf dem Raspberry grundsätzlich nicht möglich?

Grüße
Kurt
Michael
Comment
Stichwortanzeige
Reply #42 on : Sun March 01, 2015, 20:11:16
Hallo Arne,

ich glaube, dass mit dem Filter-Assistenten ist nur ein Anzeigeproblem. Wenn man darauf achtet und es nur 1 mal anwählt, dann übernimmt er die Einstellung auch.

Man kann nur nicht sehen wie gerade die Einstellung ist, aber damit kann man ja umgehen.

Also, danke nochmal
Michael
Michael
Comment
Stichwortanzeige
Reply #41 on : Sun March 01, 2015, 17:06:44
Hallo Arne,

danke für den Tip.

Der /tmp Speicher auf dem NAS war mit 64Mb zu klein dimensioniert. Es waren zwar nur 4MB belegt, aber anscheinend benötigt er für die Ermittlung bei den Stichwörtern mehr Speicher als er zur Verfügung hatte.

Ich habe ihn mal auf 128MB erhöht und dann zeigt er die Stichwörter korrekt an.

Kurze Frage noch zu einem anderen kleinen Punkt, der mir aufgefallen ist.

Ich benutze XBMC-Gotham und den ACE-Skin. Im Filter Assistent wird der Punkt "Alle Tags müssen zutreffen" nicht als checkbox angezeigt. Im Confluence Skin funktioniert es einwandfrei, im ACE kann man den Punkt nicht selektieren.

Kann man da was machen?

Viele Grüße und Danke für die schnelle Rückmeldung
Michael
Arne
Comment
Stichwortanzeige
Reply #40 on : Sun March 01, 2015, 13:38:56
Die unten stehende Fehlermeldung ist mir neu.
Bitte mal das /tmp Verzeichnis leeren und dafür sorgen, dass der User, unter dem XBMC/Kodi läuft auch Schreibzugriff hat.

22:29:10 T:7512 ERROR: [My Pictures Database] line 274 in dbabstractionlayer.py object Database abstraction layer >> The request failed :
22:29:10 T:7512 ERROR: [My Pictures Database] line 275 in dbabstractionlayer.py object Database abstraction layer >> <type 'exceptions.Exception'> - 3: Error writing file '/tmp/MYpfTBZr' (Errcode: 28)
22:29:10 T:7512 ERROR: [My Pictures Database] line 279 in dbabstractionlayer.py object Database abstraction layer >> SQL >
select TagContent, count(distinct idFile)
from TagContents tc, TagsInFiles tif, TagTypes tt
where tc.idTagContent = tif.idTagContent
and tc.idTagType = tt.idTagType
and tt.TagTranslation = ?
group BY TagContent


Was ich gerade noch gefunden habe:
Mysql error 28 no space left on the device

Da ich nicht weiß woher der error code 28 kommt, wäre dies noch zu überprüfen.
D.h. sowohl auf der NAS als auch auf dem XBMC Rechner nachsehen, ob die Platten voll sind.
Last Edit: March 01, 2015, 13:41:29 by Arne  
Michael
Comment
Anzeige nach Tags - Stichwort - werden nicht angezeigt
Reply #39 on : Sat February 28, 2015, 22:59:04
Hallo Arne,

ich habe jetzt eine ganze Zeit lang mit der MyPictureDatabase herumexperimentiert und finde das Plugin echt toll. Es ist genau das was mir für die Fotos noch gefehlt hat.
Ich habe mir auf meinem NAS eine MySQL DB angelegt, die ich von 2 Laptops, dem NAS direkt und einem Android Tablet aus verwende.

Ich habe meine Fotos über Windows-Eigenschaften mit entsprechenden Markierungen versehen und die Fotos in die DB geladen.

Wenn ich jetzt ins Menu "Anzeige nach Tags" gehe, dann sehe ich den Eintrag "Stichwort (61 Tags)". Wenn ich diesen auswähle, dann zeigt er mir statt der möglichen 61 Tags nur eine leere Liste.

Hast du eine Idee woran das liegen könnte?
Falls du es nicht direkt beantworten kannst, dann schreibe mir bitte was du von mir für die Durchführung der Analyse benötigst.

Hier mal ein Auszug aus dem Log, der vielleicht ein wenig weiterhilft:

22:29:09 T:7512 NOTICE: [My Pictures Database] line 86 in default.py object Main.get_args >> MyPicturesDB plugin called :
22:29:09 T:7512 NOTICE: [My Pictures Database] line 87 in default.py object Main.get_args >> sys.argv[0] = plugin://plugin.image.mypicsdb/
22:29:09 T:7512 NOTICE: [My Pictures Database] line 88 in default.py object Main.get_args >> sys.argv[2] = ?action=%27showtags%27&method=%27tagtype%27&name=%27Stichwort%20(61%20Tags)%27&page=%271%27&tagtype=%27Stichwort%27&viewmode=%27view%27
22:29:09 T:7512 NOTICE: [My Pictures Database] line 97 in default.py object Main.get_args >> action='showtags',method='tagtype',name='Stichwort (61 Tags)',page='1',tagtype='Stichwort',viewmode='view'
22:29:09 T:7512 NOTICE: [My Pictures Database] line 63 in MypicsDB.py function __init__ >> Used DB Backend = MySql
22:29:09 T:9712 DEBUG: ------ Window Init (DialogBusy.xml) ------
22:29:09 T:7512 NOTICE: [My Pictures Database] line 63 in MypicsDB.py function __init__ >> Used DB Backend = MySql
22:29:10 T:7512 ERROR: [My Pictures Database] line 274 in dbabstractionlayer.py object Database abstraction layer >> The request failed :
22:29:10 T:7512 ERROR: [My Pictures Database] line 275 in dbabstractionlayer.py object Database abstraction layer >> <type 'exceptions.Exception'> - 3: Error writing file '/tmp/MYpfTBZr' (Errcode: 28)
22:29:10 T:7512 ERROR: [My Pictures Database] line 279 in dbabstractionlayer.py object Database abstraction layer >> SQL >
select TagContent, count(distinct idFile)
from TagContents tc, TagsInFiles tif, TagTypes tt
where tc.idTagContent = tif.idTagContent
and tc.idTagType = tt.idTagType
and tt.TagTranslation = ?
group BY TagContent
22:29:10 T:7512 NOTICE: [My Pictures Database] line 285 in dbabstractionlayer.py object SQL request numvar = 1 content = Stichwort >> 4
22:29:10 T:7512 NOTICE: [My Pictures Database] line 653 in default.py object Main.show_tags >> total # of tags = 0
22:29:10 T:9904 DEBUG: XFILE::CPluginDirectory::WaitOnScriptResult- plugin returned successfully

Viele Grüße und Danke schon mal im voraus
Michael
Arne
Comment
IPTC & XMP
Reply #38 on : Fri January 30, 2015, 21:05:26
Wenn wir wirklich herausfinden wollen, warum die Tags fehlen, dann benötige ich die beiden Beispielbilder.
Sie können auch gerne geschwärzt sein. Hauptsache die Tags sind noch da.
Falls gewünscht, die beiden Bilder an die Mailadresse aus dem Impressum senden.

Viele Grüße
Arne
Arne
Comment
XMP
Reply #37 on : Fri January 30, 2015, 21:03:26
tag_set = {'MPReg:PersonDisplayName' : 'MPReg:PersonDisplayName',
'Iptc4xmpExt:PersonInImage' : 'Iptc4xmpExt:PersonInImage',
'mwg-rs:RegionList:Face': 'mwg-rs:RegionList',

'Iptc4xmpExt:City' : 'Iptc4xmpExt:City',
'Iptc4xmpExt:CountryName' : 'Iptc4xmpExt:CountryName',
'Iptc4xmpExt:CountryCode' : 'Iptc4xmpExt:CountryCode',
'Iptc4xmpExt:Sublocation' : 'Iptc4xmpExt:Sublocation',
'Iptc4xmpExt:Event' : 'Iptc4xmpExt:Event',
'Iptc4xmpExt:WorldRegion' : 'Iptc4xmpExt:WorldRegion',
'Iptc4xmpExt:ProvinceState' : 'Iptc4xmpExt:ProvinceState',
'Iptc4xmpExt:Event' : 'Iptc4xmpExt:Event',

'Iptc4xmpCore:Location' : 'Iptc4xmpCore:Location',
'Iptc4xmpCore:City' : 'Iptc4xmpCore:City',
'Iptc4xmpCore:Country' : 'Iptc4xmpCore:Country',
'Iptc4xmpCore:CountryCode' : 'Iptc4xmpCore:CountryCode',
'Iptc4xmpCore:Province-State' : 'Iptc4xmpCore:Province-State',
'Iptc4xmpCore:Creator' : 'Iptc4xmpCore:Creator',
'Iptc4xmpCore:DateCreated' : 'Iptc4xmpCore:DateCreated',
'Iptc4xmpCore:Description' : 'Iptc4xmpCore:Description',
'Iptc4xmpCore:DescriptionWriter' : 'Iptc4xmpCore:DescriptionWriter',
'Iptc4xmpCore:Headline' : 'Iptc4xmpCore:Headline',
'Iptc4xmpCore:Keywords' : 'Iptc4xmpCore:Keywords',
'Iptc4xmpCore:Title' : 'Iptc4xmpCore:Title',

'xmp:Label' : 'xmp:Label',
'xmp:Rating' : 'xmp:Rating',
'xap:Rating' : 'xap:Rating',

'photoshop:Category' : 'photoshop:Category',
'photoshop:City' : 'photoshop:City',
'photoshop:Country' : 'photoshop:Country',
'photoshop:DateCreated' : 'photoshop:DateCreated',
'photoshop:Headline' : 'photoshop:Headline',
'photoshop:State' : 'photoshop:State',
'photoshop:SupplementalCategories' : 'photoshop:SupplementalCategories',
'photoshop:Urgency' : 'photoshop:Urgency',
'photoshop:Instructions' : 'photoshop:Instructions',
'photoshop:CaptionWriter' : 'photoshop:CaptionWriter',

'dc:creator' : 'dc:creator',
'dc:description' : 'dc:description',
'dc:rights' : 'dc:rights',
'dc:subject' : 'dc:subject',
'dc:title' : 'dc:title'}
Arne
Comment
IPTC
Reply #36 on : Fri January 30, 2015, 21:02:23
# These names match the codes defined in ITPC's IIM record 2.
# This hash is for non-repeating data items; repeating ones
# are in %listdatasets below.
c_datasets = {
# 0: 'record version', # skip -- binary data
5: 'object name',
7: 'edit status',
8: 'editorial update',
10: 'urgency',
12: 'subject reference',
15: 'category',
20: 'supplemental category',
22: 'fixture identifier',
25: 'keywords',
26: 'content location code',
27: 'content location name',
30: 'release date',
35: 'release time',
37: 'expiration date',
38: 'expiration time',
40: 'special instructions',
42: 'action advised',
45: 'reference service',
47: 'reference date',
50: 'reference number',
55: 'date created',
60: 'time created',
62: 'digital creation date',
63: 'digital creation time',
65: 'originating program',
70: 'program version',
75: 'object cycle',
80: 'by-line',
85: 'by-line title',
90: 'city',
92: 'sub-location',
95: 'province/state',
100: 'country/primary location code',
101: 'country/primary location name',
103: 'original transmission reference',
105: 'headline',
110: 'credit',
115: 'source',
116: 'copyright notice',
118: 'contact',
120: 'caption/abstract',
121: 'local caption',
122: 'writer/editor',
# 125: 'rasterized caption', # unsupported (binary data)
130: 'image type',
131: 'image orientation',
135: 'language identifier',
Showing comments 1 to 10 of 45 | Next | Last

Kommentar schreiben

  • Benötigte Felder sind mit * markiert.
  • BBCODE Style für URLs. [URL=example.com]Linktext[/URL] ohne HTTP:// !!!

If you have trouble reading the code, click on the code itself to generate a new random code.
Security Code:
 

Valid XHTML 1.0 Transitional   Valid CSS!

Interessante Seiten - Sitemap - Datenschutz - Impressum

Seite erzeugt in 0.5191 s. Zuletzt geändert am 2013-09-23