Ergebnis 1 bis 4 von 4

Thema: ffmpeg, x265: crf-parameter wird anscheinend beim transkodieren ignoriert

  1. #1
    Eroberer
    Registriert seit
    10. August 2007
    Beiträge
    68

    Standard ffmpeg, x265: crf-parameter wird anscheinend beim transkodieren ignoriert

    Hallo Zusammen,

    ich habe derzeit ein Verständnisproblem beim encoden (von Anime) nach HEVC.
    Ich nutze den folgenden Befehl:
    Code:
    ffmpeg64 -i "z:\sample.mkv" -c:a copy -c:v libx265 -preset slow -x265-params "merange 44:bframes 16:no-rect:no-amp:aq-mode 1:aq-strength 1.0:rd 4:psy-rd 1.6:psy-rdoq 5.0:rdoq-level 1:no-sao:qcomp 0.75:no-strong-intra-smoothing:rdpenalty 1:tu-inter-depth 2:tu-intra-depth 2:ctu 32:max-tu-size 16:crf=18" output.mp4
    Das fertige File hat laut Mediainfo folgende Kodiereinstellungen:

    Code:
    Kodierungseinstellungen                  : wpp / ctu=64 / min-cu-size=8 / max-tu-size=32 / tu-intra-depth=1 / tu-inter-depth=1 / me=3 / subme=3 / merange=57 / rect / no-amp / max-merge=3 / temporal-mvp / no-early-skip / rdpenalty=0 / no-tskip / no-tskip-fast / strong-intra-smoothing / no-lossless / no-cu-lossless / no-constrained-intra / no-fast-intra / open-gop / no-temporal-layers / interlace=0 / keyint=250 / min-keyint=23 / scenecut=40 / rc-lookahead=25 / lookahead-slices=0 / bframes=4 / bframe-bias=0 / b-adapt=2 / ref=4 / limit-refs=3 / limit-modes / weightp / no-weightb / aq-mode=1 / qg-size=32 / aq-strength=1.00 / cbqpoffs=0 / crqpoffs=0 / rd=4 / psy-rd=2.00 / rdoq-level=2 / psy-rdoq=1.00 / signhide / deblock / sao / no-sao-non-deblock / b-pyramid / cutree / no-intra-refresh / rc=crf / crf=28.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / ipratio=1.40 / pbratio=1.30
    Wenn man bei beiden Codezeilen ganz nach nach rechts scrollt, sieht man die übergebenen und die benutzten crf-Werte...

    Ich würde gerne mit crf 18 kodieren, aber irgendwo muss es einen Override geben, da im Ergebnis offenbar crf 28 vorliegt....

    Was mache ich falsch?

    Grüße,
    B

  2. #2
    Erklär-Bär Avatar von LigH
    Registriert seit
    19. April 2003
    Ort
    OPAL-Invalidengebiet Altmark
    Alter
    42
    Beiträge
    42.503

    Standard AW: ffmpeg, x265: crf-parameter wird anscheinend beim transkodieren ignoriert

    Code:
    libx265 AVOptions:
      -crf               <float>      E..V.... set the x265 crf (from -1 to FLT_MAX) (default -1)
      -preset            <string>     E..V.... set the x265 preset
      -tune              <string>     E..V.... set the x265 tune parameter
      -x265-params       <string>     E..V.... set the x265 configuration using a :-separated list of key=value parameters
    Die x265-Parameter, die ffmpeg einzeln unterstützt, sollte man nicht in den x265-params-Block einfügen, sondern als eigenständige ffmpeg-Parameter übergeben.
    Geändert von LigH (10. May 2016 um 08:53 Uhr)

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten




  3. #3
    Tripel-As
    Registriert seit
    5. March 2009
    Beiträge
    227

    Standard AW: ffmpeg, x265: crf-parameter wird anscheinend beim transkodieren ignoriert

    Zitat Zitat von bololo Beitrag anzeigen
    Hallo Zusammen,

    ich habe derzeit ein Verständnisproblem beim encoden (von Anime) nach HEVC.
    Ich nutze den folgenden Befehl:
    Code:
    ffmpeg64 -i "z:\sample.mkv" -c:a copy -c:v libx265 -preset slow -x265-params "merange 44:bframes 16:no-rect:no-amp:aq-mode 1:aq-strength 1.0:rd 4:psy-rd 1.6:psy-rdoq 5.0:rdoq-level 1:no-sao:qcomp 0.75:no-strong-intra-smoothing:rdpenalty 1:tu-inter-depth 2:tu-intra-depth 2:ctu 32:max-tu-size 16:crf=18" output.mp4
    Was mache ich falsch?
    Das Format deines x265-params ist falsch. Die Anleitung gibt vor:

    Code:
    -x265-params       <string>     E..V.... set the x265 configuration using a :-separated list of key=value parameters
    du musst die Parameter in libx265 Format übergeben, weil sie ffmpeg direkt an die Library übergibt. Die Parameter von x265 CLI Programm sind leicht anders, deshalb muss man immer etwas probieren oder im Sourcecode nachkucken.

    Aber in der Regel gilt: immer parameter=wert bilden und sie mit : trennen.
    Parameter die mit no- anfangen, in einen bool Wert umwandeln. also no-amp wird zu amp=1 oder amp=0 (1 für aktiv, 0 für deaktivieren)

    z.B. so (ohne das ich es jetzt getestet habe)

    -x265-params merange=44:bframes=16:rect=0:amp=0:aq-mode=1:aq-strength=1.0:rd=4:psy-rd=1.6:psy-rdoq=5.0:rdoq-level=1:sao=0:qcomp=0.75:strong-intra-smoothing=0:rdpenalty=1:tu-inter-depth=2:tu-intra-depth=2:ctu=32:max-tu-size=16:crf=18

  4. #4
    Eroberer
    Registriert seit
    10. August 2007
    Beiträge
    68

    Standard AW: ffmpeg, x265: crf-parameter wird anscheinend beim transkodieren ignoriert

    Allerbesten Dank!
    Genau das war mein Fehler!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Frage: FFMPEG & X265 Kommandozeilen Frage
    Von cneurope im Forum MPEG-4-Encoding
    Antworten: 9
    Letzter Beitrag: 11. November 2015, 00:58
  2. Audio wird nicht erkannt (FFMPEG)
    Von MMVidzProf im Forum Audio – Bearbeitung und Konvertierung
    Antworten: 0
    Letzter Beitrag: 6. October 2010, 11:39
  3. MP4 PAR wird im MPC ignoriert
    Von milas im Forum Abspielprobleme
    Antworten: 1
    Letzter Beitrag: 9. May 2006, 19:48
  4. Lautstärkeregelung wird beim Springen ignoriert
    Von bElA im Forum Abspielprobleme
    Antworten: 5
    Letzter Beitrag: 20. April 2005, 09:14
  5. Problem: PAR in MP4 wird ignoriert
    Von tedgo im Forum Alternative A/V-Container und -Formate
    Antworten: 28
    Letzter Beitrag: 23. March 2005, 13:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •