# Digitalisate
Die Verarbeitung von Digitalisaten (Dateien) in der ETL-Pipeline geschieht in mehreren Schritten:
- Mit der
FileDownloader
ETL-Section werden Dateien von einem Quellsystem heruntergeladen. - Die Metadaten der Dateien werden in die Pipeline geladen und können dort ggf. gefiltert werden.
- Mit der
FilePublisher
ETL-Section werden die Dateien anschliessend verarbeitet und auf den S3-Speicher publiziert. - Mit der
CreateIIIFSources
ETL-Section werden anschliessendFile
-Objekte in der Datenbank erzeugt, damit die publizierten Dateien später wieder gefunden werden können. - Mit der
Publish
werden die ETL-SectionFile
-Objekte dann in den Webauftritt publiziert, damit sie dort erscheinen.
# Verarbeitung von Dateitypen
Die FilePublisher
Section verwendet einen separaten Service zum Verarbeiten der
Dateien. Dieser Service unterstützt und verarbeitet verschiedene Dateitypen mit
spezifisch optimierten Publisher
Komponenten.
Die verarbeiteten Dateien stammen üblicherweise aus Archivsystemen. Aus diesem Grund orientieren sich die unterstützten Formate lose an der Definition der KOST (opens new window). Dabei werden nicht alle dort aufgeführten Formate unterstützt, aber auch zusätzliche Formate werden verarbeitet. Die Unterstützung von zusätzlichen Dateitypen und Formaten wird laufend bei Bedarf erweitert.
Das Ziel ist es, die Dateien für die Nutzung im Browser zu optimieren. Das bedeutet dass sie einerseits bei Bedarf komprimiert und ggf. in Teile zerlegt werden, andererseits sollen die resultierenden Formate möglichst nativ mit dem Browser oder mit den in Agora verwendeten Viewern kompatibel sein.
Formate wie z.B. ZIP-Dateien, für die kein Viewer in Agora angeboten werden, können einfach zum Download angeboten werden.
# Erkennung des Dateiformats
Bei den meisten Publisher-Komponenten wird für die Erkennung des Dateiformats
der MIME-Type (opens new window) verwendet,
welcher mit ligmagic
erkannt wird.
Nur in Ausnahmen (z.B. Buch-Publisher) wird die Datei für die Erkennung geöffnet.
# Audio
Audio-Dateien werden grundsätzlich im Format .mp3
publiziert und können
bei Bedarf automatisch konvertiert werden. MP3-Dateien können von den heutigen
Browsern nativ abgespielt werden.
Konvertierung:
Die Konvertierung nach MP3 wird standardmässig mit einer Bitrate von
320k
und mit einer Abtastrate von
44100
duchgeführt.
Dateien, die bereits im MP3
-Format vorliegen, werden nicht verarbeitet;
die Originaldatei wird publiziert.
Formate:
Unterstützt | Format | MIME-Types |
---|---|---|
✅ Ja | MP3 (opens new window) | audio/mpeg |
✅ Ja | WAV (opens new window) | audio/wav , audio/x-wav , audio/wave |
✅ Ja | Ogg Vorbis (opens new window) | audio/ogg , audio/vorbis |
❌ Nein | FLAC (opens new window) | |
❌ Nein | ALAC (opens new window) |
Referenz: Kapitel "Audio" der KOST (opens new window)
# Bilder
Um Bilder effizient im Browser im Viewer anbieten zu können, werden Bilder für die Verwendung in einem IIIF-Viewer optimiert. Zusätzlich werden Thumbnails für die Darstellung in Auflistungen erstellt.
Generierte Dateien:
- IIIF Repräsentation mit
info.json
Datei und Bildern imJPG
-Format. - Vollständiges komprimiertes Original-Bild im
JPG
-Format. - Agora Thumbnails: mehrere Thumbnails
(
100px
,500px
,1000px
) imWebP
-Format für die Nutzung im Webauftritt Agora. - Viewer Thumbnail: Thumbnail für die Nutzung im IIIF-Viewer im
JPG
-Format.
Das Original im Format des Quellsystems (z.B. TIFF
) wird nicht publiziert.
thumbnail_only
Option:
In der FilePublisher
Section
kann die Option thumbnail_only
auf true
gesetzt werden.
Diese bewirkt, dass nur noch die Agora-Thumbnails verarbeitet werden und die
Verarbeitung für die Viewer nicht mehr durchgeführt wird. Der Viewer
Button
wird für dieses Digitalisat dann nicht mehr angezeigt.
IIIF Vorbereitung:
Die Bilder werden nach dem Standard IIIF Image API 2.0 (opens new window) mit Compliance Level 0 (opens new window) vorerarbeitet. Dies bedeuetet, dass die Bilder bereits bei der Publikation entsprechend vorbereitet werden und kein zusätzlicher IIIF Server im Betrieb benötigt wird.
Für die Verarbeitung wird die Library libvips (opens new window) verwendent.
Die Tiles werden standardmässig in der Grösse von 4096px
erstellt. Dies variiert jedoch je nach Bildgrösse.
Kompression:
Die Verarbeitung der Bilder wird mit einer verlustbehafteten Kompression im JPEG-Format gemacht. Das Ziel ist hier die Weboptimierung, so dass die Dateigrössen auch für mobile Geräte optimiert sind.
Viewer:
Für Bilder wird im Webauftritt ein IIIF-Viewer verwendet.
Formate:
Unterstützt | Format | MIME-Types |
---|---|---|
✅ Ja | JPEG (opens new window) | image/jpeg |
✅ Ja | JPEG2000 (opens new window) | image/jp2 , image/jpx , image/x-jp2-codestream |
✅ Ja | TIFF (opens new window) | image/tiff |
✅ Ja | PNG (opens new window) | image/png |
✅ Ja | SVG (opens new window) | image/svg+xml , image/svg-xml |
✅ Ja | WebP | image/webp |
❌ Nein | DNG (RAW-Formate) (opens new window) |
Referenz: Kapitel "Bild" der KOST (opens new window)
# Bücher
XML-Dateien, welche Bücher in der Kombination der Formate
METS
(opens new window) und
MODS
(opens new window) abbilden, können von dieser Komponente ausgelesen werden.
Die Metadaten zu den Büchern, wie die Kapitelstruktur, kann dann im IIIF-Viewer angezeigt werden und so einzelne Seiten, welche als Bilder vearbeitet wurden, wieder zu einem Buch mit Inhaltsverzeichnis kombiniert werden.
Beispiel für extrahierte Daten:
{
"title": "Titel des Buches",
"signature": "ABC/1234",
"pages": ["book1234-page1", "book1234-page2", "book1234-page3", "book1234-page4", "book1234-page5"],
"chapters": [
{"title": "Titelblatt", "page_number": "1", "filename": "book1234-page1.jpg"},
{"title": "Inhaltsverzeichnis", "page_number": "2", "filename": "book1234-page2.jpg"},
{"title": "Kapitel 1", "page_number": "4", "filename": "book1234-page4.jpg"}
]
}
Diese Komponente publiziert keine Dateien sondern speichert nur die Metadaten aus der XML-Datei.
Formate:
Momentan werden nur spezifische METS
/MODS
XML Dateien mit PREMIS
unterstützt.
Die Unterstützung ist abhängig von der Software, die zur Generierung des XML verwendet wurde.
Wenn die extrahierten Daten (siehe Beispiel) in einer anderen, lesbaren Struktur vorliegen, wie z.B. in einer Excel-Datei, können Pipelines ohne diese Komponenten gebaut werden, welche die Datenstruktur direkt in der entsprechenden Form aufbauen.
PDFs werden für die Darstellung im Browser im Viewer optimiert.
Dabei werden die Dateien mit der Library ghostscript
komprimiert, so dass die
Dateigrösse für die Nutzung im Browser optimiert ist. Konkret werden dabei vor allem
im PDF enthaltene Bilder komprimiert.
Thumbnails:
Es werden automatisch Thumbnails von der ersten Seite erstellt, welche in Agora z.B. in der Suche verwendet werden.
Textextraktion für Volltextsuche:
Aus PDF-Dateien wird mit Apache Tika (opens new window) der Text extrahiert und in den Volltext-Index der verknüpften Datensätze (Verzeichnungseinheiten) aufgenommen. Dies funktioniert bei Dateien, welche bereits Text enthalten. Aus PDFs, die nur aus Bildern bestehen (z.B. Scans von Büchern), wird der Text nicht extrahiert. Es wird kein automatisches OCR durchgeführt.
Formate:
Unterstützt | Format | MIME-Types |
---|---|---|
✅ Ja | PDF (opens new window) | application/pdf |
# Standard
Die Standard-Komponente publiziert die Original-Datei ohne weitere Verarbeitung. Sie verarbeitet alle Formate, die nicht von einer anderen Komponente verarbeitet werden. So können auch Dateiformate publiziert werden, die nicht vorgesehen sind.
Im Webauftritt wird je nach Dateityp ein unterschiedlicher "Viewer" verwendet. Textdateien werden direkt angezeigt, Web-Archive (WARC) werden in einem eigenen WARC-Viewer dargestellt und alle anderen Dateien werden zum Download angeboten.
Formate:
Unterstützt | Format | MIME-Types | Viewer |
---|---|---|---|
✅ Ja | WARC (opens new window) | application/warc , application/wacz | WARC Viewer |
✅ Ja | Text (opens new window) | text/plain | Text Viewer |
✅ Ja | Andere | * | Download |
# Video
Video-Dateien werden grundsätzlich im MPEG-4
format publiziert und können mit dem
in Agora integrierten Video-Viewer abgespielt werden.
Konvertierung:
Die Konvertierung von Videos wird mit dem ffmpeg
Tool durchgeführt.
Das Zielformat ist dabei MPEG-4
.
Als Vide-Codec wird libx264
und als Audio-Codec AAC
.
Liegt das Video bereits im MPEG-4
-Format vor, wird es nicht konvertiert.
Thumbnails:
Für die Präsentation in Agora werden Thumbnails erstellt.
Die Thumbnails werden mit dem ffmpeg
Tool erstellt.
Standardmässig wird das Bild in Sekunde 5
als Thumbnail verwendet, da Videos
oft mit einem schwarzen Bild beginnen.
Formate:
Unterstützt | Format | MIME-Types |
---|---|---|
✅ Ja | MPEG-4 (opens new window) | video/mp4 |
✅ Ja | WebM (opens new window) | video/webm |
❌ Nein | MKV (opens new window) | video/matroska , audio/matroska , video/matroska-3d |
❌ Nein | AVI (opens new window) | video/x-msvideo , video/avi , video/msvideo , video/vnd.avi |
❌ Nein | MJPEG2000 (opens new window) | video/mj2 |