Allumfassend und überall scheint es aktuell um künstliche Intelligenz (KI) zu gehen. Einige Bekanntheit erlangt aktuell Microsoft mit dem neu für Windows 11 angekündigten Dienst Recall, der sozusagen das Gedächtnis der Nutzer/innen auf ihrem Computer werden soll. Dabei werden alle x-Sekunden Bildschirmfotos erstellt. Diese Daten werden im Hintergrund KI “gerecht” aufbereitet, sodass spätere Recherchen möglich sind. Mit Capt2PDF gibt es neu ein Tool für Linux. Im Unterschied zu Microsoft Recall arbeitet Capt2PDF auf dem lokalen Desktop, die Kontrolle der Daten verbleibt bei den Nutzer/innen.
Um Bildschirminhalte aufzuzeichnen, gibt es zwei grundsätzliche Ansätze. Meistens wird aktuell OBS (Open Broadcasting System) verwendet. Dabei werden Filmdateien (inkl. Ton) der Bildschirmaktivität erstellt. Mittels Text- und Spracherkennung können daraus durchsuchbare PDF-Dateien erstellt werden.
Mit OBS erstelle Filmdateien benötigen viel Platz, werden doch pro Sekunde ca. 30 Bilder aufgezeichnet. Der Platzbedarf pro Minute bewegt sich im Bereich von mehreren Dutzend MByte. Die spätere Text- und Spracherkennung erfordern viel Leistung, ein Tool, dass diesen Job automatisch erledigt, gibt es aktuell nicht.
Als Alternative bietet sich der klassische Ansatz an. Wohl auf jedem Linux-Desktop können mit ‘PrintScreen’ (Taste ganz oben, dritte von rechts) Bildschirmkopien erstellt werden. Geht es darum, einige nachfolgende Abläufe (z.B. im Support) zu dokumentieren, wird das Unterfangen bald arbeitsintensiv. Die einzelnen Bilddateien müssen zu einer Datei umgewandelt werden. Meistens wird dabei eine PDF-Datei erstellt. Damit der Inhalt durchsuchbar ist, muss eine Texterkennung gestartet werden etc. etc.
Microsoft Recall bzw. KI als “Vorbild”?
An sich nimmt Microsoft Recall genau dieses Anliegen auf. Das automatische Aufzeichnen von Inhalten ist aber nicht in Ansätzen neu. Neu ist einfach, dass das Erstellen der Bildschirmkopien quasi in Echtzeit automatisiert so gemacht wird, dass sich die Daten durchsuchen lassen.
Dass dazu in irgendeiner Art und Weise die Cloud zum Einsatz kommen soll/muss, bleibt ein Rätsel. Ganz offensichtlich geht es wohl eher darum, dass die Hersteller möglichst viele Daten „abkupfern“ wollen. Dass es auch anders geht, zeigt Capt2PDF. Mit Capt2PDF werden in Zeitintervallen (z.B. 5 Sekunden) Bildschirmkopien erstellt. Im Hintergrund werden diese zu einer durchsuchbaren PDF-Datei zusammengetragen. Damit lässt sich einfach nach aufgezeichneten Bildschirmkopien suchen.
Unter https://archivista.ch/cms/wp-content/uploads/2024/06/capt2pdf.zip kann der Quellcode als Zip-Datei bezogen werden. Diese Datei entpacken. Anschliessend kann das Programm in einem Terminal mit perl capt2pdf 5 (Aufzeichnung mit Intervall von 5 Sekunden) gestartet werden. Mit perl capt2pdf 0 wird die Aufzeichnung gestoppt. Diese beiden Befehle werden sinnvollerweise auf eine Tastenkombination gelegt.
Auf dem AVMultimedia-Desktop (siehe https://archivista.ch/cms/de/support/avmultimedia) steht dafür die Tastenkombination Ctrl+PrintScreen zum Starten der Aufzeichnung bzw. Shift+Ctrl+PrintScreen zum Beenden der Aufzeichnung zur Verfügung. Dazwischen wird der Bildschirm in Abständen von 5 Sekunden aufgezeichnet. Nach Beenden des Programms wird nach einigen wenigen Sekunden die fertig durchsuchbare PDF-Datei auf dem Desktop dargestellt. Einfach, oder?
Braucht Capt2PDF eine KI oder eine Cloud?
Nicht in Ansätzen. Capt2PDF arbeitet 100% lokal, eine jede halbwegs moderne CPU ist in der Lage, diesen Job zu erledigen. Capt2PDF umfasst aktuell ca. 260 Zeilen.
Das Programm wurde für AVMultimedia bzw. die ArchivistaBox entwickelt. Es sollte aber auch auf den meisten anderen Linux-Desktops laufen. Unter X11 kommt das Programm scrot für die Bildschirmkopien zur Anwendung, bei Wayland ist es spectacle oder gnome-screenshot.
Erwähnt an dieser Stelle sei, dass neben dem Capture-Tool minimal die Programme compare, convert, tesseract und pdftk vorhanden sein müssen. Capt2PDF startet einen Einzeiler in der Bash, welcher so lange Bildschirmkopien erstellt, bis Capt2PDF beendet werden soll. Nach dem Erstellen einer Bildschirmkopie wird jeweils Capt2PDF unter Angabe des aktuellen Abbilds gestartet und von dort aus im Hintergrund die Texterkennung (OCR) tesseract.
Beim ImageMagick-Hilfsprogramm compare geht es darum, herauszufinden, ob sich die aktuelle Bildschirmkopie von der letzten unterscheidet. Nur dann ergibt es Sinn, daraus eine durchsuchbare PDF-Datei zu erstellen. Aktuell müssen sich 1% der Pixel auf dem Bildschirm ändern, ansonsten wird die Kopie verworfen. Damit werden bei reinen Mausbewegungen oder bei aktualisierten Statusanzeigen keine neuen Screens bzw. PDF-Seiten erstellt.
Liegen mehr als 1 % geänderte Pixel vor, wird tesseract aufgerufen. Bevor die Texterkennung gestartet wird, wird mit convert die gewünschte Auflösung (dpi) in der Bilddatei hinterlegt. 300dpi ergeben bei der Texterkennung (OCR) allseits gute Resultate. Bei einem 4K-Bildschirm mit 3860×2160 Pixel liegt plus/minus in etwa eine A4-Seite im Querformat mit 300dpi vor (3508×2480 Punkte bei A4).
Das jeweilige Erstellen der Seiten erfolgt direkt beim Aufzeichnen der Seiten. Damit bei langsamen CPUs (Prozessoren) keine "Überlastung" resultiert, prüft Capt2PDF die Anzahl der CPU-Kerne. Sofern mehr als die Hälfte der CPUs für tesseract im Einsatz stehen, erfolgt so lange keine Texterkennung mehr, bis wieder genügend Ressourcen zur Verfügung stehen. Capt2PDF wird hier "etwas" vergesslich. Angemerkt sei aber, dass dies nur bei sehr alten Prozessoren auftritt, in aller Regel benötigt tesseract ca. 2 Sekunden für eine Seite.
Die entsprechenden PDF-Dateien werden im Home-Verzeichnis (z.B. /home/arcihvista) unter screens quasi als einzelne Seiten abgelegt. Wenn Capt2PDF beendet wird, kommt pdftk zum Zuge, um die PDF-Gesamtdatei zu erstellen. Dieser Vorgang dauert auch für Hunderte von Seiten kaum mehr als fünf bis zehn Sekunden. Zum Abschluss wird die durchsuchbare PDF-Datei mit dem Viewer qpdfview dargestellt.
Kleiner Werbespot an dieser Stelle: Wer eine weitergehende Auswertung bzw. integrale Durchsuchbarkeit mehrerer PDF-Dateien benötigt, findet in der ArchivistaBox ein gutes Arbeitstier. Wer kein vollwertiges Dokumentenmanagement System (DMS) einsetzen mag, kann natürlich auch mehrere so erstellte durchsuchbare PDF-Dateien zu einer Datei zusammenfügen. Der entsprechende Aufruf ist einfach:
pdftk file1.pdf file2.pdf output allfiles.pdf
Capt2PDF ist selbstverständlich Open Source (GPLv2). Es wurde für die Linux-Distribution AVMultimedia (und damit auch für die ArchivistaBox) entwickelt und steht dort ab Version 2024/VI zur Verfügung. Mit einer Grösse von aktuell ca. 260 Zeilen Code ist es ein handliches Tool, um z.B. bei einer Recherche im Internet Inhalte bequem und einfach erfassen zu können.
Kurz und gut, ein zweckmässiges Programm, um Bildschirminhalte so aufzuzeichnen, dass die Büchse der Pandora nicht geöffnet werden muss. Will heissen, ganz ohne KI und Cloud, dafür einfach, transparent (100 % Open Source) und lokal und in Echtzeit auf dem eigenen Linux-Desktop.
Quellen:
https://archivista.ch/cms/de/aktuell-blog/capt2pdf-mit-2024-vi/
GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.