MPEG2 - Stream - "Echtzeit" Verarbeitung

Zaiga

Lieutenant
Registriert
März 2011
Beiträge
907
Hallo zusammen,

ein MPEG2 Stream und soll möglichst in Echtzeit (im Sinne von möglichst
schnell und nicht mit einem definierten dt) verarbeitet werden. Es soll
eine Software entstehen die eine Bilderkennung durchführt. Ich besitze
Erfahrung in Bildverarbeitung anhand von MJPEG Streams.
Habe aber noch nie mit einem Format wie MPEG2 etwas zutun gehabt in dem
keine Einzelbilder vorkommen.

Wie funktioniert allgemein die Bildverarbeitung bei einem solchen
Format?
Habt ihr ein paar Tipps für mich, wie ich mich in diese Gebiet
einarbeiten kann?

Programmiert wird in C/C++

Danke Gruß
 
Wenn ich dich richtig verstehe geht es dir darum dass du einen MPEG2 Stream von einer Quelle bekommst und du z.B. eine Bilderkennung an den einzelnen Frames durchführen willst.

Prinzipiell musst du nur eine Bibliothek wie FFMPEG verwenden die dir aus dem Stream die Einzelbilder im YUV oder RGB (vermutlich wirst du eher YUV benötigen?) Format gibt. (Denselben Schritt wirst du (entweder auch wieder durch eine Bibliothek oder selbst geschrieben) bei MJPEG schließlich auch gemacht haben müssen -> auslesen der Einzelbilder im JPEG Format und Konvertierung dieser in ein nicht komrpimiertes Format wie YUV/RGB). Dokumentation zu FFMPEG müsstest du auf der Projektseite finden.

lg, Heli

PS: Natürlich gibt es andere als FFMPEG auch. (libmpeg2, gstreamer, etc.)
 
Ja ich stimme Henni zu - eine Lib sollte dir Einzelbilder liefern.
Aber das wird dein kleinstes Problem sein... Du könntest für erste Versuche einfach das Video "umkodieren" oder direkt eine Folge vom .bmp Files auf der Festplatte ablegen durch die du dann frame für frame durchklicken kannst.
Während der Entwicklung wird es ja eh nötig sein Frame für Frame zu sehen, welche Entscheidungen die eigene SW getroffen hat.
 
Danke für die Tipps! Ich lese mir jetzt erstmal das ganze durch.
 
Zurück
Oben