Hallo zusammen, ich möchte gerne ein Projekt beginnen, bei dem ich über ein Wlan-Modul einen Datenstrom bekomme, diesen Datenstrom in ein Bild umrechne und diesen dann quais als ein Bild ausgeben kann. Dies sollte natürlich mehrmals in der Sekunde erfolgen und ein "Video" werden. Das programmieren der Berechnung direkt in C++, bzw. die Ausgabe als "gezeichnete" Punkte geht zwar, aber ist natürlich viel, viel, viel zu langsam. Also der Aufbau wäre einfach so: Datenstrom --> [Koeffizenten in Speicher] --> [Rekonstruktion] --> Ausgabe ich würde also eine schnelle Möglichkeit brauchen einen Algo auf einen Speicherbereich loszulassen (sind nur Mult+Add) und diesen Speicherbereich dann nach einer Berechnung als Video auszugeben. Ich hätte da ev. an DirectX gedacht, nur fehlt mit leider dazu das nötige Wissen. Soweit ich das mitbekommen habe, kann DirectX direkt auf die DSP Blöcke der Hardware zugreifen und somit die Berechnungen schnell erledigen? Drum wollte ich fragen ob DirectX das richtige für mich wäre und wenn ja ob es wo ein gutes Tutorial gibt, oder auch eine gute Buchempfehlung? Andernfalls wie ich das Problem sonst realisiere? Danke im Vorraus!
Guck dir mal den VLC-Player an. Der ist Opensource. Als Anfänger einen Videoplayer zu programmieren, ist ein nettes Einstiegsprojekt.
Ich sagte nicht das ich Anfänger bin. Bis jetzt kan ich noch nie mit den Themen in Berührung. Ev. hab ich mich auch falsch ausgedrückt. Ich dachte das es vereinfacht gesagt eine Schnitstelle z.B. in DirectVideo gibt, in der ich einfach einen Speicherbereich angebe in dem sich das Bild befindet. Dies wird dann ausgegeben. In einem zweiten Speicherbereich rekonstruiere ich in der Zwischenzeit das 2te Bild, schalten den Speicherbereich "um" und berechne im ersten das nächste Bild. Wiegesagt eine wirklich "billige" Ausgabe mit GDI oder direkt als BMP-Sequenz funktioniert ja. Es geht nur um eine schnelle Möglichkeit nacheinander Bilder zu "zeichnen" und ev. auch die DSP-lastigen Berechnungen zu beschleunigen. @ Gommel Jepps, am schlimmsten sind die Verückten mit sinnlosen Kommentaren. Mir wär leid um meine Zeit.
Wenn Du die Qt-Bibliothek benutzen kannst dann schau Dir das QMovie-Objekt an. Damit kannst Du den Datenstrom über ein QImage schnell einlesen, in ein solches Objekt ablegen und dann am Ende das Objekt als Video schreiben. Wenn es nicht so zeitkritisch ist und schnell gehen soll: * Einzelbilder in einem einfachen Format schreiben * Mit ImageMagick per Kommandozeile konvertieren: convert *.jpg movie.mpg Der MPlayer (bzw. der Mencoder) kann das auch.
Rüdiger Knörig schrieb: > Wenn Du die Qt-Bibliothek benutzen kannst dann schau Dir das > QMovie-Objekt an. Damit kannst Du den Datenstrom über ein QImage schnell > einlesen, in ein solches Objekt ablegen und dann am Ende das Objekt als > Video schreiben. Auf der Suche nach lizensfreien Formaten und Encoder bin ich auf diesen Beitrag gestossen, kann jedoch nichts zum Speichern eines Videoobjektes in der Qt Dokumentation finden: http://qt-project.org/doc/qt-4.8/qmovie.html
Joeee schrieb: > Hallo zusammen, > > ich möchte gerne ein Projekt beginnen, bei dem ich über ein Wlan-Modul > einen Datenstrom bekomme, diesen Datenstrom in ein Bild umrechne und > diesen dann quais als ein Bild ausgeben kann. Dies sollte natürlich > mehrmals in der Sekunde erfolgen und ein "Video" werden. Was für ein Datenstrom? Was für Umrechnungen? > Das programmieren der Berechnung direkt in C++, bzw. die Ausgabe als > "gezeichnete" Punkte geht zwar, aber ist natürlich viel, viel, viel zu > langsam. Das finde ich jetzt nicht so natürlich, allerdings ist auch unbekannt, wie komplex diese Berechnungen sind. > Ich hätte da ev. an DirectX gedacht, nur fehlt mit leider dazu das > nötige Wissen. Soweit ich das mitbekommen habe, kann DirectX direkt auf > die DSP Blöcke der Hardware zugreifen und somit die Berechnungen schnell > erledigen? Definiere "die DSP Blöcke der Hardware". Du kannst z.B. wenn du eine Grafikkarte hast, deren Shader-Rechenkerne nutzen, sofern deine Berechnungen sehr gut parallelisierbar sind.
Du antwortest auf einen über drei Jahre alten Beitrag. Ist OpenCV nicht gut für sowas geeignet?
Ach Mist. Jetzt bin ich auch auf so einen Leichenfledderer reingefallen, der tote Threads ausgräbt... Thomas schrieb: > Ist OpenCV nicht gut für sowas geeignet? Vermutlich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.