Komisches Problem mit x265

  • Und zwar habe ich ein komisches Problem mit libx265 und ffmpeg

    ich diese zeile, direkt eingebe:

    Code
    wine avs2yuv_mod ./test.avs -o - | ffmpeg -i - -c:v libx265 -preset medium -pix_fmt yuv422p10le -crf 19 -x265-params "deblock=0:-1:[B][COLOR=#ffa07a]rdoq-level=1[/COLOR][/B]:psy-rd=0.40:psy-rdoq=10.0:aq-mode=2:aq-strength=1.2:bframes=6:ref=6:rd=5:tu-intra-depth=4:tu-inter-depth=4:me=3:max-merge=5:subme=6:merange=25:keyint=240:rc-lookahead=80:b-adapt=2[B]:[COLOR=#ff0000]rect:amp:no-sao:no-open-gop:no-cutree:no-tskip:no-tskip-fast:weightp:weightb:no-strong-intra-smoothing[/COLOR][/B]" -y anime_01_x265.hevc

    Übernimmt er mir keine Parameter von deblock usw.

    Code
    x265 [info]: HEVC encoder version 1.6+360-bca33880585ax265 [info]: build info [Linux][GCC 4.9.2][64 bit] 16bppx265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVXx265 [info]: Main 4:2:2 10 profile, Level-3.1 (Main tier)x265 [info]: Thread pool created using 8 threadsx265 [info]: frame threads / pool features       : 3 / wpp(12 rows)x265 [info]: Internal bit depth                  : 10x265 [info]: Coding QT: max CU size, min CU size : 64 / 8x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intrax265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2x265 [info]: Keyframe min / max / scenecut       : 23 / 250 / 40x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 3x265 [info]: AQ: mode / str / qg-size / cu-tree  : [B][COLOR=#ff0000]1 / 1.0 / 64 / 1[/COLOR][/B]x265 [info]: Rate Control                        : CRF-19.0x265 [info]: tools: rd=3 psy-rd=0.30 signhide tmvp strong-intra-smoothingx265 [info]: tools: deblock sao

    Wenn ich aber die Rot markierten zeilen rausnehme, übernimmt er die Parameter plötzlich, meckert dann zwar für die Orangene Zeile, aber sonst übernimmt er alles dann. Woran liegt dies, das er mir die Zeilen nicht nimmt?

    Code
    x265 [info]: HEVC encoder version 1.6+298-4a7176bab742x265 [info]: build info [Linux][GCC 4.9.2][64 bit] 16bppx265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVXx265 [info]: Main 4:2:2 10 profile, Level-4 (Main tier)x265 [info]: Thread pool created using 8 threadsx265 [info]: frame threads / pool features       : 3 / wpp(12 rows)x265 [info]: Internal bit depth                  : 10x265 [info]: Coding QT: max CU size, min CU size : 64 / 8x265 [info]: Residual QT: max TU size, max depth : 32 / 4 inter / 4 intrax265 [info]: ME / range / subpel / merge         : star / 25 / 6 / 5x265 [info]: Keyframe min / max / scenecut       : 23 / 240 / 40x265 [info]: Lookahead / bframes / badapt        : 80 / 6 / 2x265 [info]: b-pyramid / weightp / weightb / refs: 1 / 1 / 0 / 6x265 [info]: AQ: mode / str / qg-size / cu-tree  : [COLOR=#ff0000][B]2 / 1.2 / 64 / 1[/B][/COLOR]x265 [info]: Rate Control                        : CRF-19.0x265 [info]: tools: rd=5 psy-rd=0.40 signhide tmvp strong-intra-smoothingx265 [info]: tools: deblock sao

    FFmpeg habe ich so gebaut:

    Code
    ./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb     --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264     --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-librtmp     --enable-libxvid --enable-libass --enable-libx265

    Und x265 wie in dem anderen thread hier im Linux bereich.

  • Und zwar habe ich ein komisches Problem mit libx265 und ffmpeg

    ich diese zeile, direkt eingebe:

    Code
    wine avs2yuv_mod ./test.avs -o - | ffmpeg -i - -c:v libx265 -preset medium -pix_fmt yuv422p10le -crf 19 -x265-params "deblock=0:-1:[B][COLOR=#ffa07a]rdoq-level=1[/COLOR][/B]:psy-rd=0.40:psy-rdoq=10.0:aq-mode=2:aq-strength=1.2:bframes=6:ref=6:rd=5:tu-intra-depth=4:tu-inter-depth=4:me=3:max-merge=5:subme=6:merange=25:keyint=240:rc-lookahead=80:b-adapt=2[B]:[COLOR=#ff0000]rect:amp:no-sao:no-open-gop:no-cutree:no-tskip:no-tskip-fast:weightp:weightb:no-strong-intra-smoothing[/COLOR][/B]" -y anime_01_x265.hevc

    Das wird wie schon bei x264 laufen. Zum einen musst du dich an die ffmpeg Vorgaben bei Parameterübergabe halten, zum anderen übergibt ffmpeg diese Parameter nicht x265, sondern der internen lib265 API ... und die ist nicht identisch mit den Parametern, die man x265 übergibt.
    Ein paar Regel, an die ich mich so halte, dann klappt es ganz gut.

    Also z.B. ffmpeg Parameter haben:

    key=value, mehrere dieser Paare werden mit Doppelpunkt getrennt. Bei mehreren Values bei einem Key mit Komma trennen

    z.B.: hier musst du die Values mit Komma und nicht Doppelpunkt trennen
    deblock=0:-1:rdoq-level=1

    wird bei ffmpeg zu:
    deblock=0,-1:rdoq-level=1

    die interne lib265 kennt keine no-Parameter

    also no-cutree gibt es nicht, sondern nur das Flag cutree, dass du 1 (on) oder 0 (off) schaltest.
    also cutree=1 oder cutree=0

    Code
    deine Parameter: 
    
    
    -x265-params deblock=0:-1:rdoq-level=1:psy-rd=0.40:psy-rdoq=10.0:aq-mode=2:aq-strength=1.2:bframes=6:ref=6:rd=5:tu-intra-depth=4:tu-inter-depth=4:me=3:max-merge=5:subme=6:merange=25:keyint=240:rc-lookahead=80:b-adapt=2:rect:amp:no-sao:no-open-gop:no-cutree:no-tskip:no-tskip-fast:weightp:weightb:no-strong-intra-smoothing
    
    
    wird zu
    
    
    -x265-params deblock=0,-1:rdoq-level=1:psy-rd=0.40:psy-rdoq=10.0:aq-mode=2:aq-strength=1.2:bframes=6:ref=6:rd=5:tu-intra-depth=4:tu-inter-depth=4:me=3:max-merge=5:subme=6:merange=25:keyint=240:rc-lookahead=80:b-adapt=2:rect=1:amp=1:sao=0:open-gop=0:cutree=0:tskip=0:tskip-fast=0:weightp=1:weightb=1:strong-intra-smoothing=0

    Hab aber nicht alles getestet. Wollte dir nicht allen Spass abnehmen ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!