Beiträge von BDAH2005

    He LigH, du hast mich echt beeindruckt. Man merkt dass du ein Video Profi bist. Deine Beweisführung - Einfach Suuuuuuuper!

    Ich habe zwischenzeitlich den Rat von codefish befolgt und mir die Doku zu DirectShowSource und AviSource durchgelesen.
    Nachdem was da steht müsste AviSource die VfW-Codec's bevorzugen. Wenn ffdshow ein VfW-Codec ist, dann hätte bereits das Installieren von ffdshow den Fehler beseitigen müssen.
    LigH schreibt aber dass sich nur mit DirectShowSource der fehlerhafte Cinepak Decoder umgehen lässt. Das verstehe ich nicht.

    Besonders würde mich nun interessieren wie die Suche nach den richtigen Codec vonstatten geht und ob es Debug-Möglichkeiten gibt um rauszubekommen welche Verarbeitungskette dann tatsächlich benutzt wird.
    Wer bestimmt in welcher Reihenfolge die Decoder ausgesucht werden? Gibt es generell eine Möglichkeit, wenn mehrere Decoder für einen Codec installiert sind, die Benutzung eines bestimmten zu erzwingen?
    Fragen über Fragen, wahrscheinlich sollte ich die lieber in ein Newbie-Thread stellen?

    fritz und Selur: Vielen Dank für eure Infos. Die Links sind sehr interessant. Leider komme ich zur Zeit nicht dazu mich näher damit zu beschäftigen.

    @All:
    Mein Ziel ist es, wie bereits geschrieben, meine eigene Software auf fehlerfreiheit zu
    testen. Deshalb brauche ich eigentlich nur eine Software die jede beliebige Video-Datei
    einlesen kann und die Frames meiner eigenen Testfunktion zur Verfügung stellt.
    VirtualDub+AviSynth ist da schon sehr gut geeignet, da sich alles so schön automatisieren lässt.

    Ich werde vorerst auf die DirectShowSource Funktion ausweichen. AviSource scheint ja sowieso nur eine Untermenge von den einlesen zu können, was DirectShowSource kann. Bitte sagt mir bescheit, inwieweit diese Vermutung stimmt.

    Wenn jemand Kontakt zum Entwicklerteam von AviSynth hat, sollte er dort das Problem mit AviSource melden. Würde mich freuen deren Meinung zu erfahren.

    Ich habe es jetzt geschafft einen Filter mit zwei Eingängen zu programmieren - naja, eigentlich nur zusammenkopiert. War einfach, mann muss nur der Versuchung widerstehen alles verstehen zu wollen. Insoweit habe ich mein Ziel erreicht.

    Zitat von incredible

    Wie hast du das "Test2.avi" erstellt?


    Ich meine natürlich zwei durch kopieren erzeugte Dateien die exakt gleich sind. Um jeden Zweifel auszuschließen - Man kann den Fehler auch sehen wenn zweimal die gleich Datei benutzt wird:

    clip1 = AviSource("test.avi")
    clip2 = AviSource("test.avi")
    Subtract(clip1,clip2)

    Zitat von incredible

    Wenn du exact beide (clip1 und clip2) dem gleichen AVI zuordnest gibts reines Grau.


    Nein, nicht wenn ich das AVI von http://www.www-kurs.de/test-avi.avi benutze. Habt ihr es Probiert?

    Zitat von incredible


    clip1 = AviSource("test1.avi")
    clip2 = AviSource("test2.avi")
    Subtract(clip1,clip2).ColorYUV(off_y=-127)

    Gibt die Differenz im Schwarz Modus wieder ... besser für Masken (diese sollten aber via Levels() Command anstatt ColorYUV() erzeugt werden.


    Ich sehe da auch Ausrutscher, nur sind sie jetzt grün. Glaubt mir den keiner? Warum schauen mich alle so mitleidig an ;)

    Zitat von incredible


    Du kannst die Differenz auch mit Overlay() anzeigen aber das kommt darauf an WAS du vorhast.

    Ich habe vor zu testen ob in zwei AVI-Dateien alle Pixel identisch sind, Wenn JA, dann alles Ok, wenn NEIN dann muss ich einen Fehler in meiner Software suchen. Wenn aber das Testsystem (also AVISynth) Differenzen reinbastelt wo keine sind, dann kann ich den Fehler suchen bis mich der Nervenarzt abholt.

    Die oben genannte AVI-Datei war die erste Datei die ich probiert habe und ich habe sie zufällig gefunden indem ich in Google "test avi" eingegeben habe. Ich habe die Datei noch nicht näher untersucht. Es ist mir eigentlich egal warum gerade bei ihr der Fehler auftritt. Weil ich eine Testumgebung brauche auf die ich mich 100% verlassen kann. Wenn vorne das gleiche reingesteckt wird MUSS hinten für alle Pixel das OK rauskommen.

    Oh: Jetzt bin ich nicht mehr der einzige der Fehlpixel sieht. Das beruhigt mich schon mal ;)

    Hurra ich habe es geschafft!

    Habe aber nun ein merkwürdigen Effekt bei der Subtract-Funktion bemerkt. Dachte zuerst ich habe ein Fehler gemacht. Aber der Fehler tritt auch in der internen Subtract-Funktion auf. Das Ergebnissbild ist nicht einheitlich Grau, wenn man zwei völlig identische AVI-Dateien voneinander subtrahiert. Jedenfalls wenn ich das mit der Datei http://www.www-kurs.de/test-avi.avi versuche. Dann gibt es einzelne Pixel-Ausrutscher. Das muss doch ein Fehler in AviSynth sein. Oder wie kann man das sonst erklären?

    Probiert mal:
    clip1 = AviSource("test1.avi")
    clip2 = AviSource("test2.avi")
    Subtract(clip1,clip2)

    vonbei test1.avi und test2.avi zwei Kopien von http://www.www-kurs.de/test-avi.avi sind.

    Danke für Eure Antworten!

    Zwischenzeitlich habe ich bemerkt, dass ich meine Frage in den falschen Thread gestellt habe, da es mir eigentlich weniger um die fertige Funktion geht, als vielmehr eine Testumgebung zu haben, in der ich meine Videoaufnahme-Software testen kann. Oder besser gesagt ich möchte keine Videos bearbeiten sondern meine eigene Software auf Fehler testen. Unterandern indem ich die von meiner Software erzeugten Frames mit Referenz-Frames vergleiche.

    Der Thread Software/Software-Entwicklung wäre richtiger gewesen. Das kommt davon wenn man einfach so auf die schnelle in ein Forum reinstürmt - sorry.

    Euer Tipp die Subtract-Funktion zu benutzen ist gut, leider handelt es sich dabei um eine interne Funktion und ich habe es bisher nicht geschafft sie analog zum "SimpleSample"-Invert Beispiel in eine DLL zu separieren. Wenn mir das gelingen würde, wäre ich am Ziel meiner Wünsche. Ist das bisschen Wiki-Text zum Filter-SDK bereits das gesamte SDK, oder habe ich was übersehen?

    Hallo @All,

    ich benötige eine Video-Tool das zwei Eingabevideos Bild für Bild (Pixel für Pixel) vergleicht und die Differenz als Video ausgibt. Normalerweise würde ich alles selbst programmieren, denke aber es müsse doch mit VirtualDub oder AVISynth schneller gehen. Ideal wäre, wenn es ein Filter mit Quelltexten gebe. Den könnte ich dann an meine Bedürfnisse anpassen. Mir würde ein compilierbares Beispiel genügen, wo zwei Eingabevideos eingelesen werden und ein Ausgabevideo daraus erzeugt wird.

    Bin totaler Anfänger was die oben genannten Programme betrifft und weiss deshalb nicht, ob sowas überhaupt mit diesen Programmen machbar ist.

    Bin für jeden brauchbaren Tipp dankbar.