Feldverschiebung u.a.

  • Hallo!

    Ich bin immernoch dabei meine bald schon vor Jahren per DVB aufgenommenen Knight Rider-Folgen als Video-DVD zu archivieren. Sofern Sie nicht DVD-konform sind oder sonst irgendwie komisch, codiere ich sie neu (per Avisynth und CCE).

    Ein paar Fragen zu Avisynth sind dabei entstanden:

    1.) Eines der Videos hat offenbar Feldverschiebung. Laut Arlsairs Seite lässt sie sich auch prima beseitigen per SeparateFields().Trim(1,0).Weave(), wobei ja erste Halbbild weggeschnitten wird. Dies bedeute allerdings auch eine Verschiebung zum Ton um 20ms, was ich weniger schön finde. Mit welchem Programm schneide ich am besten die 20ms von der Ton-Spur weg?

    Welchen Vorteil bringt alternativ der Telecide()-Befehl? Wenn er keine Beeinträchtigung der Synchronität und Video-Qualität brächte, würde ich den benutzen. Wenn ich richtig gelesen habe, müsste er ja eine etwas flexiblere Methode gegen "Phase Shifting" sein? Spricht etwas gegen Telecide() gegenüber SeparateFields().Trim(1,0).Weave()?

    2.) Wann muss ich ConvertToYUY2() mit interlaced=true verwenden?
    a) Die Knight-Rider-Folgen basieren alle auf progressivem Ausgangsmaterial, die MPGs sind wegen der TV-Ausstrahlung aber alle als "interlaced" markiert. Trotzdem vermutlich ohne interlaced=true sofern nicht b) ?

    b) Wie sieht es bei der Feldverschiebung aus ? Zählt man die als interlaced=true?

    3.) Lässt sich die Feldverschiebung auch ohne Neucodierung des MPGs entfernen, z.B. durch Programm wie ReJig o.ä.? Vermutlich wohl nicht ... ?

    Vielen Dank im Voraus!

    MfG,

    Raynor

  • 1) die 20 ms Tonverschiebung ist vernachlaessigbar (das ist eine fuenfzigstelsekunde!)
    2) den phaseshift (deine Fieldverschiebung) bekommst Du auch
    etwas eleganter mit doubleweave().selectodd() weg.
    3) da das video danach ja progressive ist, solltest Du es dann mit
    converttoyuy2(interlaced=false) nach YUY2 wandeln.

    (nach einer ewigen diskussion ueber YV12 sind wir zu dem schluss gekommen, dass man YV12 immer progressive upsamplen sollte, wenn man keine Kaemme sieht!)


    dein Scripot koennte also so aussehen:

    Code
    mpeg2source("knut rider.d2v") #hehe
    doubleweave().selectodd()
    converttoyuy2(interlaced=false)
  • Andererseits wundert mich, dass gerade Dich als Perfektionist die 20 ms nicht stören. Aber auch schon wegen der deutschen Nachvertonung fällt es hier wohl bestimmt nicht auf.

  • ich? perfektionist?
    nee!

    nur mal nen kleines rechenbeispiel:

    schallgeschwindigkeit: 300 meter/sec.
    1/50 sec verschiebung = 6 meter schall.
    manche leute sitzen bereits 6 meter vom TV weg.
    ausserdem sind die delayszeiten in den modernen 100Hz TV deutlich groeszer!

    anstatt von doubleweave().selectodd()
    kannste ja auch
    separatefields().duplicateframe(0).weave()
    machen.

    dann eilt der ton 1/50 sec voraus, und kompensiert die laufzeiten in den TV oder vom TV zur couche.

    aetsch baetsch!

  • Ich capture doch den DVB-Stream so wie er vom Satellite kommt. Da kann ich nichts einstellen. Und weil das PAL-50 MPEG2 ist mit 25fps, kann ich das ja doch auch wohl wieder in PAL-50 MPEG2 mit 25fps codieren? Ich codiere ja nur neu, weil ich hier die Feldverschiebung korrigiert haben möchte oder weil manchmal das Video nicht 720/704x576 hat für DVD. Sonst würde ich ja gleich den originalen MPEG2-Stream für die DVD nehmen.

    Meinstes du Capturen von Analoger Quelle? Warum müsste ich denn da theoretisch PAL-60 nehmen, wenns von einer analogen PAL-50 Quelle käme?

  • Eine frohes neues! Ich krame einfach mal mein altes Topic wieder raus, weil es um das selbe Thema geht.

    Ich bin mir bei einer Knight/Knut-Rider-Aufnahme nicht sicher, ob es sich nur um eine Feldverschiebung handelt oder ob es interlaced ist. (Geht eigentlich beides gleichzeitig?). Eigentlich sind alle Folgen bislang immer progressiv gewesen.
    Wenn ich wie sonst auch immer wenn nötig im Avisynth-Script mit separatefields().duplicateframe(0).weave() die vermeintliche Feldverschiebung beseitige, sind auch weitgehend alle Kämme weg. Es bleiben aber an einigen Stellen dennoch welche sichtbar, aber längst nicht so extrem wie im Original.

    Vielleicht kann sich ja jemand die Szene mal anschauen. Das Original liegt hier:
    http://home.arcor.de/realraynor/video/test.mpv

    Und das vom CCE mit entsprechendem Script wie oben:
    http://home.arcor.de/realraynor/video/test-neucodiert.mpv

    Man sieht es bei dem Geländewagen, wenn er den Berg hochgefahren kommt ganz deutlich.
    Weiß jemand Rat? Vielleicht war die eine Szene ja mit TV-Kamera gefilmt?

    Vielen Dank im Voraus,

    Raynor

  • benutze
    telecide() das ist ein dynamischer fieldswap. hervorgerufen durch die digitalen texteinblendungen (die sind schaerfer als die anderen einblendungen) .

    Code
    loadplugin("d:\x\dgdecode.dll")
    loadplugin("D:\x\decomb.dll")
    
    
    mpeg2source("test.d2v",iPP=true,cpu=4)
    telecide(order=1,post=0,guide=2)
  • Danke erstmal. Habs ausprobiert, aber der Telecide gefällt mir nicht so gut. Ich hatte ja am Anfang dieses Topics schonmal nach danach gefragt, bist du damals aber nicht drauf eingegangen.
    An der kritischen Stelle funktioniert er zwar besser als das "separatefields().duplicateframe(0).weave()", macht jedoch an fast allen anderen Stellen "neue" Streifen/Kämme hinein.

    Siehe hier:
    http://home.arcor.de/realraynor/video/telecide1.tga

    Dazu im Vergleich:
    http://home.arcor.de/realraynor/vid…0).weave()1.tga
    Man sieht hier zwar die MPEG-Artefakte mehr, aber keine neuen Streifen.


    Bei der kritischen Stelle mit dem Geländewagen gewinnt aber wie gesagt der Telecide:
    http://home.arcor.de/realraynor/video/telecide2.tga
    http://home.arcor.de/realraynor/vid…0).weave()2.tga


    - Gibts nicht es noch eine Alternative ? Vermutlich ist die eine Szene dann wohl doch interlaced ?

    - Woran liegt es eigentlich, dass beim Telecide die MPEG-Artefakte weniger zu sehen sind ? Macht der noch ne Art Weichzeichner ?

  • bei mir ist das bild mit dem feuer streifenfrei.
    ich habe exakt das obige script verwendet.
    probiere mal order =0....

    bei den anderen stellen (die hasenohren!) versagt telecide, weil der Filmtransfer aufs Video nicht sauber lief, d.h. der Film von halbbild zu halbbild verwackelt wurde.

    es ist klotzaermer, weil ich cpu=4, iPP=true verwendet habe.

  • So jetzt hab ichs. Die Field order war schon in ordnung. Es lag daran, dass im Script das ConvertToYUY2() vor dem telecide-befehl stand.

    - So müsste es ja denn in Ordnung sein ?:
    http://home.arcor.de/realraynor/video/0000.jpeg

    - Wenn man an die Büsche z.B. ranzoomt, sieht man zwar auch noch Kämme, obwohl sie sich kaum bewegen, aber das liegt dann wieder am verwackelten Filmtransfers des Originalfilmmaterials ?

Jetzt mitmachen!

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