Laufschrift in Video blurren

  • Einfach nur dass sie nicht mehr gut lesbar ist?

    Wahrscheinlich funktioniert das mit einer Maske, die in rechteckiger Form eine stark weichgezeichnete Version des Clips an dieser Stelle überlagert. Die kann man als PNG vorbereiten, mit ImgSource laden und so lang wiederholen, wie das Basisvideo ist.

    Layer + Mask

  • Den letzten Punkt kann ich nicht ganz nachvollziehen. Wofür braucht man eine PNG?

    (ich habe kein Avisynth aktuell installiert, code ist daher nicht getestet)

    Code
    clip = ffms2("meinvideo")
    blurred = clip.blur(1.4) # glaube 1.4 ist der maximale Wert. Man kann auch einfach  clip.blur(1.4).blur(1.4).blur(1.4) für einen stärken Effekt sorgen
    cropped = blurred.Crop(left=40, top = 600, right = -40, bottom = -100) # Werte anpasst
    # return cropped # zum testen
    clip = Overlay(clip, cropped, x = 40, y = 600) # x y wären dann die left + top Werte aus Crop()
    
    return clip
    # oder einfach 
    # last = clip

    Crop muss wahrscheinlich mindestes MOD 2 Werte haben, also krumme Zahlen könnten zum Fehler führen bei YUV422 Video. Man könnte den blurred clip daher vorher mit convertorgb() oder so umwandeln. Dann sollte es keine Probleme geben.

    Einfach mal testen ^^

    EDIT:

    LigH bei deiner Variante wäre die Laufschrift dann statisch. Weiß nicht ob das so gewollt ist.

    EDIT2:

    Das könnte man aber auch per FreezeFrame() erledigen, dann wird ebenfalls keine PNG benötigt.

    VapourSynth Paketmanager VSRepo + GUI

    Avisynth Paketmanager AVSRepo + GUI

    3 Mal editiert, zuletzt von FatFaster (29. Dezember 2021 um 14:27)

  • Ja, gut, den Laufschriftbereich ausschneiden, weichzeichnen und dann mit Abstand überblenden geht natürlich auch.

    Meine Idee war, eine Maske zu erzeugen, die festlegt, wo das überlagerte Video durchsichtig ist und wo deckend. Das klappt dann auch mit nicht rechteckigen Ausschnitten. Ist aber vielleicht nicht so schnell wie wenn man nur den kleinen Streifen filtert und einblendet.

    Statisch ist es bei mir nicht. Du hast in einer Ebene den Originalclip, in der anderen Ebene den komplett weichgezeichneten Clip, und die Maske definiert, an welcher Stelle die überlagerte Ebene wie durchsichtig ist.

    Maske.pngMaskiert.jpg

    Maskiert2.jpg

  • Danke euch zwei.

    Das mit den Masken bekomme ich überhaupt nicht geregelt, auch wenn mir das aus dem Standbild schon reichen würde.

    FatFaster Wenn ich deinen Code nehme bekomme ich nicht das gewünschte Ergebnis. :D

    Code
    clip = ffms2("%source_file%")
    blurred = clip.blur(1.4) 
    cropped = blurred.Crop(114, 964, 110, 52)
    clip = Overlay(clip, cropped, 114, 964)
    return clip

    blur.jpg

    "Ist es schon Zeit, um Thaddäus den Tag zu vermiesen?"

  • Avisynth läuft nun

    Hier ist das Script

    Code
    clip = ffms2("f:\aa.jpg").converttoyv12()
    blurred = clip.GaussianBlur(varY=60)
    #return blurred
    x = 146
    y = 966
    cropped = blurred.Crop(x, y, -146, -50)
    #return cropped
    clip = Overlay(clip, cropped, x, y)
    return clip

    Ein blur(1.4) ist sehr schwach und praktisch nicht zu sehen. Man müsste also sehr viele .blur(1.58) einfügen für ein starkes blurren. Daher nun mit GaussianBlur()

    avisynth-blur-crop.JPG

Jetzt mitmachen!

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