HDTV für DVD resizen und encoden?

  • Hallo,

    Also ich habe von einem Freund Material vonn Euro1080 bekommen. Das HDTV Material hat die Aufklösung von 1920*1088 , 16:9.

    Also das encoden wäre ja nicht das Problem.
    Ich will das gnaze natürlich mit dem CCE encoden und mauss ddie m2v also in ein AVS bringen.

    Und nun steh ich vor dem Schlamassel:

    Wenn ich das in die normale DVD2Avi version lade ist es total verblockt und wenn ich die d2v dann probe gucke ruckelt´s total.
    In der Boardsuche habe ich die Modversion von D2A DVD2AVI2 1.83.5 gefunde . Die geht aber leider nur bis zu einer Auflösung von 1280 x 819 Pixel Dermentsprechend verzert ziehts auch aus.

    1.)Kann mir jemand helfen wie ich das nun in ein Projekt bekomme für AviSynth.

    2.) Seitenverhältniss ist ja 1,78:1=16:9
    Wie leutet denn die Fotmel damit ich die 1920:1088 auf 720*576 Pixel runterrechne? Denn Fit2Disc versagt ja auch bei der Auflösung.

    Vielen Dank im Vorraus

  • Also, ich jage die Streams erst durch Project X und dann durch DVD2AVI 1.76. Damit gibt's gar keine Probleme.

    Dann croppen auf 1920x1088, resizen auf 704x576 und entweder so encoden oder letterboxen auf 720x576 und dann erst encoden.

    Ergibt ein blitzsauberes anamorphes 16:9 Video.

  • Kannst du mir das mit ProjektX mal erklären? ich habe davon noch nie gehört. Wie erstelle ich die Resize werte von hand also per mathematik ohne Tools für das AVS Script. Ausgangsmaterial ist ja schon1920*1088 = 1,76:1 (wobei ja 16:9 eigentlich 1,77:1 sind)
    also muss ich nicht croppen.

    Gehts dann so weiter lancozeresize( ......?? )

    das wäre das was FitCD ausspuckt LanczosResize(688,416,60,0,1800,1088)
    AddBorders(16,80,16,80)

    ich will mich aber nicht immer auf das Tool verlassen, deswegen frage ich wie ich das selber ausrechnen kann?

    EDIT: Noch ein Problem. Also TMPG nimmt jetzt das Material mit meinem AVS Script an aber der CCE verweigert. Er sagt "Frame rate 20000/1000 is not supported"?

  • Zitat

    Ausgangsmaterial ist ja schon1920*1088 = 1,76:1 (wobei ja 16:9 eigentlich 1,77:1 sind) also muss ich nicht croppen.


    Äh, genau deshalb musst Du ja croppen, damit es nämlich wirklich 16:9 ist.
    1920/1080=1.77.
    Das Format von Euro 1080 (merkt man schon am Namen) hat 8 überflüssige Zeilen, damit es durch 16 teilbar bleibt.

    FitCD oder Fit2Disc kannst Du dafür zurzeit noch nicht als Rechner einsetzen, der kennt dieses Format gar nicht. Es ist aber ein Quadratpixel-Format, von daher sehr einfach zu handhaben.
    Wenn Du's mit Overscan-Korrektur haben willst, kannst Du's auch zu 688x560 resizen und auf 720x576 letterboxen. Oder zu 672x544 und auf 704x576 letterboxen.

    Zum CCE kann ich da nichts sagen, den hab' ich damit noch nicht ausprobiert. Bist Du sicher, dass das Script funktioniert? Nicht dass da eine Fehlermeldung statt des Films angezeigt wird.

  • wie würde dann mein resize befehl aussehen?

    crop(0,4,0,4)
    Lancoseresize(688,560) -> ich versteh immer nicht wie ich hier die zahlenparameter einsetzten muss?
    AddBorder(16,8,16,8)

    Ist das dann so richtig?

  • Das ist fast richtig. Euro 1080 sendet aber interlaced, das muss beim Resizen (und beim Encoden) beachtet werden. Daher:

    crop(0,4,0,4)
    SeparateFields()
    Lanczosresize(688,280).Weave()
    AddBorder(16,8,16,8)

    Oder, was aber langsamer wäre:
    crop(0,4,0,4)
    Smoothdeinterlace(doublerate=true)
    Lanczosresize(688,560)
    SeparateFields.SelectEvery(4,0,3).weave
    AddBorder(16,8,16,8)

    Oder, was wieder etwas schneller, aber auch ein klein wenig ungenauer wäre:
    assumeTFF()
    SeparateFields()
    a=selecteven()
    b=selectodd()
    a=crop(a,0,1,0,0).addborders(0,1,0,0).Lanczosresize(688,280)
    b=crop(b,0,0,-0,-1).addborders(0,0,0,1).Lanczosresize(688,280)
    vid=interleave(a,b).addborders(16,4,16,4).weave
    return(vid)

    Die Zahlenwerte... Das ist jetzt etwas kompliziert, da Euro 1080 erstens 16:9 und zweitens ein Quadratpixel-Format benutzt und drittens nicht anamorph sendet.
    Das DVD-Format benutzt aber keine Quadratpixel, außerdem wird's bei dieser Einstellung, um möglichst viel Qualität zu erhalten anamorph encodet.
    Du kannst ja rein rechnerrisch auch beim Zeil von Quadratpixeln ausgehen. Das Vollbild wäre dann 768x576, der umrechnungsfaktor für die Bildbreite 1.092:1.
    Hm, ich seh' schon, das hilft Dir wahrscheinlich auch nicht viel... vertrau' mir einfach. ;)

  • Oder, was aber langsamer wäre:
    crop(0,4,0,4)
    Smoothdeinterlace(doublerate=true)
    Lancosresize(688,560)
    SeparateFields.SelectEvery(4,0,3).weave
    AddBorder(16,8,16,8)

    Dies wäre dann die variante mit einem deinterlace Filter, richtig? Als bekommt hier der encoder dann deinterlaced, also progressiv Material. richtig?
    Wenn nicht wie deinterlace ich denn?

  • Nö, das bleibt interlaced, das Resizing ist aber genauer. Scharfis_Brain hat diesen Trick erfunden. Das dritte Script macht dasselbe, nur mit anderen Mitteln.

  • Oder, was aber langsamer wäre:
    crop(0,4,0,4)
    Smoothdeinterlace(doublerate=true)
    Lanczosresize(688,560) -------->>>>>>>>>>> Diese zeile nimmt der CCE nicht, Script fehler. Müsste das 285 heißen?
    SeparateFields.SelectEvery(4,0,3).weave
    AddBorder(16,8,16,8)

  • Nee,nee, die Größe ist schon richtig. Hast Du überhaupt das PlugIn Smoothdeinterlacer? Ich hatte vergessen zu erwähnen, dass das ein PlugIn ist. Und die ältere Version davon benötigt außerdem noch ein ConvertToYUY2(interlaced=true) vor dem Aufruf.

  • Also noch etwas vollständiger:

    Code
    LoadPlugin("mpeg2dec3.dll")
    LoadPlugin("SmoothDeinterlacer.dll")
    mpeg2source(*.d2v")
    ConvertToYUY2(interlaced=true)
    Crop(0,4,0,4)
    Smoothdeinterlace(doublerate=true)
    LanczosResize(688,560)
    SeparateFields.SelectEvery(4,0,3).Weave
    AddBorder(16,8,16,8)
  • Ja das Plugin habe ich geladen.

    Ich hatte eine Klammer vergessen. Aber nun habe ich das problem das der CCE nur noch 10 Sekunden Material einließt.

  • Also der CCE nimmt nun das Script auch mit der korrekten Zeitangabe. Aber wenn ich das ganze aber in den Mediaplayer2 lade zur Vorschau oder in TMPG bekomme ich folgende Meldung.

    AviSynth: caught an access violation at 0x1005d8b6 attemting to read from 0x00939000

    Nochmal das Script

    LoadPlugin("D:\Programme\Avisynth\PlugIns\MPEG2Dec3.dll")
    mpeg2source("C:\Filme in Bearbeitung\HDTV.d2v")
    LoadPlugin("D:\Programme\Musik_Video_Bearbeitung\Video\AviSynth_2.54\AviSynth25\Filter2.5\SmoothDeinterlacer.dll")
    ConvertToYUY2(interlaced=true)
    Crop(0,4,0,4)
    Smoothdeinterlace(doublerate=true)
    LanczosResize(688,560)
    SeparateFields.SelectEvery(4,0,3).Weave
    AddBorders(16,8,16,8)




    Und wenn ich das Script nehme dann gehts. Ich versteh das nicht.

    assumeTFF()
    SeparateFields()
    a=selecteven()
    b=selectodd()
    a=crop(a,0,1,0,0).addborders(0,1,0,0).Lanczosresize(688,280)
    b=crop(b,0,0,-0,-1).addborders(0,0,0,1).Lanczosresize(688,280)
    vid=interleave(a,b).addborders(16,4,16,4).weave
    return(vid)

  • OK, dann nehme ich das was geht.

    Nun habe ich aber noch eine Frage. Wie würde das ganze für progressives Material aussehen? So:

    Crop(0,4,0,4)
    LanczosResize(688,560)
    AddBorders(16,8,16,8)

    Wenn ich das so lade bekomme ich nur eine Farbklecks mit streifen. Ich habe jede Zeile getestet. Das tritt auf sobald ich den Crop befehl nehme.

  • es muss crop(0,4,0,-4) heissen (ein minus vor der letzten zahl)

    haeh? wieso verwendet ihr alle den smoothdeinterlacer?
    der ist doch total langsam und die qualitaet auch nicht mehr zeitgemaesz... ich dachte ihr wolltet euer crispes HDTV auch crisp belassen...

    achso, nocheins: wenn ihr euer HDTV ->DVD mit

    kernelbob() #(oder nem anderen bobber)
    lanczosresize(704,576)
    separatefields().selectevery(4,0,3).weave)

    am TV anschaut,. koennte es sein, dass das bild an Details nur so vor flimmerei strotzt.

    dagegen kann ein leichter verticaler blur helfen:

    kernelbob() #(oder nem anderen bobber)
    lanczosresize(704,576)
    blur(0,0.3) #den wert bitte ausprobieren, so dass ein Kell-Faktor von 0.7 entsteht
    separatefields().selectevery(4,0,3).weave)

    keine angst, soviel schaerfe geht dadurch nicht verloren, denn TV-Stationen und kameras machen das genauso...

  • Zitat

    es muss crop(0,4,0,-4) heissen (ein minus vor der letzten zahl)


    Stimmt auffallend...

    Zitat

    haeh? wieso verwendet ihr alle den smoothdeinterlacer?


    Hab' ich doch nur als vereinfachendes Beispiel gebracht. Eine Alternative ohne SmoothDeinterlacer steht doch auch in meinem Posting.

Jetzt mitmachen!

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