• Hi!

    Ich hab mal ein kleines Script für den Logo-Filter von Donald Graft getestet. Läuft alles super bis auf die Kleinigkeit, dass das Logo verzerrt wird.

    Hier das Script:


    LoadPlugIn("MPEG2DEC3.DLL")
    mpeg2source("ft1.d2v").BicubicResize(480,432).AddBorders(0,72,0,72)

    global Virtualdub_plugin_directory="d:\virtualdub\plugins"

    function VD_Logo(clip clip, int "x", int "y", int "alpha", bool "transparent",
    \ int "xr", int "xg", int "xb", int "tolerance", string "filename",
    \ bool "animate", int "start", int "duration", int "loops",
    \ int "fadeinlen", int "fadeoutend", int "fadeoutlen")
    {
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\logo.vdf", "_VD_Logo", 1)
    return clip._VD_Logo(default(x,0), default(y,0), default(alpha,128),
    \ default(transparent,true)?1:0, default(xr,0), default(xg,0), default(xb,255),
    \ default(tolerance,0), default(filename,VirtualDub_plugin_directory+"\logo.bmp"),
    \ default(animate,false)?1:0, default(start,0), default(duration,0), default(loops,0),
    \ default(fadeinlen,0), default(fadeoutend,200), default(fadeoutlen,0))
    }

    ConvertToRGB()
    VD_logo(20, 200, 128, true, 0, 0, 255, 0, virtualdub_plugin_directory+
    \ "\logo.bmp", false, 100, 200, 0, 10, 180, 10)
    ConvertToYUY2()


    Ich hab die Resize/AddBorders-Befehle schon an verschiedenen Stellen aingebaut, aber immer das gleiche, egal wo ich das hin serve: VDubMod, cce, TMPGEnc, logischerweise.

    Hat jemand eine Idee, was ich machen muss, damit das Logo nicht verzerrt wird?

    :cheers: Denn das Leben ist mehr breit als lang!

  • Es stimmt nur das AR des Logos nicht, es ist vertikal gestaucht. Das liegt eben an dem Resize-Befehl. Wenn ich den weg lasse, ist das Logo-AR korrekt, aber dann ist das Bild halt falsch resized.

    Hab kein Web-Space für das Logo, sonst würd ich das gerne machen. Oder kann ich das das hier uploaden?

    :cheers: Denn das Leben ist mehr breit als lang!

  • Dein resize-Befehl bringt das Format auf 480x576, also nehme ich an, Du willst eine SVCD erstellen. Wenn das AR Deines Logos stimmt, müsste das Logo VOR dem resizen eingeblendet werden. Stimmt denn das AR des Films vor dem resizen?

    Gruß, zisoft

  • Erst Logo einfügen, dann resizen.

    Eigentlich wäre es ja sogar richtig, erst auf quadratische Pixel zu resizen, dann das Logo einzufügen, und dann auf End-Größe zu resizen. Aber dann garantiere ich leider auch nicht mehr für höchste Qualität...
    _

    Wenn du auf einen Beitrag antwortest, kannst du auch ein JPEG als "Attachment" anhängen:

  • So hier die Bilder:

    Das obere entspricht exakt dem Srcipt also mit Resize/AddBorders am Anfang. Das Logo ist "plattgedrückt", der Film ist aber richtig resized.

    Beim mittlere hab ich Resize/AddBorders weg gelassen. Wie man (hoffentlich) sieht, hat das Logo nun das richtige Seitenverhältnis, dafür ist der Film falsch resized.

    Unten nochmal das Original von Donald Graft.

    zisoft:
    Vor dem Resizen hat der Film ein falsches AR, deswegen ja Resize/AddBorders. Ja das soll eine SVCD werden, DivX geht ja problemlos mit VirtualDub und diesem Filter. In diesem Beispiel ist das Original ein PVA->MPG-Film, der im Player richtig dargstellt wird. Wenn ich den ohne Resize durch ViertualDub laufen lasse, kommt ein falsches AR raus.

    @LiH:
    So genau will ich das mal nicht nehmen - quadratische Pixel und so. Aber es stimmt schon.


    Resize/AddBorders hab ich schon an mehreren Stellen eingefügt - immer das gleiche.

    Es ist ein logischer Fehler im Script, denn eigentlich funktioniert alles.

  • Zitat

    Vor dem Resizen hat der Film ein falsches AR, deswegen ja Resize/AddBorders

    Dann müsste man doch vor dem resizen ein Logo mit ebensolchem AR einbinden, oder?

    Gruß, zisoft

  • Ach, da haben wir mal wieder zu kurz gedacht:

    Wenn auf der DVD ein 16:9-Film in ein D1-Seitenverhältnis gequetscht wurde, nennt man das "anamorph". Das Logo jedoch hat ein quadratisches Pixel-Seitenverhältnis. Im Falle von PAL müsste man also das DVD-Bild von 720x576 {falls es ein 16:9-Film ist, auf 1024x576 | falls es ein 4:3-Film ist, auf 768x576} resizen, dann das Logo einblenden, und dann alles auf die gewünschte Größe für SVCDs bringen.

  • LigH :

    Hast recht! Mit

    mpeg2source("ft1.d2v").BicubicResize(1024,576).AddBorders(0,72,0,72)

    kommt das AVI samt Logo sauber raus. Alles in Ordnung :) Man lernt halt nie aus :)

    Ich resize das jetzt noch mal auf SVCD und teste mit den MPG-Encodern, von wegen Qualität und so.

    Also danke noch mal! :)

    zisoft:
    Das wollt ich mir grade sparen, das Logo zu resizen, darunter dürfte es sehr leiden, weil das auf den Pixel genau gemalt ist. Das teste ich aber noch mal aus, wenn das doppelte Resizing zu schlechte Qualität liefern sollte.

    :cheers: Denn das Leben ist mehr breit als lang!

  • Kleiner Nachtrag: Also es funzt jetzt mit TMPGEnc einwandfrei, aber:

    Nur wenn man das SVCD-Template lädt!

    Fügt man nämlich einen zweiten Resize-Befehl (für SVCD) in das AVS-Script ein, wird der erste ignoriert, und das Problem besteht wieder. Deswegen kann ich auch net mit CCE 2.66 encoden, weil der kein Resizing ermöglicht, der TMPGEnc macht das halt mit dem Template.

    Nur fyi. Vielleicht hat ja jemand eine Lösung, damit der zweite Resize-Befehl auch wirkt? Dann könnte ich nämlich auch mit FitCD optimieren.

    :cheers: Denn das Leben ist mehr breit als lang!

  • Nee, geht leider nicht oder zumindest wüsste ich nicht, wie das im Script aussieht. Wie gesagt, der zweite Resize-Befehl überschreibt den ersten. Was du meinst, hab ich auch mal gedacht, aber geht leider nicht.

    Vielleicht lässt sich aber was mit Variablen machen. Da probier ich grad noch rum :)

    Also in der Art:

    m=movie
    m=resize(16:9) //Logo passt dann
    s=m
    s=resize(SVCD)
    // s wird weiter verarbeitet

    mal sehen...

    Dank Dir

    -s

    :cheers: Denn das Leben ist mehr breit als lang!

  • Du meinst, ich sollte das Logo anpassen. Das geht natürlich, dafür müsste ich das aber neu pixeln. Besser wäre es, dieses Resizing-Problem per AVS-Script zu lösen. Das wäre einfacher :) Und man kann das dann immer wieder verwenden.

    Mal sehen was noch bei rauskommt :)

    :cheers: Denn das Leben ist mehr breit als lang!

  • Ja, genau das meine ich. Das Logo hat eine Grösse von etwa 70*70 Punkten und da ist jeder Punkit ganz bewusst gesetzt. Klar kann ich das stauchen, aber was dann rauskommt ist nicht optimal, dass heist ich müsste es noch mal bearbeiten - wie geagt, das ist Pixel-Arbeit -und das sieht man imho. Sonst geht das natürlich...

    :cheers: Denn das Leben ist mehr breit als lang!

  • Jo, das stimmt wohl, aber das ist dann auch die Kunst des Encodens. Also wenn sowas noch sauber rüberkommen soll, muss ich optimalen Input liefern. Wie das dann hinterher am TV oder Monitor aussieht, muss man halt sehen. So ist das. Das teste ich auch grad. Also das Bild, was ich rein gebe, beeinflusst das Ergebnis sehr stark.

    Vorschlag: Teste halt mal selber das Script, Logos gibts genug, und dann sieh dir mal an, was dabei raus kommt. Ich sage Dir, das ist Rumfummeln mit Pixeln, aber das macht ja nix, solange das Ergebnis gut ist.

    Bei 70 Pixeln kannst halt nimmer viel weg schneiden :)

    :cheers: Denn das Leben ist mehr breit als lang!

  • Jepp, das wär die einfachste Lösung (die mag für Pro7 ausreichen, aber nicht für mich, kleiner Scherz :) )

    :cheers: Denn das Leben ist mehr breit als lang!

Jetzt mitmachen!

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