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
    1. clip = ffms2("meinvideo")
    2. 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
    3. cropped = blurred.Crop(left=40, top = 600, right = -40, bottom = -100) # Werte anpasst
    4. # return cropped # zum testen
    5. clip = Overlay(clip, cropped, x = 40, y = 600) # x y wären dann die left + top Werte aus Crop()
    6. return clip
    7. # oder einfach
    8. # 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.

  • 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.


  • 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
    1. clip = ffms2("%source_file%")
    2. blurred = clip.blur(1.4) 
    3. cropped = blurred.Crop(114, 964, 110, 52)
    4. clip = Overlay(clip, cropped, 114, 964)
    5. return clip


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

  • Avisynth läuft nun

    Hier ist das Script

    Code
    1. clip = ffms2("f:\aa.jpg").converttoyv12()
    2. blurred = clip.GaussianBlur(varY=60)
    3. #return blurred
    4. x = 146
    5. y = 966
    6. cropped = blurred.Crop(x, y, -146, -50)
    7. #return cropped
    8. clip = Overlay(clip, cropped, x, y)
    9. 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()