1. Verwendete Technologien

  • Java

  • Quarkus Client

  • OpenCV

2. Grundsätzlich unterscheiden wir zwischen:

  • Live Bilder

  • Stream Bilder

  • Alpha Frames

  • Beta Frames

3. Alpha-Frames:

Alpha-Frames sind reine Screenshots, die auf dem Schüler-Client gespeichert werden.
Sie werden später bei der Differenzenrechnung verwendet.

4. Beta-Frames:

Beta-Frames sind Screenshots, die mit den Alpha Frames verglichen werden. Die Unterschiede werden in ein File (.png) kopiert und auf dem Schüler-Client gespeichert.

5. Live Bilder:

Live Bilder sind reine Screenshots, die zum Instructor Client während des Tests geschickt werden.

6. Video Frames:

Am Ende müssen die Alpha- und die Beta-Frames zusammengelegt werden.
Die zusammengelegten Frames werden später in der Erstellung von .mp4s verwendet.

7. Wie werden die Differenzen gerechnet

  • Am Anfang wird ein Screenshot aufgenommen, welcher als Alpha Frame bezeichnet wird.

  • Die nächsten Screenshots werden mit diesem Alpha-Frame verglichen. Die Pixel von den Bildern werden miteinander verglichen. Für genauere Ergebnisse werden die Bilder in Graustufen umgewandelt.

  • Die Differenzen werden auf einer Bitmap (Matrix oder Maske) gezeichnet.

  • Die Masken werden wieder in das RGB Farbformat umgewandelt und auf der Festplatte von dem Schüler-Client gespeichert.

Wenn der Prozentsatz der Differenzen über 30% liegt, wird der Alpha-Frame aktualisiert

8. Wie werden die Alpha- und Beta-Frames zusammengelegt

  • Das Programm ruft die letzten Alpha- und Beta-Frames ab.

  • Eine leere Matrix wird erstellt.

  • Die farbigen Pixel des Beta-Frames werden in die Matrix gezeichnet.

  • Der Alpha-Frame wird in die Maske kopiert. Bereits vorhandene farbige Pixel in der Matrix bleiben unverändert. Es werden lediglich transparente Pixel durch farbige ersetzt.

  • Die Matrix wird in eine Datei umgewandelt und auf der Festplatte des Servers gespeichert.