Autor |
Beitrag |
Phantom1
      
Beiträge: 390
|
Verfasst: Mo 13.11.06 00:57
Ohne Vorschau 64 und mit Vorschau habe ich auch 64 FPS
Mit Kompression sind es 4 FPS
Auch wenn ich das Programm im Vollbild laufen lasse (1920x1200) habe ich mit Vorschau 64 FPS.
System: Ahtlon64 X2 4600+, 2 GB RAM, RadeonX1800XT, WinXPsp2
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Mo 13.11.06 00:59
Also, bei mir sie es auch nicht rostig aus, mit Kompression kein 10FPS.
Mein System 1,66Ghz Doppelkern(was mich ankerken lässt: Das Programm beanschlag oft nue eine Hälfte),
1GB ram, Geforce 7300Go.
Zu errechnung der FPS, nach jeden Bild die Systemzeit merken, und die Differenz zur letzten Zeit bildenDas ist dann die Zeit für ein Bild. Das Reziproke ist dann Bild je Zeiteinheit, noch umrechnen und Du hast die FPS, da wird kein Timer benötig.
Wie verfährst Du bei der Kompresion? Jedes Bild für sich, oder mit Differenzbilder?
|
|
Terra 
      
Beiträge: 307
Windows 7 Ultimate
Delphi® XE3
|
Verfasst: Mo 13.11.06 13:57
@Tilo:
Ich habe zwar kein Wort verstanden aber ich bin froh, das du dich hier mit einklingst ^^
Also bei der kompression hab ich ne Vorlage genommen ... ähm mom... ok habs.
naja, es handelt sich dabei nicht um eine echte kompression sondern nur eine funktion die BMP in JPG wandelt.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure BMPtoJPGStream(const Bitmap : TBitmap; var AStream: TMemoryStream); var JpegImg: TJpegImage; begin JpegImg := TJpegImage.Create; try JpegImg.CompressionQuality := 50; JpegImg.PixelFormat := jf8Bit; JpegImg.Assign(Bitmap); JpegImg.SaveToStream(AStream); Application.ProcessMessages; finally JpegImg.Free end; end; |
Net erschlagen ... war ja nur mal nen Test. kompression war wohl das falsche Wort in der Form ^^
Terra
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 13.11.06 14:23
Moin!
Kompression ist schon korrekt, aber JPEG ist für StillImage optimiert (also für Fotos).
Du solltest bei Video dann schon auf MJPEG (Motion-JPEG) setzen, sonst wird das eh nix, weil bei Standbildern ja der Zeitfaktor egal ist.
Zugegeben: wie man einen MJPEG-Codec unter Delphi ans Laufen kriegt, kann ich dir auch nicht aus dem Handgelenk schütteln, aber das ist jedenfalls die Richtung.  (abgesehen davon, dass man erstmal einen mjpeg-Codec für Delphi oder einen passenden Wrapper HABEN muss  )
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Mo 13.11.06 15:28
|
|
Terra 
      
Beiträge: 307
Windows 7 Ultimate
Delphi® XE3
|
Verfasst: Mo 13.11.06 16:34
Also MJPEG war wohl das Stichwort, das ich gebraucht habe. Habe jetzt einen Artikel gefunden wo ein bissel beschrieben ist, wie MJPEG arbeitet. Damit sollte sich was anfangen lassen.
sourceforge.net/docm...56&group_id=5776
Terra
|
|
Quake User
      
Beiträge: 159
|
Verfasst: Di 14.11.06 11:32
Terra hat folgendes geschrieben: | Soooooorrrrryyyyy .... habe kein Internet zu Hause und kann nicht täglich hier reinschauen.
Leider wurde bei uns rumgefuscht und somit die Downloads zerstört.
...
Zu 1) Speichern tuh ich noch garnix weil ich nicht weiß, wie ich eine vernünftige Speicherroutine zusammenbekomme ... darum auch der Theard hier.
Zu 2) z.Z. noch ganz einfach über BitBlt(bm.Canvas.Handle,0,0,Width,Height,Dc,x,y,SRCCOPY);
Zu 3) das ist egal, solang am ende ein Ruckefreies Bild auf der Platte liegt ist da freier Handlungsspielraum.
Zu 4) Es soll eine Aufnahmefunktion für unsere Community werden, die in einem Hauptprogramm implementiert ist. Für ein Spiel Namens Silkroad Online. Das war eine Idee von unseren Communityleuten sowas mit in die Toolbox zu bauen. Daher hab ich mich mal unwissent dranngemacht
Wann zum Kuckuck habe ich jemals geschrieben, das ich hier HD-DVD oder BlueRay mit dem Programm aufnehmen will? Ich finde solche Gerüchte im Umlauf zu bringen zum Kotzen, echt ! Mit HDDVD oder so wird die funktion rein garnichts zu tun haben. Die Funktion muss nichtmal den Ton aufnehmen müssen !
...
|
Dein Ton ist einem Forum nicht angemessen
zu 1. Du solltest erst mal Deine Idee anbieten und erklären warum diese schlecht ist. Dann kann man Dir auch Verbesserungsvorschläge geben.
Also bspw. könntest Du die Bilder in einem (oder mehreren) Memory Stream speichern und dann auf deine Platte schreiben.
Sollte das nicht funktionieren, erkläre warum.
|
|
Terra 
      
