![]() |
Video in Echtzeit maskieren
Hallo.
Hat jemand eine Idee, wie ich ein abspielendes Video in Echtzeit maskieren kann? Als "Maskierungsquelle" habe ich im mom ein S/W-Bitmap (Echtzeit Video). Ich bräuchte also entweder die Möglichkeit die Videoframes in Echtzeit zu manipulieren, oder eine Art Videomischer o.ä. Bestimmte Bereiche des Videos sollen einfach schwarz werden... Kennt jemand eine Komponente / Technik mit der das möglich ist. Vielen Dank |
AW: Video in Echtzeit maskieren
Du weisst schon was das für Anforderungen sind!
In Delphi Videos abzuspielen ok, ne Blende zu machen ok, nun heist es aber, das Video zu speichern! Wie gesagt, Abspielen ist das eine aber zu Speichern das andere! Welches Format liegt den vor? Welches Format soll den gespeichet werden? Und das noch in Echtzeit, möglichst auch mit der selben Qualität? mh.... Nicht ohne vernünftige Hardware! Alles andere währe ja rippen und hat nix mit Echtzeit zu tun! alfold |
AW: Video in Echtzeit maskieren
ich glaube ich bin missverstanden worden.
ich will in delphi video abspielen und die möglichkeit haben das aktuelle frame zu manipulieren (im speicher per scanline) nichts abspeichern und format ist mir relativ egal (würde mich nach der kompo richten). |
AW: Video in Echtzeit maskieren
Im prinzip ist es nicht anderes als das Du 2 images übereinderlegst bzw blendest.
Images1 zb ist dein Film und images2 oder auch bitmap ist Deine Blende. Mit hilfe eines Trackbar oder scrollbar blendest Du das bitmap auf imgaes1 ein. Was Du dir aber sparen kannst, Da du selbst auf das Images1 einfluss nehmen kannst was da gezeigt wird, wenn es also nur um schwarzblende geht! Scanline benötigst Du also nicht! alfold |
AW: Video in Echtzeit maskieren
Zitat:
und mit welcher video komponente kann ich solche overlays realisieren?? |
AW: Video in Echtzeit maskieren
oobs, ob Du da was freeware bekommst, mhhhh:gruebel: ala VLC.Player wird schwer.
Da solltest Du mal google aufrufen 'delphi video capture' oder so. evtl ![]() Nur - Du must dir das Video eh vorher anschauen um zu wissen, wann,wo, wie Du welchen Frames verändern willst. Aber na gut, villeicht findest Du was? alfold |
AW: Video in Echtzeit maskieren
Im Grunde brauchst du nur irgend eine Player-Kompo, die es ermöglicht das Video nicht als Overlay darzustellen. Dann nämlich kannst du einfach ein teiltransparentes Bild drüber zeichnen. Das ganze wird etwas komplizierter, wenn die Maske ebenfalls animiert sein muss. Das DSPack z.B. ermöglicht es an die einzelnen Frames eines Videos als Bitmap zu kommen. Du müsstest dann von den beiden Videos (Basis und Maske) die Bitmaps abholen, sie miteinander verrechnen, und das eigentliche "Abspielen" selbst übernehmen.
|
AW: Video in Echtzeit maskieren
Jop, und wieder mal das DSPack (basierend auf Direct Show von Microsoft Direct X) hat damit kein Problem, nicht nur das, es hat sogar Bsp. drin, wie man das anstellt^^
Alte Delphi Versionen: ![]() Neuere Versionen (Delphi 2010 und höher): ![]() |
AW: Video in Echtzeit maskieren
Liste der Anhänge anzeigen (Anzahl: 1)
Asso, ich hab dir hier mal das Bsp. rausgesucht, welches dort unter anderem enthalten ist, das gleich kannst du auch mit einer WebCam oder ähnlichem machen.
Hab das mal compiliert, dass du dir das ansehen kannst. Edit: Was ich noch sagen wollte, nein mit Scanline hast du keine Chance, da du dann niemals nen flüssigen aufbau vom Video hinbekommen würdest. Nutze, was Firmen grati bereitstellen oO Glaub mir, damit bist besser drann :P |
AW: Video in Echtzeit maskieren
Zitat:
aber ein letztes problem habe ich noch. die ganze funktioniert ja auch mit transparenzen (z.b. .gif mit transparenzen): ![]() aber wie kann ich die geschichte mit meinen internernen daten füttern ohne immer etwas von der festplatte zu laden? vielleicht gibt es ja auch einen viel einfacheren weg. um nocheinmal zu sagen, was ich erreichen will: eine animierte maske über das video --> so wie das .gif nur dieses dynamisch verändern |
AW: Video in Echtzeit maskieren
Also wenn ich dich jetzt richtig verstanden hab, möchtest du zur Laufzeit dein Bild (Die Maske) verändern?
|
AW: Video in Echtzeit maskieren
@Cyberstorm
Das habe ich dir aber schon geschrieben! Las Dir das Video auf ein Canvas ausgeben, zb Panel. Mit Hilfe von bitmap kannst Du nun zusätzlich auf das Panel deine Maske legen. Du musst Dir natürlich ein paar Schieberegler auf deine Form packen um zb Farbe, Transparentz, position oder grösse des Bitmap zu bestimmen. Masken kannst Du natürlich nur als Bild/gif Datei usw vorhalten! Die werden nicht erst erstellt zu Laufzeit, wie Du vielleicht denkst! Vorteil: Du musst nicht mal das Overleay des Videos antasten für solche spielereien! Und mit Scanline auf das Overleay des Videos zuzugreifen in echtzeit vergiss es! wurde ja schon gesagt! Gruss alfold |
AW: Video in Echtzeit maskieren
Schau mal unter
![]() Der hat genau das was Du suchst als Delphi Components. VideoLab oder VisionLab und sind für nicht kommerzielle Anwendungen frei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz