Gast
2006-11-03, 11:02:26
Hallo,
ich wollte eigentlich eine eigene Videostreaming Applikation bzw Komponente entwickeln, um nicht
immer auf den teuren kommerziellen Kram angewiesen sein zu müssen. Die Bilder müssen jedoch klein sein, da nicht jeder eine T3 hat,
und das ist viel komplizierter als gedacht:
Ich hab mir zunächst überlegt man könnte doch die alte XOR Methode in Form von BitBlt/SRCINVERT verwenden, um zu
sehn welche Pixel verändert wurden. Dies funktioniert bei einigen Vorlagen, die absolout sauber sind sehr gut (z.B. Screenshots).
Nun ist es bei Videosignalen jedoch so, das sich die Helligkeit ständig um Nuancen ändert, die Cam einfach um 1mm verrückt
oder das Bild von der Cam einfach nicht immer sauber produziert wird. Somit hat man ständig ein neues Bild, bei dem alle Pixel verändert sind,
und das Invert-Bild ist kein Dutt kleiner als ein normaler Camshot.
Nun hab ich in Foren gelesen, dort wurde vorgeschlagen die Bilder von anfang an in GIF umzuwandeln,
um die Nuancen auszugleichen.
Hab ich auch gemacht und noch komprimiert/optimiert:
gif.Compression:=gcLZW;
gif.Optimize([ooCrop,ooMerge,ooCleanup,ooColorMap,ooReduceColors],rmQuantizeWindows,dmNearest,;
Nun ergebibt sich jedoch folgendes Problem:
Da die Bilder eben nun nichtmehr wirklich identisch sind, kommt am Ende, wo man das Änderungsbild auf das Anfangsbild wieder per Invert kopiert,
eben nichtmehr wirklich das Bild raus, sondern eher ein Farbmatsch mit Bildresten.
Kann mir da wohl jemand weiterhelfen?
ich wollte eigentlich eine eigene Videostreaming Applikation bzw Komponente entwickeln, um nicht
immer auf den teuren kommerziellen Kram angewiesen sein zu müssen. Die Bilder müssen jedoch klein sein, da nicht jeder eine T3 hat,
und das ist viel komplizierter als gedacht:
Ich hab mir zunächst überlegt man könnte doch die alte XOR Methode in Form von BitBlt/SRCINVERT verwenden, um zu
sehn welche Pixel verändert wurden. Dies funktioniert bei einigen Vorlagen, die absolout sauber sind sehr gut (z.B. Screenshots).
Nun ist es bei Videosignalen jedoch so, das sich die Helligkeit ständig um Nuancen ändert, die Cam einfach um 1mm verrückt
oder das Bild von der Cam einfach nicht immer sauber produziert wird. Somit hat man ständig ein neues Bild, bei dem alle Pixel verändert sind,
und das Invert-Bild ist kein Dutt kleiner als ein normaler Camshot.
Nun hab ich in Foren gelesen, dort wurde vorgeschlagen die Bilder von anfang an in GIF umzuwandeln,
um die Nuancen auszugleichen.
Hab ich auch gemacht und noch komprimiert/optimiert:
gif.Compression:=gcLZW;
gif.Optimize([ooCrop,ooMerge,ooCleanup,ooColorMap,ooReduceColors],rmQuantizeWindows,dmNearest,;
Nun ergebibt sich jedoch folgendes Problem:
Da die Bilder eben nun nichtmehr wirklich identisch sind, kommt am Ende, wo man das Änderungsbild auf das Anfangsbild wieder per Invert kopiert,
eben nichtmehr wirklich das Bild raus, sondern eher ein Farbmatsch mit Bildresten.
Kann mir da wohl jemand weiterhelfen?