avi öffnen, Pixel tragen Infos -> in Struct lesen



  • Hallo Community,

    ich habe avi-Dateien vorlegen, bei denen in den ersten Pixeln Inoformationen verschlüsselt sind, die ich in eine Datenstruktur übertragen will.
    Dazu muss ich ja die avi laden und frameweise auslesen. Gibt es dazu eine einfache Möglichkeit in C++ oder sollte ich das am Besten mittels eines Framworks tun (opencv oder ffmpeg)? Mit ffmpeg habe ich leider keine große Erfahrung, in opencv schon, allerdings wollte ich für diese Aufgabe auf so ein mächtiges Framework verzichten. Zudem ist ffmpeg (für mich) recht schlecht dokumentiert (guides/tutorials/examples).
    Wenn ich dann z. B. einen Frame habe, wie kann ich den dann in ein Struct casten?

    Danke
    sPaCe



  • Ich glaube nicht, dass du weißt, was du tun willst.
    In C++ direkt kannst du natürlich keine Video Dateien einlesen, du brauchst irgendein Framework. Das könnte z.B. auch DirectShow oder Window Media Foundation sein, wenn du unter Windows unterwegs bist. Aber in welcher Form deine Daten da verschlüsselt sind und wie du sie "casten" musst, das musst du schon selber wissen.



  • Doch doch, ich weiß schon, was ich tun will:
    - avi-Dateien öffnen und frameweise abarbeiten
    - in jedem Frame sind in den ersten Pixeln bestimmte Daten in bestimmter Reihenfolge kodiert
    - also Frame in einen Struct casten



  • allerdings wollte ich für diese Aufgabe auf so ein mächtiges Framework verzichten
    

    Ich glaube du bist dir der Komplexität nicht ganz bewusst...



  • Tim06TR schrieb:

    allerdings wollte ich für diese Aufgabe auf so ein mächtiges Framework verzichten
    

    Ich glaube du bist dir der Komplexität nicht ganz bewusst...

    Na ja, opencv kann ja nun weit, weit mehr als eine Videodatei auszulesen 😉
    Das meinte ich damit, deswegen habe ich mich ja schon versucht mit ffmpeg zu beschäftigen, das noch eher dafür spezialisiert ist. Nur fehlt mir für ffmpeg ein aktuelles Tutorial in Verbindung mit C++. Habe bisher nur sehr alte Tuts und nur in Verbindung mit C gefunden.

    Und dann ist da noch die Frage nach dem Weg, wenn ich erstmal ein Frame wie in opencv z. B. in einer Mat habe, wie ich dann die Infos, die mithilfe der ersten paar Pixel hinterlegt sind, in ein Struct "kippen" kann.
    Nach dem Motto "nimm die ersten x Bits und fülle sie in das Struct". Ich weiß ja welche Daten mit welchen Datentypen kodiert wurden. Kann mir also errechnen bis zu welchem Bit des Pixelarrays (des Frames) die Daten gespeichert sind.


Anmelden zum Antworten