Neuigkeiten von Eyewitness Forensic

Einblicke in die Softwareentwicklung des Forensic Video Report 5

 

Nach mehr als zwei Jahren Entwicklungszeit ist die Entwicklung des neuen Forensic Video Report abgeschlossen. Dies ist ein guter Moment um einmal zurück zu schauen und Die einzelnen Etappen Revue passieren zu lassen.

Jeder der bereits mit Videomaterial zu tun hatte und vielleicht auch den Forensic Video Report 4 eingesetzt hat, kennt die Problempunkte, mit denen man bei forensischen Untersuchungen von Videodateien zu kämpfen hat.

Das Problem fehlender Codecs, die geringe Verarbeitungsgeschwindigkeit bei der Videoverarbeitung und die mangelnde Integrationsmöglichkeit vorhandener Videotools standen am Anfang der Neuentwicklung sozusagen unter der Überschrift der zu lösenden Probleme.

Verschiedene Versuche einer besseren tieferen Integration des MPlayer in das bestehende Forensic Video Report Konzept, wurden schon in Version 4 für nicht zielführend at Acta gelegt. Daher war es notwendig noch vor der ersten Code Zeile zu schauen, welche Möglichkeiten es gibt Video Einzelbilder aus Video Dateien zu extrahieren. Unter der Maßgabe möglichst viele Codecs zu unterstützen und dabei unabhängig von einer Fremdinstallation von Codecs zu sein, wurden die beiden großen Open Source Projekte FFMEPG wie auch LIBAV herangezogen. Auch wenn es für Außenstehende eher verwirrend erscheint, wer nun welches Projekt, wie und wann gegründet hat, waren die Inhalte der Projekte genau das was notwendig ist, um eine Video Einzelbildextraktion der unterschiedlichsten Video Formate umzusetzen. Die Lizenzierungsmöglichkeit unter der LGPL bietet glücklicherweise hierfür die Basis. Nach ersten Versuchen mit der LIBAV Bibliothek viel letztlich die Wahl auf die FFMPEG Library, welche als Basis für die Videodecodierung des Forensic Video Report genutzt wird. Das Konzept dieser Library lässt es zudem zu, neue Codecs die verfügbar werden schnell zu integrieren und damit up to date zu bleiben.


Die ersten Schritte im Entwicklungszyklus, und auch die Schritte welche die meiste Zeit in Anspruch genommen haben, waren die Entwicklung eines eigenen Video Players auf Basis der genannten Librarys, sowie die Integration von Extraktionsmöglichkeiten für Videoeinzelbilder.

Die Anwendung nahm langsam Gestalt an und erste Videoextraktionsmöglichkeiten wurden geschaffen.


Hier einmal ein paar Schnappschüsse der ersten Playerimplementationen, natürlich noch mit minimaler Benutzeroberfläche.

 

 

Im März 2011 habe ich dann Herrn Dr. Ing. Petersohn vom Fraunhofer Heinrich Hertz Institut Berlin auf der Cebit getroffen und hab mir seine Videoszenenerkennung am Messestand von Fraunhofer vorstellen lassen. Was war mein Eindruck? Mein allererster Gedanke war, dass es das ist, was in einem Videotool zur forensischen Untersuchung fehlt. Ein Automat der auch noch den Inhalt erkennt und nur noch dann ein Einzelbild ausgibt, wenn es nötig ist.


Damit war der Grundgedanke für den neuen Forensic Video Report geboren. Dem Anwender möglichst viele Realzeit Aufgaben abnehmen, ihm einfache, leicht verständliche und schnell überschaubare Berichte zur Verfügung zu stellen, galt es umzusetzen. Das Eliminieren des Videoschauens, wenn man es so sagen will.


Im Kopf war das Grundgerüst wie ein solches Tool aufgebaut werden könnte schnell überlegt und dann auch schnell auf das Papier gebracht.

 

 

