Zum Hauptinhalt springen
ist unser Mehrkamera-Aufzeichnungscontainer, der beim Aufzeichnen in Discovery erstellt wird. Die Nutzdaten sind MJPEG, sodass jedes Bild in der Datei bereits ein vollständiges JPEG ist – die Wiedergabe erfolgt mit einem einzigen cv2.imdecode, und der Export ist eine Byte-Kopie ohne erneute Kodierung oder Qualitätsverlust.

DWVO in Discovery aufzeichnen

Neu bei DWVO? Beginnen Sie hier, um .dwvo-Dateien zu streamen und aufzuzeichnen.

Voraussetzungen

  • Python (Version 3.x)
  • opencv-python, numpy und pillow
  • Eine .dwvo-Aufzeichnung – die Beispiele unten verwenden test.dwvo

Einrichtung

Klonen Sie das OpenCV-Guides-Repository und öffnen Sie den Ordner für diese Anleitung, erstellen Sie dann eine virtuelle Umgebung und installieren Sie die Abhängigkeiten:

Wiedergabe

main.py dekodiert jede Kamera und zeigt sie nebeneinander in einem OpenCV-Fenster an.
Die Wiedergabe folgt einem festen Zeitplan: Wenn das Dekodieren um einen ganzen Frame in Rückstand gerät, wird dieser Frame verworfen anstatt verspätet angezeigt, sodass das Video in Echtzeit läuft.

Export als JPEGs

Da DWVO bereits MJPEG speichert, kopiert export.py jedes Bild direkt auf die Festplatte – ohne Dekodierung und ohne Qualitätsverlust.
Die Ausgabe erfolgt in einem Verzeichnis pro Kamera, nummeriert im KITTI-Stil:

Verlustfreies PNG (KITTI-Datensatz)

dwvo_to_kitti.py erzeugt dasselbe Layout, dekodiert jedoch über Pillow, sodass es verlustfreies PNG ausgeben kann. Verwenden Sie es, wenn ein nachgelagertes Tool JPEG nicht akzeptiert; andernfalls ist export.py schneller.

DWVO programmatisch lesen

In dwvo.py iteriert DWVOReader über die Zeitstempel-Blöcke, DWVOWriter schreibt sie, und combine_dwvos() verkettet Aufzeichnungen, die denselben Header haben.

FAQ

In Discovery erfordern einige Kameras, dass die FPS manuell eingestellt werden. Wenn sie auf 30 FPS eingestellt waren, während das Video mit 60 FPS gestreamt wurde, verzeichnet die .dwvo-Datei 30 FPS in ihren Metadaten und weist Anwendungen an, mit 30 FPS zu lesen. Überschreiben Sie dies bei der Wiedergabe mit --fps.

Weitere Informationen

Für zusätzliche Details, Beispiele in anderen Sprachen und den vollständigen Quellcode der oben genannten Skripte siehe das OpenCV-Guides-Repository.

OpenCV-Guides-Repository

Quellcode für DWVO-Reader, Wiedergabe, Export und KITTI-Konvertierung.