• Hallo Leute

    Ich habe einen Camcorder von Sony, der auf HI8 Casseten spielt.
    Die Video´s sind Interlaced und in einem DV Codec kodiert.
    Ich hab das Video über Firewire gecaptured.
    Nun will ich es
    1. deinterlacen
    2. deshaken
    3. resizen
    4. in Xvid kodieren
    Ich kucke die Video´s ausschließlich am PC an.

    Ich lade folgendes Skript in VD:
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins\TDeint.dll")
    AVISource("d:\"interlaced.avi",true,"YUY2")
    AssumeBFF()
    TDeint(mode=1)
    Speicher das Video in huffyuv ab. (Video hat jetzt 50FPS)

    Dann lade ich dieses Skript in VD:
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins\TomsMoComp.dll")
    AVISource("d:\deshaked.avi")
    Lanczos4Resize(512,384)
    HalfFps()
    Und speicher es in Xvid ab. (Video hat 25FPS)

    Ist diese Vorgehensweise korekt?
    Brauche Hilfe. Schreibt mir eventuell eine Verbesserung oder auch Vorschläge für andere Plugin´s.


    PS: Die Rechenzeit ist mir egal, solange man die Qualität sich verbessern läßt.

  • Wenn dir die Rechenzeit wirklich egal ist, dann schau dir dies mal an:

    MVBob()

    Allerdings ist es gut möglich, das du dann deine Äußerung bezüglich der Rechenzeit wieder reviedierst. :ani_lol:

    Edit: Anstelle von HalfFps() könnte man wohl auch selecteven() oder selectodd() nehmen.

    Das DeShaker-plugin kann aber doch auch Interlanced-Input verarbeiten, oder? Hab schon länger nicht mit gearbeitet.

    EDIT2: warum Lädst du eigendlich TomsMoComp im zweiten skript?

  • tach auch !

    Das ist ECHTES Interlaced Material.
    Das De-Interlaced man Nie, nimmer, Never nie nicht.

    Wenn es denn sein muß macht man das beim Abspielen am PC mit dem Abspielprogramm de-interlacer.

    Gruss BergH

  • Also das "niemals nicht" von bergh würde ich nicht so absolut sehen... Es kommt immer auf das Zielformat an.

    Wer eine Video-DVD draus machen will: So lassen, am Röhren-Fernseher sieht das korrekt aus.

    Bei DivX und XviD ist es so eine Sache ... nicht alle Abspielprogramme haben wirklich gute Deinterlacer, ein intelligenterer Deinterlacer wie TDeInt während der Konvertierung bringt da sicher bessere Ergebnisse.

    Und sicher braucht Interlaced-Video mehr Bitrate - außerdem kommen wahrscheinlich nicht alle DivX-Player aus dem Handel mit Interlaced-Video gut klar (was zu testen wäre). Und wer es sowieso nur am PC anschaut, dem gönne ich ein gutes progressives Bild.

  • tach auch !

    Aus ECHTEM Interlaced kann man kein gutes progressives machen,
    es geht VIEL verloren,
    wenn auch nicht mehr 50% Bewegungsinfo, iwe man früher gelernt hat ;)

    Für XVID muß man de-interlacen, aber als Interlaced MPEG kann man es sich auch am PC angucken UND am TV.

    Gruss BergH

  • Tach auch !

    Wenn es sowieso nur auf dem PC abspielbar sein muss könnte man einfach eine SeparateFields() machen und das ganze in MKV packen mit Playbackextension das auf doppelter Höhe abgespielt wird.

    Alternativ kann man dann wieder auf volle Größe interpolieren zum Beispiel mit eedi2().

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • Dann muss ich bei 100fps was falsch verstanden haben.
    Da kann man aber sicherlich mit crop entgegenwirken , oder ?

    Weil im eng. Doom9 wurde mir gesagt das dies die einzigste Möglichkeit für ein "verlustloses" Deinterlacing wäre.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • Zitat

    Dann muss ich bei 100fps was falsch verstanden haben.

    100fps ist nicht der Weiheit letzter Schluss.

    Zitat

    Da kann man aber sicherlich mit crop entgegenwirken , oder ?

    Wenn Du um nen halben pixel croppen kannst, bitteschoen!

    Zitat

    Weil im eng. Doom9 wurde mir gesagt das dies die einzigste Möglichkeit für ein "verlustloses" Deinterlacing wäre.


    JEDE Methode, welche fullrate deinterlacing macht, und dabei die originalfelder durchlaesst, ist lossless!
    so also:
    bob()
    doubleweave()
    tdeint(mode=1)
    interleave(tomsmocomp(-1,5,0), doublewewave().selectodd().tomsmocomp(-1,5,0))
    kernelbob()

    uvm.

    Es kommt nur darauf an, wie gut die fehlenden Bildinbformationnen aus den umgebungsdaten (spatial und temporal) zuruckgeholt werden (koennen).
    Dabei sind separatefields und bob sicher NICHT die erste wahl. Wohl aber die schnellste.

  • Hmm... So richtig werde ich Interlacing wohl nie verstehen.
    Danke für die Erklärungen scharfi.

    Sorry Felix , dann vergiss bitte was ich oben geschrieben hab.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • Also ist es sinnvoll, ein DV-Video, wenn man es nur am PC ankuckt, erst auf 50FPS zu bobben dann Filtern, dann auf 25FPS runterrechen, um in Xvid zu speichern?

    mvbob soll ja auch gute Qualität liefern.
    Wie sähe dann mein Skript aus?
    (hab mvbob schon installiert)

  • Zitat

    Hmm... So richtig werde ich Interlacing wohl nie verstehen.


    Weil die meisten immer nur von der PC-Darstellung ausgehen. Prinzipiell muss man eigentlich nur wissen, dass man es mit 50 Bildern von halber Auflösung zu tun hat. Dabei ist die Bildinformation zweier aufeinander folgender Halbilder um eine Zeile versetzt - weshalb das mit SeparateFields mit anschließendem Resize auch so hin und her springt (wie Scharfi schon schrieb).

    Interlacing bedeutet aber noch mehr: Bei Bewegung z.B. die doppelte Menge an Bewegungsinformation, bei halbierter Zeileninformation. Statische Bildbereiche haben aber die volle(!) Zeileninformation.

    Ein simples Deinterlacing führt so zu zwei Effekten: Bei Bewegung zum Verlust von Bewegunsinformation (das passiert IMMER, wenn man nicht gerade mit 50p als Ziel arbeitet), und bei statischen Bildbereichen zum Verlust von Zeileninformation (also Details). Genau deshalb ist Deinterlacing ja auch nicht gerade einfach. Wenn selbst Koryphäen wie Scharfi Jahre(!) in die Arbeit stecken, das weiter zu verbessern, sieht man, wie komplex das ist.

  • Hallo
    Ich hab mich jetzt ein weinig auf https://localhost/www.100fps.com schlau
    gemacht. Jetzt 3 Sachen:

    1. Der Autor meint, dass Bob+Weave die beste Software Methode wäre.
    Er macht dafür separatefields und in VD noch einen "Smooth deinterlacer".
    Er bekommt ein Video mit 720x576 und 50FPS und progressiv Scan.
    Ist das nicht das gleiche, was auch der Befehl bob() und mvbob()
    und tdeint(mode=1) macht? ...man bekommt ja auch ein Video mit 720x576
    und 50FPS und progressiv Scan.
    2. Ich habe Tests gemacht mit den 3 oben angegebenen Verfahren und dann in Xvid kompriemiert. Ich kann aber keine großen Qualitätsunterschiede
    feststellen, obwohl mvbob() ja eigentlich die beste Mehtode sein müsste.
    3. Ist es eigentlich sinnvoll das Video mit 50FPS in Xvid zu komprimieren?
    ...der Autor von https://localhost/www.100fps.com hats auch gemacht und ich bekomm
    seitdem auch viel flüssigere Bilder.
    Wie kann ich das Video wieder auf 25FPS runterrechnen?

  • Weil die meisten immer nur von der PC-Darstellung ausgehen. Prinzipiell muss man eigentlich nur wissen, dass man es mit 50 Bildern von halber Auflösung zu tun hat. Dabei ist die Bildinformation zweier aufeinander folgender Halbilder um eine Zeile versetzt - weshalb das mit SeparateFields mit anschließendem Resize auch so hin und her springt (wie Scharfi schon schrieb).

    Gute Beschreibung, Kika. Wer es noch mal etwas Praktischer will, kann ja mal das folgende Skript testen, das mir ebend dazu einfiel:

    Dieses Skript "bobt" das interlanced Video wie ein Full-Framerate Deiterlancer, allerdings, anstadt die fehlenden Teile zu interpolieren, zeigt es an diesen Stellen schwartze Balken.
    Dadurch kann man gut erkennen wozu man Deinterlacer braucht und was sie machen, nämlich diese Schwarzen Lücken mit "etwas" füllen.
    (Und fragt mich nicht warum da "ConvertToYUY2(interlaced=true)" hinmuss damit das funzt! :ani_lol: Ich hab kein Plan!)

Jetzt mitmachen!

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