Ein zentraler Punkt der bei der Implementation vor vornherein in Betracht gezogen wurde, war ein Modulares Konzept. Damit sollte es möglich sein einzelne Prozesse auch losgelöst von einander durchzuführen und unabhängig von außen zu steuern. Der Punkt X-Ways Integration der bisher schon vorhanden war, sollte auf das neue API Konzept weiterentwickelt werden und mittels X-Tension Anbindung realisiert werden.


Das Decoding der Frames eines Videos ist ein sequentieller Vorgang, der für eine Parallelverarbeitung keinen Spielraum lässt. Eine Optimierung kann daher nur erreicht werden, wenn verschiedenen Arbeitsaufgaben unterschiedlicher Videos parallel durchgeführt werden. Die Modulare Bauweise unterstützt zusätzlich aus diesem Grund eine Art Pipeline. Eine Pipeline in Form einer Queue für Arbeitsprozesse wurde entworfen, welche die vorhandene Hardware optimal nutzt und durch parallele Prozesse die Verarbeitungsgeschwindigkeit stark erhöht.

Bei der Erstellung der Berichte wurde die Möglichkeit einer Ausgabe in MS Word sowie MS Excel erwogen und auch eine Berichterstellung im HTML Format geprüft. Das Konzept einer unveränderbaren Berichtsbasis mit klarer Strukturierung und bekanntem äußeren in Form von PDF Berichten wurde jedoch nach wie vor als das Markenzeichen der Forensic Report Tools angesehen. Daher wurde auch für die Neuentwicklung dem Konzept einer PDF Erstellung der Zuschlag erteilt.


Alles in allem wurde so die erste voll funktionsfähige Version Ende 2012 bereits erfolgreich mit einfacher Oberfläche programmiert.

 

 

Stand nur noch die Umsetzung in eine Graphische Oberfläche an, welche funktional wie auch ansprechend zugleich sein sollte. Auch ein Fallmanagement musst noch entworfen werden, um Falldaten abzuspeichern und später weiterbearbeiten zu können.

Die Entwürfe wurden noch mit dem Stift auf das Papier gebracht, bevor erste Designstudien mittels Scherenschnitt umgesetzt wurden.

 

 

Das entsprechende Fallmanagement stellte sich schnell als elementar wichtiger heraus als vorher bedacht, da die Verarbeitung der Videodateien in einer In-Memory Variante schnell als nicht realisierbar angesehen wurde. Der Härtetest mit mehreren Videos ergab dutzende Speicherüberläufe, die daher das Konzept der In-Memory Verarbeitung beendeten. In Anbetracht der Datenmenge von Videodateien, hätte man diese Überlegung auch in einem früheren Stadium schon haben können. Da es allerdings angedacht war nur bestimmte einzelne Frames aus einem Video zu entnehmen, hätte eine solche Lösung auf Grund der Schnelligkeit durchaus Sinn gemacht. Allerdings wurde bei diesen Überlegungen leider die starke Komprimierung der Bilder der unterschiedlichen Codecs ganz außer Acht gelassen.


Daher ist letztlich eine temporäre Speicherung der Falldaten in Zusammenhang mit einem Fallmanagement entstanden, welche in einem akzeptablen Rahmen funktioniert.

 

Letztlich hat die Entwicklung der Oberfläche (GUI) mehr als ein ganzes Jahr Zeit in Anspruch genommen, wovon sicherlich ein viertel Jahr auf Tests und Fehlerbeseitigung fielen. Der Umstieg vom Windows Forms auf eine WPF Umgebung sowie die Videoplayer Entwicklung in C++ haben Zeit und Nerven gekostet, aber auch zu einer ganzen Menge Wissenszuwachs beigetragen.


Nach dieser nunmehr fast dreijährigen Entwicklungszeit konnte der neue Forensic Video Report in seiner jetzigen Version 5.0 fertiggestellt werden.

 

Partnerschaft mit uns?

"Wenn man das Unmögliche ausgeschlossen hat, muss das, was übrig bleibt, die Wahrheit sein, so unwahrscheinlich sie auch klingen mag."

SIR ARTHUER CONAN DOYLE

 

www.eyewitnessforensic.com wird überprüft von der Initiative-S. Nähers unter www.initiative-S.de

JoomShaper