Interlacedstreifen finden

  • Hmm,.. ich guck mal ob ich mir dazu ein paar Infos ergoogeln kann,..
    Keine ordentlichen Infos gefunden, aber mal HDConvertToX runterladen und die Option getestet,..
    scheint als ob es:
    - mit eac3to guckt was im file steckt und den videostream extrahiert
    - mehrere AvisynthSkripte durchlaufen lässt (in denen log Dateien geschrieben werden) indem es die Skripte durch x264 laufen lässt (sieht sehr nach dem was was auch MeGui&Co machen)
    sieht aber nicht so aus, als ob da irgendwelche Ausgaben von x264 verwendet werden, sondern x264 wirklich nur benutzt wird um das Avisynth Skript durchlaufen zu lassen.
    Insgesamt, sieht das ganze nicht wirklich anders aus, als das was in MeGui&Co auch gemacht wird, nur das die ihre Avisynthskripte durch VirtualDub/avs2avi/... jagen. ;)

    Denke wenn man sich hinsetzt kann man das Verfahren von HDConvertToX sicher per reverse engineering nachbauen als Standalone Anwendung, vermute buzzqw würde einem auch schnell ne StandAloneVariante zusammen basteln können,... (auf Grund der Abhängigkeit zu Avisynth ist es für mich aber recht uninteressant)

    Cu Selur

  • Doch etwas anders ... es wird in der Tat nur ein kleines Quadrat analysiert, und das mit Hilfe einer "Alibi-Encodierung", aber letztlich wohl doch eine Statistik extern analysiert:

    HDConvertToX 3.0.694.4644:

    Advanced Options / Utilities / Test Interlace pattern:

    ...\HDConvertToX\analysis\deinterlacer_test.bat

    Code
    "E:\Programme\HDConvertToX\applications\dgmpgdec\dgindex.exe" -FO=0 -OM=0 -YR=2 -AIF=[h:\video\oliver enderlein - rbb - was!.mpg] -OF=[E:\Programme\HDConvertToX\analysis\movie] -exit -minimize"E:\Programme\HDConvertToX\applications\x264\x264.exe" --preset ultrafast --bitrate 250 --thread-input --output "E:\Programme\HDConvertToX\analysis\createautodeintmovie.h264" "E:\Programme\HDConvertToX\analysis\createautodeintmovie.avs""E:\Programme\HDConvertToX\applications\x264\x264.exe" --preset ultrafast --bitrate 250 --thread-input --output "E:\Programme\HDConvertToX\analysis\autodeint_ff_movie.h264" "E:\Programme\HDConvertToX\analysis\autodeint_ff_movie.avs"

    ...\HDConvertToX\analysis\createautodeintmovie.avs

    PHP
    LoadPlugin("E:\Programme\HDConvertToX\filters\decomb.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\dgdecode.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\TIVTC.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\DGAVCDecode.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\DirectShowSource.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\ffms2.dll")Mpeg2Source("E:\Programme\HDConvertToX\analysis\movie.d2v")function Comptest(clip c, float percent){frange=floor(15./(percent/100.))Return SelectRangeEvery(c, frange, 15)}file="E:\Programme\HDConvertToX\analysis\interlaced.log"Global sep="-"Global diff=1.0Global a=truefunction IsMoving() {Global b = (diff < 1.0) ? false : true}c = lastGlobal clip = lastc = WriteFile(c, file, "a", "sep", "b")c = FrameEvaluate(c,"Global a = IsCombedTIVTC(clip, cthresh=9)")c = FrameEvaluate(c,"IsMoving")c = FrameEvaluate(c,"Global diff = YDifferenceFromPrevious(clip)")crop(c,0,0,32,32)Comptest(100)

    ...\HDConvertToX\analysis\autodeint_ff_movie.avs

    PHP
    LoadPlugin("E:\Programme\HDConvertToX\filters\decomb.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\TIVTC.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\DGAVCDecode.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\DGDecode.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\DirectShowSource.dll")LoadPlugin("E:\Programme\HDConvertToX\filters\ffms2.dll")Mpeg2Source("E:\Programme\HDConvertToX\analysis\movie.d2v")function Comptest(clip c, float percent){frange=floor(15./(percent/100.))Return SelectRangeEvery(c, frange,15)}file="E:\Programme\HDConvertToX\analysis\ff_interlace.log"Global sep="-"d = lastGlobal abff = d.assumebff().separatefields()Global atff = d.assumetff().separatefields()c = d.loop(2)c = WriteFile(c, file, "diffa", "sep", "diffb")c = FrameEvaluate(c,"Global diffa = 0.50*YDifferenceFromPrevious(abff) + 0.25*UDifferenceFromPrevious(abff) + 0.25*VDifferenceFromPrevious(abff)")c = FrameEvaluate(c,"Global diffb = 0.50*YDifferenceFromPrevious(atff) + 0.25*UDifferenceFromPrevious(atff) + 0.25*VDifferenceFromPrevious(atff)")crop(c,0,0,32,32)Comptest(50)

    Ich habe hier eine 100%-Analyse über ein MPEG2-Video aus DVB-S erstellen lassen, welches tatsächlich interlaced ist, aber viel Portrait mit wenig Bewegung enthält. MeGUI hatte sich hier verschätzt, glaube ich...

    Ja. MeGUI erkennt dieses Beispiel als "Hybrid film/interlaced, mostly interlaced" und empfiehlt als Deinterlacer "TIVTC". Bei PAL definitiv falsch.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    2 Mal editiert, zuletzt von LigH (2. Januar 2012 um 12:03)

  • hier noch mal ne neuere Version mit geänderter Entscheidungsfunktion: http://www.multiupload.com/2YCUP04RH7

    Cu Selur


    Ps.: hab auch mal die aktuellen Sourcen angehängt,... (sollte sich sowohl unter Mac als auch Linux ohne Probleme mit Qt kompilieren lassen)

  • MediaInfo checkt nur die Header mehr macht es nicht und mehr wird es wohl auch nie machen. (zumindest war das der letzte Stand den ich bin Unterhaltungen mit dem MediaInfo Autor habe)

    Der ganze Aufwand wird ja nur gemacht weil Header durchaus mal falsch sind oder progressives Material interlaced encoded ist und ein Deinterlacing eigentlich nicht nötig ist.

    Momentan geht es mir erst mal darum raus zu bekommen ob:
    1. die Analyse so klappt, d.h. ob die Entscheidungsmethode wie sie aktuell ist anhand der Daten die sie hat soweit möglich verlässliche Infos liefert.
    2. ob man eventuell bestimmtes Material Fieldblended&Co eventuell auch noch identifizieren kann
    3. wenn die Analyse auf kompletten Clips verlässlich ist, in wie weit man elegant nur Teile des Films analysieren kann um das Ganze zu beschleunigen (sicher ist die Analyse dann nicht mehr so verlässlich, aber das muss man dann selber abwägen)

    Da die meisten Leute hier entweder schon mit der Avisynth basierten Analyse glücklich sind oder eh immer selber drauf gucken ist das Interesse halt nicht so groß am Versuch eine MPlayer basierte Lösung zu finden. Kann ich ja durchaus Verstehen, da die Analyse brauchbare Ergebnisse liefert und viele Leute eh Avisynth installiert haben.
    -> da ich selber kaum mit interlactem Material zu tun habe wird es sicher noch was dauern bis ich sage würde, dass die MPlayer basierte Analyse 'gut' ist, die aktuelle Entscheidungsmethode scheint bei meinen Samples zwar korrekte Ergebnisse zu liefern, aber das muss nichts heißen. Was halt wirklich fehlt ist ein Stappel von Material bei dem von Hand geguckt wurde um was es sich handelt und an dem man die Entscheidungsmethode testen kann.

    Cu Selur

  • tach auch !

    Weiß man wie die Fukktion von AutoGK zu dem Thema arbeitet?
    AutoGK baut natürlich auch auf Avisynth auf und schmeißt anschließend eine Liste mit yes / No betreffs Interlaced um sich.
    Da es funzt habe ich mich nie näher damit befasst.

    Gruss BergH

  • Die halbmanuelle Methode mit dem MSU VQMT gefällt mir recht gut. Als Zeit/-Genauigkeitskompromiss durchsuche ich jedes 100ste Bild (=1% des Films). Üblicherweise finde ich 4 Sorten von Abweichungen:

    - Interlacete Einblendungen, z.B. das BR-Logo beim Bayerischen Rundfunk. Die lasse ich.
    - Fehlmedungen bei feingemusterten Gegenständen, z.B. Jackets mit Hahnentritt- oder Glencheckmuster. Hier mache ich nichts, weil es ja ein Fehlalarm ist.
    - Bilder wo man keinen Unterschied sieht. Hier mache ich auch nichts.
    - "Echte" Interlacedstreifen. Bei dem Film, den ich gerade fertig mache, habe ich beim Durchsuchen von Hand nichts gefunden. MSU VQMT hat aber das angehängte Bild gefunden. Das schreit geradezu nach Abhilfe!

    MSU VQMT hat hier 1331 Bilder überprüft. 4 auffällige wurden gefunden. Das angehängte Bild hat Nummer 1141. Da ich jedes 100ste Bild überprüft habe, weiß ich, das Bild 1141 im VQMT im Film die Nummer 114100 hat. Dieses kann ich dann in der Vorschau lokalisieren, und mir die Bilder davor und dahinter angucken.

    Gruß

    akapuma

Jetzt mitmachen!

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