delphi problem 2/10000

  • moin,
    jetzt häng ich mal voll fest.habe hier mal paar komponenten runtergeladen:
    http://mitov.com/

    habe damit eine bewegungsmatrize realisiert (visionlab)und aufgezeichnet mit videolab (gepackt je nach encoder auf zielrechner ,3vx,xvid,divx) ,klappt soweit,aber nur über direct show (vfw).

    nehme ich für das evt.capture-gerät (hier webcam) win23api (wdm) hängt sich meine anwendung auf.ich wähle den zu verwendenden encoder und ich sehe auch nachher an der dateigrösse der capture-avi das aufgezeichnet und komprimiert wird.dann bleibt meine anwendung hängen und taucht auf einmal im taskmanager doppelt auf,beide mit "anwendung ragiert nicht).
    sieht so aus als würde der header oder sonst was nicht geschrieben,gspot kann die avi nicht erkennen.
    wiegesagt,an der dateigrösse sehe ich das eigentlich was gepackt wurde aber kein programm kann das öffnen.vfw funzt einwandfrei,egal welcher avi-encoder.
    hmm,vieleicht hat jemand mal mit den componenten gearbeitet oder kann in delphi soweit in die tiefe um das problem nachvollziehen zu können.
    würde source (soweit möglich) und mein compilat zur verfügung stellen.
    ärger mich masslos über meine unwissenheit.

    delphi 7 oder delphi studio 2006


    g/l

    md "%date%_%time:~0,2%.%time:~3,2%.%time:~6,2%"
    ...........................................................................................
    [X] <---- hier bitte bohren für neuen monitor.

  • moin,
    jetzt häng ich mal voll fest.habe hier mal paar komponenten runtergeladen:
    http://mitov.com/


    Hatte ich auch mal. Allerdings bin ich dann nie zur Installation gekommen.

    sieht so aus als würde der header oder sonst was nicht geschrieben,gspot kann die avi nicht erkennen.


    Im Header ist unter anderem die Anzahl der Frames angegeben. Das heißt, der Header muss spätestens nach Encodungende aktualisiert werden.
    http://msdn2.microsoft.com/en-us/library/ms779632.aspx

    Sieht so aus:

    1) In einem Thread wird AVI geöffnet, um ein Stück anzuhängen und wieder geschlossen.
    2) Im nächsten Thread wird AVI geöffnet, der Header aktualisiert und wieder geschlossen.
    3) Weiter mit 1)

    Wenn das AVI noch nicht geschlossen wurde, kann es nicht geöffnet werden.

    Gruß Frank

  • @fra_an
    die komponenten sind nicht gerade billig.alleine videolab kostet so um 1800 dollar.dann bekommt man die sourcen dazu.ansonsten kann man teilweise nur raten.und genau das ist das eigentliche problem.manche dinge klappen mit den komponenten einfach nicht.
    versuche ich ich auf wdm schiene fourcc einzufangen und in einer listbox anzuzeigen,funktioneirt das einfach nicht.hatte mal mitov mal im märz 2006 angeschrieben,seinerzeit für direct show,da hat er mir extra paar komponenten fertiggemacht,dafür gehen dann wieder andere sachen nicht..
    ist mir schon klar,dass er auch geld verdienen will.
    grins.
    wiegesagt,ds geht:

    Zitat


    VLDSVideoLogger1.VideoCompression.Compressions.Add.Compressor := ListBox1.Items.Strings[ListBox1.ItemIndex];

    bei wdm zeigt er nix mehr an:

    Zitat


    VLAVILogger1.Compression.Compressions.Add.Compressor := ListBox1.Items.Strings[ListBox1.ItemIndex];

    und auch sowas führt ins nichts:

    Zitat


    VLAVILogger1.Compression.Compressions.GetAvailableCompressions......
    oder:
    VLAVILogger1.Compression.Compressions.Add.GetFOURCC.......
    usw. usw.

    versuche derzeit über vlvideocompressor da ranzukommen.
    vldsvideocompressor klappt dagegen vom feinsten.

    naja,vieleicht findet sich ja der ein oder andere,der die kompnenten schon mal eingesetzt hat.(bei mir videolab,audiolab und signallab,dazu die open source komponente "open wire".
    habe hier die komponenten von 2,1 bis 3.0 beta1. und eine spezielle 2.1g

    g/l

    md "%date%_%time:~0,2%.%time:~3,2%.%time:~6,2%"
    ...........................................................................................
    [X] <---- hier bitte bohren für neuen monitor.

  • Bist Du Dir sicher, dass das wirklich richtig ist?

    Zitat


    VLAVILogger1.Compression.Compressions.Add.Compressor := ListBox1.Items.Strings[ListBox1.ItemIndex];

    Auf http://turbomirror.com/wikidoc/index.…ger.Compression ist ein VC++ Beispiel. Da steht

    Code
    AVILogger.Compression.Count = 3;AVILogger.Compression.0.Compressor = "CVID";AVILogger.Compression.0.Quality = 500;AVILogger.Compression.1.Compressor = "IV32";AVILogger.Compression.1.Quality = 800;AVILogger.Compression.2.Compressor = "MSVC";AVILogger.Compression.2.Quality = 700;

    Danach müssten erst die Anzahl der Einträge festgelegt werden und dann kann man die Eintragungen vornehmen. Beispiel:

    Code
    AVILogger1.Compression.Count := 1;
    
    
    AVILogger1.Compression.0.Compressor  := ListBox1.Items.Strings[ListBox1.ItemIndex];

    Gruß Frank

  • hmm,keine ahnung,hab mir erstmal anders beholfen und zwar so:

    Zitat


    VLAVILogger1.Compression.Compressions.Add.Compressor := ListBoxFourCC.Items.Strings[ListBox1.ItemIndex];

    problem ist wiegesagt,dass ich über vlavilogger zwar die listbox füllen kann,sehe also alle verfügbaren encoder des rechners,komme aber innerhalb der listbox nicht an die internen einstellungmenüs der encoder.

    bei ds geht das über:

    Zitat


    VLDSVideoLogger1.VideoCompression.Compressions[0].ShowDialog;

    ,aber der vlavilogger bietet kein show dialog.leider.

    arbeite deshalb jetzt mit zwei listboxen,sieht dann so aus:

    das funzt dann so:über wdm treiber wähle ich das capturegerät.dann wähle ich über direct-show-listbox den encoder,welcher verwendet werden soll,weil ich so an die internal-codec-settings komme.
    dabei nutze ich aus,dass der codec die einstellungen festhält!aus listbox1 übergebe ich an ListBoxFourCC .da die codecs ja immer in der gleichen reihenfolge gelistet werden gibts da kein problem.
    und aus ListBoxFourCC kann ich vlavilogger füttern:

    Code
    VLAVILogger1.Compression.Compressions.Add.Compressor := ListBoxFourCC.Items.Strings[ListBox1.ItemIndex];

    ich weiss,ist alles nicht ganz sauber,funzt jetzt aber.und das man irgendwie im dunkeln tappt mit den komponenten ist zwar spannend,aber zeitaufwändig.und dass viele dinge nicht so funzen wie in der videolab-hilfe,viedeolab-basic-hilfe oder wiki beschrieben sieht man daran,wenn man mal bei torrys delphi pages vorbeischaut:
    http://www.torry.net/forum.php

    dort werden alle beiträge nach gewisser zeit gelöscht,damit die user nicht zu schlau werden.bei problemen kann man mitov kontaktieren,der sendet einem dann eine extra angepasste komponente zu.dafür funzen dann wiegesagt andere dinge nicht mehr.mittlerweile frag ich da nicht mehr sondern umgeh die sperren irgendwie,siehe oben ... :D

    aber sauber schreiben kann man dann natürlich auch nicht und 1800$ pro komponentenpack wo ich 4 stück einsetze (videolab,visionlab,signallab,audiolab) ist etwas teuer.

    g/l

    md "%date%_%time:~0,2%.%time:~3,2%.%time:~6,2%"
    ...........................................................................................
    [X] <---- hier bitte bohren für neuen monitor.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!