AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi AVI mit MCI aufnehmen
Thema durchsuchen
Ansicht
Themen-Optionen

AVI mit MCI aufnehmen

Ein Thema von Mazel · begonnen am 29. Nov 2006 · letzter Beitrag vom 1. Dez 2006
Antwort Antwort
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

AVI mit MCI aufnehmen

  Alt 29. Nov 2006, 16:46
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
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#2

Re: AVI mit MCI aufnehmen

  Alt 29. Nov 2006, 18:02
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!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#3

Re: AVI mit MCI aufnehmen

  Alt 29. Nov 2006, 19:12
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
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: AVI mit MCI aufnehmen

  Alt 30. Nov 2006, 05:12
Du könntest zB die AVI Funktionen (MSDN-Library durchsuchenAVIFileInit, etc) verwenden, um die Bilder die Du Capturest gleich durch einen Kompressor zu jagen und in eine Datei zu speichern.

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!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#5

Re: AVI mit MCI aufnehmen

  Alt 30. Nov 2006, 13:10
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
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: AVI mit MCI aufnehmen

  Alt 30. Nov 2006, 19:41
Also direkt wüsst' ich keine Möglichkeit, oder man findet wo nen Treiber, der MCI den Desktop als Videoquelle vorgaukelt, wenns sowas gibt

6 fps bei 1024 x 768
Hast Du nen so langsamen PC, oder so langsam programmiert?

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!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#7

Re: AVI mit MCI aufnehmen

  Alt 30. Nov 2006, 22:11


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

Dein Makro würde mich echt interessieren.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#8

Re: AVI mit MCI aufnehmen

  Alt 1. Dez 2006, 00:39
Gut, wenn ich das mit Cursor probiere komme ich dann auf ~272 fps.
Das liegt wahrscheinlich daran, das ich den Cursor mit SetPixelV zeichne

An dem Makro ist nix besonderes dran, ich habe mir das irgendwann mal mit einigen Parametern gemacht
Aber im Kern ist es nix anderes als ein simples BitBlt vom Desktop DC.
Delphi-Quellcode:
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);
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.

Grüßle!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz