# Digitalisate

Die Verarbeitung von Digitalisaten (Dateien) in der ETL-Pipeline geschieht in mehreren Schritten:

  1. Mit der FileDownloader ETL-Section werden Dateien von einem Quellsystem heruntergeladen.
  2. Die Metadaten der Dateien werden in die Pipeline geladen und können dort ggf. gefiltert werden.
  3. Mit der FilePublisher ETL-Section werden die Dateien anschliessend verarbeitet und auf den S3-Speicher publiziert.
  4. Mit der CreateIIIFSources ETL-Section werden anschliessend File-Objekte in der Datenbank erzeugt, damit die publizierten Dateien später wieder gefunden werden können.
  5. Mit der Publish werden die ETL-Section File-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 im JPG-Format.
  • Vollständiges komprimiertes Original-Bild im JPG-Format.
  • Agora Thumbnails: mehrere Thumbnails (100px, 500px, 1000px) im WebP-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.

# PDF

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

Referenz: Kapitel "Video" der KOST (opens new window)