![]() |
AVI mit MCI aufnehmen
Hallo,
Ich möchte ein kleines Programm schreiben, welches die Aktionen auf dem Desktop als avi aufnimmt. Ich habe es bisher mit Screenshots versucht nur leider nimmt dieser Vorgang genauso wie das umwandlen der vielen Eintzelbilder in eine AVI Datei sehr viel Resourcen weg. Und die Qualität des AVI ist auch nicht so berauschend. Ich habe hier im Forum gelesen dass es möglich ist mit Hilfe von MCI eine Aufnahme mit zu ermöglichen. Kennt jemand diese? Gruß Mazel |
Re: AVI mit MCI aufnehmen
Hallo!
MCI ist eigentlich dafür gedacht, von echten Videoquellen aufzunehmen, wenn die Treiber dafür da sind. Obwohl das nicht heißt, das es nicht möglich ist, aber Du bist da auf 1000 MB Dateigröße beschränkt. Grüßle! |
Re: AVI mit MCI aufnehmen
Hi,
ich hoffe ich werde die 80 MB Grenze nicht überschreiten, großen sollten die Filme die ich erstelle wirklich nicht werden, also würden die 1000MB locker reichen ;). Aber wie ich ein AVI aufnehme weist du nicht? Gruß Mazel |
Re: AVI mit MCI aufnehmen
Du könntest zB die AVI Funktionen (
![]() Praktisch habe ich das noch nicht gemacht, irgendwo (ist schon etwas her) hab ich bei MSDN mal ein Demo gesehen, wie das funktionieren könnte. Wenn Du vom Desktop Aufnahmen machen willst, dann bleibt Dir nur ein Screen-Capture übrig, und Du brauchst einen flotten Codec. An welche Größe (Pixel x Pixel), bzw fps hast Du gedacht zu erreichen? Grüßle! |
Re: AVI mit MCI aufnehmen
Ich dachte an 1024 x 768 mit 25 fps, aber das scheint mit Screenshots nicht zu schaffen, zumindest bei mir, ich komme auf 6 in der Sekunde, heißt das das alles Systemabhängig ist. Nun gut, 6 würden auch schon reichen, ruckelt zwar ein wenig aber das würde ich verkraften. Nur die bisherige Qualität ist nicht so berauschend, ich muss dazu sagen das ich mir mein bisherige Version aus vielen Codeschnippseln zusammengebaut habe.
Daher wollte ich nicht mit Screens arbeiten sondern direkt eine Aufnahme per MCI durchführen, sofern es möglich ist. Gruß Mazel |
Re: AVI mit MCI aufnehmen
Also direkt wüsst' ich keine Möglichkeit, oder man findet wo nen Treiber, der MCI den Desktop als Videoquelle vorgaukelt, wenns sowas gibt :gruebel:
6 fps bei 1024 x 768 :shock: Hast Du nen so langsamen PC, oder so langsam programmiert? :mrgreen: Mit meinem Standard Screen-Capture Makro komme ich bei 1152 * 864 auf 439.8 fps, obwohl das nicht auf Speed optimiert ist. Wenn ich das ganze als 24 Bit Bitmaps auf die Platte mitspeichere, dann fällt es gewaltig auf 8.1 fps. Damit das nicht passiert, sollte ja hier der Codec eingreifen, der die Datenmenge reduziert, die auf die Platte geschrieben wird, da das der Flaschenhals ist. Grüßle! |
Re: AVI mit MCI aufnehmen
:shock:
Das ist ne Menge, diese 440 fps. Mit welchem Standard Screen-Capture Makro bekommst du das hin? Es kann sein das mein Code zu langsam ist, denn ich speichere dieses als 24 Bit Bitmaps die eine Einzelgröße von 3 MB aufweisen. Zudem zeichne ich noch den Cursor, der bei einem Screenshot nicht mit gezeichnet wird extra in das Bild, dann habe ich den Code aus anderen Codes ertsmal zusammengeworfen und ich habe einen 1,4 GHz AMD 1600+ Prozessor. All diese Koponenten können zu der niedrigen Zahl von 6 fps führen :wink: Dein Makro würde mich echt interessieren. Gruß Mazel |
Re: AVI mit MCI aufnehmen
Gut, wenn ich das mit Cursor probiere komme ich dann auf ~272 fps.
Das liegt wahrscheinlich daran, das ich den Cursor mit SetPixelV zeichne :stupid: An dem Makro ist nix besonderes dran, ich habe mir das irgendwann mal mit einigen Parametern gemacht :-D Aber im Kern ist es nix anderes als ein simples BitBlt vom Desktop DC.
Delphi-Quellcode:
Das Problem ist nicht, wie bekommst Du die Bilder, sondern, wie kannst Du schnell die anfallende Datenrate verringern, um es auf die Platte zu bringen.
Wnd:=GetDesktopWindow;
DC:=GetWindowDC(GetDesktopWindow); If DC=0 then Exit; // Failed BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, DC, 0, 0, SRCCOPY); ReleaseDC(Wnd, DC); Grüßle! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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 by Thomas Breitkreuz