Beiträge: 307
Windows 7 Ultimate
Delphi® XE3
|
Verfasst: Mi 15.11.06 13:39
Quake User hat folgendes geschrieben: | Terra hat folgendes geschrieben: | Soooooorrrrryyyyy .... habe kein Internet zu Hause und kann nicht täglich hier reinschauen.
...
|
Dein Ton ist einem Forum nicht angemessen
zu 1. Du solltest erst mal Deine Idee anbieten und erklären warum diese schlecht ist. Dann kann man Dir auch Verbesserungsvorschläge geben.
Also bspw. könntest Du die Bilder in einem (oder mehreren) Memory Stream speichern und dann auf deine Platte schreiben.
Sollte das nicht funktionieren, erkläre warum. |
Mein Ton ist nicht angemessen ????? Wenn sich das auf jenes bezieht, was ich zuletzt geschrieben habe solltest du vielleicht mal schauen wer damit angefangen hat. Ich habe nur was klargestellt.
zu deinem 1.) OK, da hast du Recht. Ich habs einfach vergessen. Mich hat aber auch niemand darauf hingewiesen.
Wie auch immer, ich habe eine Lösung für mein Problem gefunden. Speichern kann ich jetzt und das sogar mit MJPEG Komprimierung. Und alles bei minimalster Rechnerauslastung.
Bin ich gut oder bin ich gut ??
Jetzt kommt nur noch das "Feintuning" und fertig ist meine Desktop-Capture Funktion.
Terra
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 15.11.06 13:42
Moin!
Stell doch mal deinen Ansatz hier vor.  So haben alle was davon.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Quake User
      
Beiträge: 159
|
Verfasst: Do 16.11.06 01:50
Narses hat folgendes geschrieben: | Moin!
Stell doch mal deinen Ansatz hier vor. So haben alle was davon.
cu
Narses |
Das würde ich auch vorschlagen - wir haben uns Zeit genommen und können wir ggf. auch was lernen.
|
|
NCortex
      
Beiträge: 126
WIN 2000
D7 Enterprise
|
Verfasst: Fr 17.11.06 20:02
also das Programm arbeitet schon echt kurios.....
ich hab mit vorschau 100Bilder ohne 99-100 Bilde mit Kompression weniger als 5.
System: Laptop mit 1.7 Centrino 512Mb ram 447 aktuell ohne Programm belegt. GK: ATi 9700 mobile
Was ich komisch finde ist, dass die Werte so "konstant" sind. Ich glaube eher du berechnest die falsch.
normalerweise müsste sowas doch viel mehr schwanken oder?
_________________ "...by all means, do not use a hammer." (aus einer IBM Technikerdokumentation ca. 1920)
--->außer es kam von Microsoft<---
|
|
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 18.11.06 15:12
Narses hat folgendes geschrieben: | Moin!
Stell doch mal deinen Ansatz hier vor. So haben alle was davon.
cu
Narses |
Ich glaube nicht, dass von Terra noch was Sinnvolles kommt - dieses Topic war von Anfang an vermurkst mit dem sonderbaren DL-Link.
|
|
Terra 
      
Beiträge: 307
Windows 7 Ultimate
Delphi® XE3
|
Verfasst: Sa 18.11.06 20:57
Nu mal keine Stress machen .... bevor ich hier was reinstelle möchte ich erst noch einige Fehler bereinigen.
Beim DL Link hab ich mich nur vertan .. war bestimmt keine Absicht.
Lasst mir doch auch mal Zeit. Ich kann nicht hexen.
Terra
|
|
VaNaTiC
      
Beiträge: 30
|
Verfasst: So 19.11.06 20:56
Um nochmal auf das Thema VNC zurückzukommen. UltraVNC ist deshalb so performant (vorallem wenn das fernzusteuernde System sowieso schon zu arbeiten hat), weil es einen Virtuellen Grafikkartentreiber ins System hängt, der VNC direkt mitteilt, welche Bildschirmbereiche sich geändert haben. Dadurch verringert sich der wegzuspeichernde Bildanteil drastisch, da Du ja sozusagen im Vorgängerbild nur einen bestimmten Bereich nachführen musst.
Eine weitere Variante ist die Farbtiefe zu reduzieren (siehe auch bei VNC), denn jede Kompression erfordert Rechenleistung. Ich hab keine Ahnung wie FRAPS das macht, aber es gibt normalerweise kein MAGIC-CODE 
|
|
VaNaTiC
      
Beiträge: 30
|
Verfasst: So 19.11.06 21:06
Schau mal hier im Forum hat jemand einen Thread zum Mirror-Video-Driver gestartet
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Mo 20.11.06 04:22
VaNaTiC hat folgendes geschrieben: | Eine weitere Variante ist die Farbtiefe zu reduzieren (siehe auch bei VNC), denn jede Kompression erfordert Rechenleistung. Ich hab keine Ahnung wie FRAPS das macht, aber es gibt normalerweise kein MAGIC-CODE  |
FRAPS hat soweit ich weiß einen eigenen Codec, welcher speziell dafür geschrieben wurde (und wer weiß, evtl lässt FRAPS das ganze ja von der GPU statt der CPU berechnen?).
Aya~
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
LLCoolDave
      
Beiträge: 212
Win XP
Delphi 2005
|
Verfasst: Mo 20.11.06 15:50
|
|