Angepinnt Filter unter Mencoder

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Filter unter Mencoder

      @ all

      Da ich die Möglichkeiten von Avisynth unter Linux nun doch sehr bescheiden finde, möchte ich mich mal näher mit den möglichen Filtern unter mencoder befassen. Da wird ja - soweit ich flüchtig mitbekommen habe - schon einiges geboten.

      Wäre doch schön, wenn wir hier eine Sammlung zusammenstellen könnten mit empfohlenen Werten. Ich würde dann immer diesen ersten Beitrag hier aktualisieren. Habt Ihr Lust die entsprechenden Befehle mit sinnigen Werten zu posten? Also ich rege mal die folgenden Sachen an:

      Syntax:
      Die Filter beginnen mit dem Aufruf -vf
      Danach werden die einzelnen Filter mit einem Komma voneinander getrennt:
      -vf filter1=options,filter2=options,...

      Deinterlacen
      Das deinterlacen muss vor dem croppen geschehen. Grundsätzlich werden die Filter Ihrer Reihenfolge nach angewendet - also ganz so wie bei Avisynth :) Man sollte keinen interlaced Film vor dem deinterlacen mit Filtern behandeln ;) - deswegen steht deinterlacen ganz oben :D

      Drei Filter habe ich ausgewählt:
      - mcdeint
      Sehr langsam aber auch sehr gut. Zudem von Didée empfohlen

      - Yadif
      Schnell und trotzdem akkurat

      - kerndeint
      Als Ersatz für Yadif da bei manchen Quellen besser


      Croppen
      crop[=w:h:x:y]
      w= Breite, h = Höhe, x=Position der Weite im Bild mit 0= in der Mitte, y = Position der Höhe im Bild mit 0= in der Mitte.
      Um an die Cropwerte zu gelangen kann man mplayer nutzen:
      mplayer meinfilm -vf cropdetect

      Beispiel:
      Es handelt sich um eine klassische DVD mit 720x576. Oft haben wir oben und unten einen Balken von 72. Bleibt für die Höhe des Videos 432 und das ist auch durch 16 teilbar :luxhello:
      Zudem finden wir rechts einen Rand von 2 Pixel und links einen kleinen Rand von 4. Den möchten wir zwar wegcroppen, aber im späteren video nicht mehr sehen.

      crop=714:432:2:0
      714 = links 2 + rechts 4 macht 6 die von der Weite von 720 abgehen
      432 = Oben und unten 72 die von der Höhe von 576 abgehen
      2 = rechts um zwei einrücken, so bleibt links 4 über
      0: von der Höhe her genau mittig plazieren, oben und unten sind es die identischen Werte von 72



      Degrain
      denoise3d[=Helligkeit:Farbwert:Zeit]
      Schneller Rauschfilter, nicht für schlechtes Material geeignet
      üblicher Aufruf: -vf -denoise3d=4:3:6
      Gutes Vormaterial: -vf -denoise3d=3:2:5
      Bestes Vormaterial, leichte Erhöhung der Kompremierbarkeit : -vf -denoise3d=2:1:3
      ---------------------------------------------------------
      hqdn3d[=Helligkeit:Farbwert:Zeit]
      Präziser langsamer Rauschfilter, zu empfehlen wenn das Rauschen deutlich zu sehen ist. Bei Hintergrundrauschen den letzten Wert erhöhen.
      Schlechtes Vormaterial: -vf hqdn3d=5:4:7
      Gutes Vormaterial, Hintergrundrauschen: -vf hqdn3d=3:2:6
      Bestes Vormaterial, leichte Erhöhung der Kompremierbarkeit : -vf hqdn3d=2:1:3


      Deblock
      Geschieht durch die Codecfilter.

      Schärfen
      unsharp=l|Helligkeitsmatrix:Menge der Helligkeitsschärfe:l|Farbmatrix:Menge der Farbschärfe]"
      -----------------------------------------
      =Gausscher Schärfefilter:
      1) Helligkeitsmatrix
      Breite und Höhe der Helligkeitsmatrix, die in beide Richtungen ungerade sein muss (min = 3x3, max = 13x11 oder 11x13, normalerweise zwischen 3x3 und 7x7).
      2) Menge der Helligkeitsschärfe
      Wert zwischen -1,5 und +1,5. Minuswerte zeichnen weicher, positive Werte zeichnen schärfer.
      3) Farbmatrix
      Breite und Höhe der Helligkeitsmatrix, die in beide Richtungen ungerade sein muss (min = 3x3, max = 13x11 oder 11x13, normalerweise zwischen 3x3 und 7x7).
      4) Farbschärfe
      Wert zwischen -1,5 und +1,5. Minuswerte zeichnen weicher, positive Werte zeichnen schärfer.

      Beispiel für leichte Schärfung: -unsharp=5x5:.0,5:c5x5:.0.5

      Resize
      scale[=w:h]
      Um beim Beispiel oben zu bleiben:
      Wir müssen resizen, da wir ja oben beim croppen rechts und links die schwarzen Balken nicht wieder hinzufügen möchten. Wir erweitern das Bild also nach links und rechts auf 720 und lassen die Höhe unverändert. Das führt zu einem PAR-Error von 0,093 -> das ist nicht sichtbar.
      Die Werte sind nach unserem Beispiel ganz klar:
      -scale=720:432 -sws 9
      -sws 9 setzt als Resizer Lanczos ein.


      AddBorders
      Das ist bei mpeg4 nicht nötig - trotzdem soll es hier aufgeführt werden - dann haben wir alles zusammen :) Der Befehl lautet:
      expand=-[w:h:x:y]
      w = wieviel muss man insgesamt rechts und links hinzufügen, also die Summe der beiden Grössen
      h = wieviel muss man insgesamt unten und oben hinzufügen, also auch die Summe
      x = um wieviel wird das Bild rechts eingerückt, also hier die exakte rechte Balkengrösse eingeben
      y = um wieviel wird das Bild oben eingerückt, also hier die exakte rechte Balkengrösse eingeben
      ________________
      Beispiel1:
      Ich möchte oben und unten einen schwarzen Balken von 64 eintragen:
      expand=-0:-128:0:64
      0 = Die Weite wird nicht verändert
      -128 = Es wird unten ein Balken von 128 eingefügt
      0: Das Video wird von der Weite her genau in der Mitte plaziert
      64: Das video wird von der Höhe her 64 nach unten plaziert.
      => oben und unten haben wir schwarze Balken
      ________________
      Beispiel 2:
      Wir möchten auch rechts und links Balken einfügen
      expand=-4:-128:2:64
      -4= Wir fügen links einen Balken von 4 ein
      -128 = Es wird unten ein Balken von 128 eingefügt
      2: Das Video wird rechts um 2 eingerückt
      64: Das video wird von der Höhe her 64 nach unten plaziert.


      __________________________________
      Eine commandline könnte dann so aussehen:

      nice -n 17 mencoder Input.m2v -aspect $"{aspectratio}" -vf "${deinterlace_args}","${crop_args}","${video_filter_args}","${resize_args}" ovc x264 -x264encopts crf=22:threads=auto:subq=6:partitions=all:8x8dct:qcomp=0.7:direct_pred=auto:keyint=250:me=umh:frameref=2:bframes=3:weight_b:nodct_decimate -of rawvideo -o video.264

      Ich hoffe, Ihr macht alle mit :)
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose

      Dieser Beitrag wurde bereits 21 mal editiert, zuletzt von Henrik ()

    • Da haben wir ja die ersten Filter :)

      denoise3d[=Helligkeit:Farbwert:Zeit]
      Schneller Rauschfilter, nicht für schlechtes Material geeignet
      üblicher Aufruf: -vf -denoise3d=4:3:6
      Gutes Vormaterial: -vf -denoise3d=3:2:5
      Bestes Vormaterial, leichte Erhöhung der Kompremierbarkeit : -vf -denoise3d=2:1:3

      hqdn3d[=Helligkeit:Farbwert:Zeit]
      Präziser Rauschfilter, wenn das Rauschen deutlich zu sehen ist. Bei Hintergrundrauschen den letzten Wert erhöhen.
      Schlechtes Vormaterial: -vf hqdn3d=5:4:7
      Gutes Vormaterial, Hintergrundrauschen: -vf hqdn3d=3:2:6
      Bestes Vormaterial, leichte Erhöhung der Kompremierbarkeit : -vf hqdn3d=2:1:3
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose
    • Habe mir nen Wolf nach nem Schärfefilter gesucht. Grundsätzlich sollte man aber wissen, dass schärfen stets bitrate kostet - man sollte besser bei der Wiedergagabe schärfen. Nur wer macht das schon ;)

      unsharp=l|Helligkeitsmatrix:Menge der Helligkeitsschärfe:l|Farbmatrix:Menge der Farbschärfe]

      =Gausscher Schärfefilter:
      1) Helligkeitsmatrix
      Breite und Höhe der Helligkeitsmatrix, die in beide Richtungen ungerade sein muss (min = 3x3, max = 13x11 oder 11x13, normalerweise zwischen 3x3 und 7x7).
      2) Menge der Helligkeitsschärfe
      Wert zwischen -1,5 und +1,5. Minuswerte zeichnen weicher, positive Werte zeichnen schärfer.
      3) Farbmatrix
      Breite und Höhe der Helligkeitsmatrix, die in beide Richtungen ungerade sein muss (min = 3x3, max = 13x11 oder 11x13, normalerweise zwischen 3x3 und 7x7).
      4) Farbschärfe
      Wert zwischen -1,5 und +1,5. Minuswerte zeichnen weicher, positive Werte zeichnen schärfer.

      Leichte Schärfung: -unsharp=5x5:.0,5:c5x5:.0.5
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von JoeB ()

    • RE: Filter unter Mencoder

      Nun die Deinterlacer:

      Es gibt:
      - linear blend deinterlacer
      - linear interpolating deinterlace
      - cubic interpolating deinterlacer
      - median deinterlacer
      - ffmpeg deinterlacer
      - FIR lowpass deinterlacer
      - lavcdeint/libavcodec's deinterlacing filter
      - motion compensating deinterlacer (ist sehr sehr lahm)
      - kerndeint/Kernel Deinterlacer
      - yadif

      Das beste an diesem Angebot ist sicher der motion compensation deinterlacer
      - mcdeint
      Sehr langsam aber auch sehr gut

      Dann kommt für mich
      - Yadif
      Schnell und trotzdem akkurat

      Als Ersatz für Yadif da bei manchen Quellen besser
      - kerndeint
      Als Ersatz für Yadif da bei manchen Quellen besser
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose
    • @JoeB
      Ich denke du mußt den "Mitmachern" auch ein wenig Zeit geben, sich reinzuarbeiten.
      Ein Manko, z.B. das ich bisher keine Filterdokumentation, zu mencoder gefunden habe.
      Da steht dann leider die "Suche" vor dem eigentlichen filtern.
      Ich hoffe, bzw würde mir wünschen, das wir, deine Hilfe vorausgesetzt, den Missstand der Dokumentation hier im Forum beseitigen können.
      Gruß
      Henrik
    • Original von Henrik
      @JoeB
      Ich denke du mußt den "Mitmachern" auch ein wenig Zeit geben, sich reinzuarbeiten.
      Ein Manko, z.B. das ich bisher keine Filterdokumentation, zu mencoder gefunden habe.
      Da steht dann leider die "Suche" vor dem eigentlichen filtern.
      Ich hoffe, bzw würde mir wünschen, das wir, deine Hilfe vorausgesetzt, den Missstand der Dokumentation hier im Forum beseitigen können.

      Dafür mache ich das ja - sonst könnte ich mir ja nur private Notizen machen und nichts posten :)
      ----------------------------------------------------------------------------

      Jetzt kommt Add Borders.
      Das heisst bei mencoder:

      expand[=w:h]
      So wie ich es verstanden habe, muss hier dann die Originalgrösse eingegeben werden

      Also .z.Bsp -expand=720:576

      Ich füge das jetzt aber nicht in den ersten post ein - bin mir nämlich garnicht sicher ob das so stimmt und wäre für jede Hilfe dankbar :)
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von JoeB ()

    • Original von JoeB
      Original von Henrik
      @JoeB
      Ich denke du mußt den "Mitmachern" auch ein wenig Zeit geben, sich reinzuarbeiten.
      Ein Manko, z.B. das ich bisher keine Filterdokumentation, zu mencoder gefunden habe.
      Da steht dann leider die "Suche" vor dem eigentlichen filtern.
      Ich hoffe, bzw würde mir wünschen, das wir, deine Hilfe vorausgesetzt, den Missstand der Dokumentation hier im Forum beseitigen können.

      Dafür mache ich das ja - sonst könnte ich mir ja nur private Notizen machen und nichts posten :)
      ----------------------------------------------------------------------------

      Jetzt kommt Add Borders.
      Das heisst bei mencoder:

      expand[=w:h:x:y]
      So wie ich es verstanden habe, muss hier dann die Originalgrösse eingegeben werden

      Also .z.Bsp -expand=720:576:

      Ich füge das jetzt aber nicht in den ersten post ein - bin mir nämlich garnicht sicher ob das so stimmt und wäre für jede Hilfe dankbar :)


      Jetzt hat JoeB das mit dem add borders endlich kapiert.

      Beispiel1:
      Ich möchte oben und unten einen schwarzen Balken von 64 eintragen:
      expand=-0:-128:0:64
      0 = Die Weite wird nicht verändert
      -128 = Es wird unten ein Balken von 128 eingefügt
      0: Das Video wird von der Weite her genau in der Mitte plaziert
      64: Das video wird von der Höhe her 64 nach unten plaziert.
      => oben und unten haben wir schwarze Balken

      Beispiel 2:
      Wir möchten auch rechts und links Balken einfügen
      expand=-4:-128:2:64
      -4= Wir fügen links einen Balken von 4 ein
      -128 = Es wird unten ein Balken von 128 eingefügt
      2: Das Video wird rechts um 2 eingerückt
      64: Das video wird von der Höhe her 64 nach unten plaziert.

      Nun einmal als Gesamtbeispiel:
      Es handelt sich um eine klassische DVD mit 720x576. Oft haben wir oben und unten einen Balken von 72. Bleibt für die Höhe des Videos 432 und das ist auch durch 16 teilbar :luxhello:
      Zudem finden wir rechts einen Rand von 2 Pixel und links einen kleinen Rand von 4. Den möchten wir zwar wegcroppen, aber im späteren video nicht mehr sehen.

      Also croppen:
      crop[=w:h:x:y]
      Unser Befehl muss lauten:
      crop=714:432:2:0
      714 = links 2 + rechts 4 macht 6 die von der Weite von 720 abgehen
      432 = Oben und unten 72 die von der Höhe von 576 abgehen
      2 = rechts um zwei einrücken, so bleibt links 4 über
      0: von der Höhe her genau mittig plazieren, oben und unten sind es die identischen Werte von 72

      Nun resizen:
      scale[=w:h]
      Wir müssen resizen, da wir ja rechts und links die schwarzen Balken nicht wieder hinzufügen möchten. Wir erweitern das Bild also nach links und rechts auf 720 und lassen die Höhe unverändert. Das führt zu einem PAR-Error von 0,093 -> das ist nicht sichtbar.
      Die Werte sind nach unserem Beispiel ganz klar:
      -scale=720:432

      Ob wir nun die schwarzen Balken auch wieder drankleben müssen weis ich ehrlich gesagt bei mencoder nicht. Bei Avisynth ist das klar. Kann das mal jemand beantworten?
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von JoeB ()

    • Original von Selur
      Was willst Du den erzeugen?
      Wenn Du nicht ne DVD erzeugen willst sondern MPEG4 sollte eine 720x432er Auflösung kein Problem machen,...
      Also braucht man nicht die Balken drankleben aha.
      Also encode ich mit aspect 16/9 und alles ist in Butter - vielen Dank :bier:

      Original von Selur
      Was ich mich gerade fragen:

      Nimmt führt mencoder die Filter in der Reihenfolge aus in der sie in der Commandline stehen, oder hat er da ne fest Reihenfolge?


      Im ersten post halte ich die Infos immer aktuell:

      Original von JoeB
      Das deinterlacen muss vor dem croppen geschehen. Grundsätzlich werden die Filter Ihrer Reihenfolge nach angewendet - also ganz so wie bei Avisynth :)
      cu

      Joe
      ____________________________________________
      Freedom´s just another word for nothing left to lose