スポンサード リンク

[edit]

拡張 x264 出力 (GUI) Ex プラグインとは

 拡張x264出力(GUI)Exプラグイン(以下GUIEx)は、x264CLI(x264.exe)というコマンドラインベースのAVC/H.264エンコーダーをGUIで操作できるようにした、AviUtl専用のフロントエンド(出力プラグイン)であり、x264CLIの機能をほぼすべて使えるようになっている。
 GUIで操作できるオプションは限定されているが、GUIに設定項目がないオプションをコマンドタブにCLI同様に直接記載するか、またはCLIモードに切り替えて全オプションをCLI同様に直接記載することで対処できる。



[edit]

準備

 GUIExを使用するためにはプラグイン(x264guiEx.auo)、設定ファイル(x264guiEx.ini、x264guiExDefault?.iniの二つ)の他にいくつかのツールが必要となる。

 上記3つは必須となるので必ず準備しておくこと。

[edit]

拡張 x264 出力(GUI)Exの設定項目とその機能について

 以下の説明内容はGUIEx ver.0.22、及びx264CLI(x264.exe)rev1900現在の情報。
項目名の右の【】内は、対応するx264CLIのオプションとそのオプションのデフォルト。
 足りない情報、間違った情報、変更されたオプション等は、見つけたものが追加・修正・削除すること。

それっぽい解説が記述してあるサイト→
X264 Setting - MeWiki?(英語だけど一番詳しくて信頼性が高い) http://mewiki.project357.com/wiki/X264_Settings
MPlayer and MEncoder on MacOSX - x264コーデックでのエンコード http://www.wikihouse.com/htumenc/index.php?Doc%2Fmenc-feat-x264
[edit]

拡張 x264 出力 (GUI) Ex CLI MODE (& x264CLI 全機能)

拡張x264出力(GUI)Exの設定画面の右上にある「CLI MODE」ボタンを押すと、x264.exeをCLIで使用するのと同じ状態になる。
以下にx264CLIの全オプション(x264.exe --fullhelp)を転載する。(内容はx264.nlのものに準拠)

x264 core:115 r1936 7a9e08d
Syntax: x264 [options] -o outfile infile

Infile can be raw (in which case resolution is required),
  or YUV4MPEG (*.y4m),
  or Avisynth if compiled with support (yes).
  or libav* formats if compiled with lavf support (yes) or ffms support (yes).
Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .flv -> Flash Video
 .mp4 -> MP4 if compiled with GPAC support (yes)
Output bit depth: 8 (configured at compile time)

Options:

  -h, --help                  List basic options
      --longhelp              List more options
      --fullhelp              List all options

Example usage:

      Constant quality mode:
            x264 --crf 24 -o <output> <input>

      Two-pass with a bitrate of 1000kbps:
            x264 --pass 1 --bitrate 1000 -o <output> <input>
            x264 --pass 2 --bitrate 1000 -o <output> <input>

      Lossless:
            x264 --qp 0 -o <output> <input>

      Maximum PSNR at the cost of speed and visual quality:
            x264 --preset placebo --tune psnr -o <output> <input>

      Constant bitrate at 1000kbps with a 2 second-buffer:
            x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input>

Presets:

      --profile               Force the limits of an H.264 profile [high]
                                  Overrides all settings.
                                  - baseline:
                                    --no-8x8dct --bframes 0 --no-cabac
                                    --cqm flat --weightp 0
                                    No interlaced.
                                    No lossless.
                                  - main:
                                    --no-8x8dct --cqm flat
                                    No lossless.
                                  - high:
                                    No lossless.
                                  - high10:
                                    No lossless.
                                    Support for bit depth 8-10.
      --preset                Use a preset to select encoding settings [medium]
                                  Overridden by user settings.
                                  - ultrafast:
                                    --no-8x8dct --aq-mode 0 --b-adapt 0
                                    --bframes 0 --no-cabac --no-deblock
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions none --rc-lookahead 0 --ref 1
                                    --scenecut 0 --subme 0 --trellis 0
                                    --no-weightb --weightp 0
                                  - superfast:
                                    --no-mbtree --me dia --no-mixed-refs
                                    --partitions i8x8,i4x4 --rc-lookahead 0
                                    --ref 1 --subme 1 --trellis 0 --weightp 1
                                  - veryfast:
                                    --no-mixed-refs --rc-lookahead 10 --ref 1
                                    --subme 2 --trellis 0 --weightp 0
                                  - faster:
                                    --no-mixed-refs --rc-lookahead 20
                                    --ref 2 --subme 4 --weightp 1
                                  - fast:
                                    --rc-lookahead 30 --ref 2 --subme 6
                                    --weightp 1
                                  - medium:
                                    Default settings apply.
                                  - slow:
                                    --b-adapt 2 --direct auto --me umh
                                    --rc-lookahead 50 --ref 5 --subme 8
                                  - slower:
                                    --b-adapt 2 --direct auto --me umh
                                    --partitions all --rc-lookahead 60
                                    --ref 8 --subme 9 --trellis 2
                                  - veryslow:
                                    --b-adapt 2 --bframes 8 --direct auto
                                    --me umh --merange 24 --partitions all
                                    --ref 16 --subme 10 --trellis 2
                                    --rc-lookahead 60
                                  - placebo:
                                    --bframes 16 --b-adapt 2 --direct auto
                                    --slow-firstpass --no-fast-pskip
                                    --me tesa --merange 24 --partitions all
                                    --rc-lookahead 60 --ref 16 --subme 10
                                    --trellis 2
      --tune                  Tune the settings for a particular type of source
                              or situation
                                  Overridden by user settings.
                                  Multiple tunings are separated by commas.
                                  Only one psy tuning can be used at a time.
                                  - film (psy tuning):
                                    --deblock -1:-1 --psy-rd <unset>:0.15
                                  - animation (psy tuning):
                                    --bframes {+2} --deblock 1:1
                                    --psy-rd 0.4:<unset> --aq-strength 0.6
                                    --ref {Double if >1 else 1}
                                  - grain (psy tuning):
                                    --aq-strength 0.5 --no-dct-decimate
                                    --deadzone-inter 6 --deadzone-intra 6
                                    --deblock -2:-2 --ipratio 1.1 
                                    --pbratio 1.1 --psy-rd <unset>:0.25
                                    --qcomp 0.8
                                  - stillimage (psy tuning):
                                    --aq-strength 1.2 --deblock -3:-3
                                    --psy-rd 2.0:0.7
                                  - psnr (psy tuning):
                                    --aq-mode 0 --no-psy
                                  - ssim (psy tuning):
                                    --aq-mode 2 --no-psy
                                  - fastdecode:
                                    --no-cabac --no-deblock --no-weightb
                                    --weightp 0
                                  - zerolatency:
                                    --bframes 0 --force-cfr --rc-lookahead 0
                                    --sync-lookahead 0 --sliced-threads
      --slow-firstpass        Don't force these faster settings with --pass 1:
                                  --no-8x8dct --me dia --partitions none
                                  --ref 1 --subme {2 if >2 else unchanged}
                                  --trellis 0 --fast-pskip

Frame-type options:

  -I, --keyint <integer or "infinite"> Maximum GOP size [250]
  -i, --min-keyint <integer>  Minimum GOP size [auto]
      --no-scenecut           Disable adaptive I-frame decision
      --scenecut <integer>    How aggressively to insert extra I-frames [40]
      --intra-refresh         Use Periodic Intra Refresh instead of IDR frames
  -b, --bframes <integer>     Number of B-frames between I and P [3]
      --b-adapt <integer>     Adaptive B-frame decision method [1]
                                  Higher values may lower threading efficiency.
                                  - 0: Disabled
                                  - 1: Fast
                                  - 2: Optimal (slow with high --bframes)
      --b-bias <integer>      Influences how often B-frames are used [0]
      --b-pyramid <string>    Keep some B-frames as references [normal]
                                  - none: Disabled
                                  - strict: Strictly hierarchical pyramid
                                  - normal: Non-strict (not Blu-ray compatible)
      --open-gop              Use recovery points to close GOPs [none]
                              Only available with b-frames
      --no-cabac              Disable CABAC
  -r, --ref <integer>         Number of reference frames [3]
      --no-deblock            Disable loop filter
  -f, --deblock <alpha:beta>  Loop filter parameters [0:0]
      --slices <integer>      Number of slices per frame; forces rectangular
                              slices and is overridden by other slicing options
      --slice-max-size <integer> Limit the size of each slice in bytes
      --slice-max-mbs <integer> Limit the size of each slice in macroblocks
      --tff                   Enable interlaced mode (top field first)
      --bff                   Enable interlaced mode (bottom field first)
      --pulldown <string>     Use soft pulldown to change frame rate
                                  - none, 22, 32, 64, double, triple, euro (requires cfr input)
      --fake-interlaced       Flag stream as interlaced but encode progressive.
                              Makes it possible to encode 25p and 30p Blu-Ray
                              streams. Ignored in interlaced mode.
     --frame-packing <integer> For stereoscopic videos define frame arrangement
                                 - 0: checkerboard - pixels are alternatively from L and R
                                 - 1: column alternation - L and R are interlaced by column
                                 - 2: row alternation - L and R are interlaced by row
                                 - 3: side by side - L is on the left, R on the right
                                 - 4: top bottom - L is on top, R on bottom
                                 - 5: frame alternation - one view per frame

Ratecontrol:

  -q, --qp <integer>          Force constant QP (0-69, 0=lossless)
  -B, --bitrate <integer>     Set bitrate (kbit/s)
      --crf <float>           Quality-based VBR (0-51, 0=lossless) [23.0]
      --rc-lookahead <integer> Number of frames for frametype lookahead [40]
      --vbv-maxrate <integer> Max local bitrate (kbit/s) [0]
      --vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]
      --vbv-init <float>      Initial VBV buffer occupancy [0.9]
      --crf-max <float>       With CRF+VBV, limit RF to this value
                                  May cause VBV underflows!
      --qpmin <integer>       Set min QP [10]
      --qpmax <integer>       Set max QP [69]
      --qpstep <integer>      Set max QP step [4]
      --ratetol <float>       Tolerance of ABR ratecontrol and VBV [1.0]
      --ipratio <float>       QP factor between I and P [1.40]
      --pbratio <float>       QP factor between P and B [1.30]
      --chroma-qp-offset <integer>  QP difference between chroma and luma [0]
      --aq-mode <integer>     AQ method [1]
                                  - 0: Disabled
                                  - 1: Variance AQ (complexity mask)
                                  - 2: Auto-variance AQ (experimental)
      --aq-strength <float>   Reduces blocking and blurring in flat and
                              textured areas. [1.0]

  -p, --pass <integer>        Enable multipass ratecontrol
                                  - 1: First pass, creates stats file
                                  - 2: Last pass, does not overwrite stats file
                                  - 3: Nth pass, overwrites stats file
      --stats <string>        Filename for 2 pass stats ["x264_2pass.log"]
      --no-mbtree             Disable mb-tree ratecontrol.
      --qcomp <float>         QP curve compression [0.60]
      --cplxblur <float>      Reduce fluctuations in QP (before curve compression) [20.0]
      --qblur <float>         Reduce fluctuations in QP (after curve compression) [0.5]
      --zones <zone0>/<zone1>/...  Tweak the bitrate of regions of the video
                              Each zone is of the form
                                  <start frame>,<end frame>,<option>
                                  where <option> is either
                                      q=<integer> (force QP)
                                  or  b=<float> (bitrate multiplier)
      --qpfile <string>       Force frametypes and QPs for some or all frames
                              Format of each line: framenumber frametype QP
                              QP is optional (none lets x264 choose). Frametypes: I,i,P,B,b.
                                  K=<I or i> depending on open-gop setting
                              QPs are restricted by qpmin/qpmax.

Analysis:

  -A, --partitions <string>   Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]
                                  - p8x8, p4x4, b8x8, i8x8, i4x4
                                  - none, all
                                  (p4x4 requires p8x8. i8x8 requires --8x8dct.)
      --direct <string>       Direct MV prediction mode ["spatial"]
                                  - none, spatial, temporal, auto
      --no-weightb            Disable weighted prediction for B-frames
      --weightp <integer>     Weighted prediction for P-frames [2]
                                  - 0: Disabled
                                  - 1: Blind offset
                                  - 2: Smart analysis
      --me <string>           Integer pixel motion estimation method ["hex"]
                                  - dia: diamond search, radius 1 (fast)
                                  - hex: hexagonal search, radius 2
                                  - umh: uneven multi-hexagon search
                                  - esa: exhaustive search
                                  - tesa: hadamard exhaustive search (slow)
      --merange <integer>     Maximum motion vector search range [16]
      --mvrange <integer>     Maximum motion vector length [-1 (auto)]
      --mvrange-thread <int>  Minimum buffer between threads [-1 (auto)]
  -m, --subme <integer>       Subpixel motion estimation and mode decision [7]
                                  - 0: fullpel only (not recommended)
                                  - 1: SAD mode decision, one qpel iteration
                                  - 2: SATD mode decision
                                  - 3-5: Progressively more qpel
                                  - 6: RD mode decision for I/P-frames
                                  - 7: RD mode decision for all frames
                                  - 8: RD refinement for I/P-frames
                                  - 9: RD refinement for all frames
                                  - 10: QP-RD - requires trellis=2, aq-mode>0
      --psy-rd                Strength of psychovisual optimization ["1.0:0.0"]
                                  #1: RD (requires subme>=6)
                                  #2: Trellis (requires trellis, experimental)
      --no-psy                Disable all visual optimizations that worsen
                              both PSNR and SSIM.
      --no-mixed-refs         Don't decide references on a per partition basis
      --no-chroma-me          Ignore chroma in motion estimation
      --no-8x8dct             Disable adaptive spatial transform size
  -t, --trellis <integer>     Trellis RD quantization. Requires CABAC. [1]
                                  - 0: disabled
                                  - 1: enabled only on the final encode of a MB
                                  - 2: enabled on all mode decisions
      --no-fast-pskip         Disables early SKIP detection on P-frames
      --no-dct-decimate       Disables coefficient thresholding on P-frames
      --nr <integer>          Noise reduction [0]

      --deadzone-inter <int>  Set the size of the inter luma quantization deadzone [21]
      --deadzone-intra <int>  Set the size of the intra luma quantization deadzone [11]
                                  Deadzones should be in the range 0 - 32.
      --cqm <string>          Preset quant matrices ["flat"]
                                  - jvt, flat
      --cqmfile <string>      Read custom quant matrices from a JM-compatible file
                                  Overrides any other --cqm* options.
      --cqm4 <list>           Set all 4x4 quant matrices
                                  Takes a comma-separated list of 16 integers.
      --cqm8 <list>           Set all 8x8 quant matrices
                                  Takes a comma-separated list of 64 integers.
      --cqm4i, --cqm4p, --cqm8i, --cqm8p
                              Set both luma and chroma quant matrices
      --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
                              Set individual quant matrices

Video Usability Info (Annex E):
The VUI settings are not used by the encoder but are merely suggestions to
the playback equipment. See doc/vui.txt for details. Use at your own risk.

      --overscan <string>     Specify crop overscan setting ["undef"]
                                  - undef, show, crop
      --videoformat <string>  Specify video format ["undef"]
                                  - component, pal, ntsc, secam, mac, undef
      --fullrange <string>    Specify full range samples setting ["off"]
                                  - off, on
      --colorprim <string>    Specify color primaries ["undef"]
                                  - undef, bt709, bt470m, bt470bg
                                    smpte170m, smpte240m, film
      --transfer <string>     Specify transfer characteristics ["undef"]
                                  - undef, bt709, bt470m, bt470bg, linear,
                                    log100, log316, smpte170m, smpte240m
      --colormatrix <string>  Specify color matrix setting ["undef"]
                                  - undef, bt709, fcc, bt470bg
                                    smpte170m, smpte240m, GBR, YCgCo
      --chromaloc <integer>   Specify chroma sample location (0 to 5) [0]
      --nal-hrd <string>      Signal HRD information (requires vbv-bufsize)
                                  - none, vbr, cbr (cbr not allowed in .mp4)
      --pic-struct            Force pic_struct in Picture Timing SEI
      --crop-rect <string>    Add 'left,top,right,bottom' to the bitstream-level
                              cropping rectangle

Input/Output:

  -o, --output                Specify output file
      --muxer <string>        Specify output container format ["auto"]
                                  - auto, raw, mkv, flv, mp4
      --demuxer <string>      Specify input container format ["auto"]
                                  - auto, yuv, y4m, avs, lavf, ffms
      --input-csp <string>    Specify input colorspace format for raw input
                              - valid csps for `raw' demuxer:
                                i420, yv12, nv12, i422, i444, bgr, bgra
                              - valid csps for `lavf' demuxer:
                                yuv420p, yuyv422, rgb24, bgr24, yuv422p,
                                yuv444p, yuv410p, yuv411p, gray, monow, monob,
                                pal8, yuvj420p, yuvj422p, yuvj444p, xvmcmc,
                                xvmcidct, uyvy422, uyyvyy411, bgr8, bgr4,
                                bgr4_byte, rgb8, rgb4, rgb4_byte, nv12, nv21,
                                argb, rgba, abgr, bgra, gray16be, gray16le,
                                yuv440p, yuvj440p, yuva420p, vdpau_h264,
                                vdpau_mpeg1, vdpau_mpeg2, vdpau_wmv3,
                                vdpau_vc1, rgb48be, rgb48le, rgb565be,
                                rgb565le, rgb555be, rgb555le, bgr565be,
                                bgr565le, bgr555be, bgr555le, vaapi_moco,
                                vaapi_idct, vaapi_vld, yuv420p16le,
                                yuv420p16be, yuv422p16le, yuv422p16be,
                                yuv444p16le, yuv444p16be, vdpau_mpeg4,
                                dxva2_vld, rgb444be, rgb444le, bgr444be,
                                bgr444le, y400a
      --input-res <intxint>   Specify input resolution (width x height)
      --index <string>        Filename for input index file
      --sar width:height      Specify Sample Aspect Ratio
      --fps <float|rational>  Specify framerate
      --seek <integer>        First frame to encode
      --frames <integer>      Maximum number of frames to encode
      --level <string>        Specify level (as defined by Annex A)
      --bluray-compat         Enable compatibility hacks for Blu-ray support

  -v, --verbose               Print stats for each frame
      --no-progress           Don't show the progress indicator while encoding
      --quiet                 Quiet Mode
      --log-level <string>    Specify the maximum level of logging ["info"]
                                  - none, error, warning, info, debug
      --psnr                  Enable PSNR computation
      --ssim                  Enable SSIM computation
      --threads <integer>     Force a specific number of threads
      --sliced-threads        Low-latency but lower-efficiency threading
      --thread-input          Run Avisynth in its own thread
      --sync-lookahead <integer> Number of buffer frames for threaded lookahead
      --non-deterministic     Slightly improve quality of SMP, at the cost of repeatability
      --asm <integer>         Override CPU detection
      --no-asm                Disable all CPU optimizations
      --visualize             Show MB types overlayed on the encoded video
      --dump-yuv <string>     Save reconstructed frames
      --sps-id <integer>      Set SPS and PPS id numbers [0]
      --aud                   Use access unit delimiters
      --force-cfr             Force constant framerate timestamp generation
      --tcfile-in <string>    Force timestamp generation with timecode file
      --tcfile-out <string>   Output timecode v2 file from input timestamps
      --timebase <int/int>    Specify timebase numerator and denominator
                 <integer>    Specify timebase numerator for input timecode file
                              or specify timebase denominator for other input
      --dts-compress          Eliminate initial delay with container DTS hack

Filtering:

--vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file
      Available filters:
      crop:left,top,right,bottom
            removes pixels from the edges of the frame
      resize:[width,height][,sar][,fittobox][,csp][,method]
            resizes frames based on the given criteria:
            - resolution only: resizes and adapts sar to avoid stretching
            - sar only: sets the sar and resizes to avoid stretching
            - resolution and sar: resizes to given resolution and sets the sar
            - fittobox: resizes the video based on the desired contraints
               - width, height, both
            - fittobox and sar: same as above except with specified sar
            simultaneously converting to the given colorspace
            using resizer method ["bicubic"]
             - fastbilinear, bilinear, bicubic, experimental, point,
             - area, bicublin, gauss, sinc, lanczos, spline
      select_every:step,offset1[,...]
            apply a selection pattern to input frames
            step: the number of frames in the pattern
            offsets: the offset into the step to select a frame
            see: http://avisynth.org/mediawiki/Select#SelectEvery
[edit]

参考…H.264動画からエンコードのオプションコマンドを知るツール「Mediainfo GUI」

H.264動画を直接ダウンロードできる場合に、Mediainfo GUIを使えば、読み込んだH.264動画のエンコード時のオプションコマンドを(ある程度?)知ることができます。
ジャンル(実写、スポーツ、アニメ、3Dゲーム、2Dゲーム、etc.)によって適切なオプションはかなり変わりますが、自身がよくエンコードするジャンルで高画質なH.264動画を見つけられたら、その動画から直接オプションを調べられるため、巷の解説よりもはるかに参考にできると思われます。

[edit]

参考その2…もっと色々知りたい人は

ネット上には様々な情報が氾濫していますが、x264について書かれた日本語情報は勘違いと虚偽に満ちているものが少なくありません。(もちろん正確なものもあります)
もしあなたがより精度の高い情報を手に入れたいなら、海外のサイトに行きましょう。

[edit]

コメント

最新の10件を表示しています。 コメントページを参照

  • rigaya氏のguiEx.auoがだいたい安定したようなので、以前のgui.aouのページをコピーして内容を修正した。 -- 2011-01-06 (木) 01:01:26
  • weightp1はr1802で,BlindOffset?からSimpleに変更されたので -- 2011-01-20 (木) 20:33:45
  • 最近はsubmeに11が追加されたよ。 -- 2011-09-15 (木) 23:54:24
  • LCaacでの低ビットレート:64k以下はneroのほうがはっきりして聞きやすいのに・・・ -- 2013-01-21 (月) 17:41:23
  • スレッド数のHTT有効だとCPU数1.5倍になると書かれてるが実際は2倍 -- 2013-03-15 (金) 12:33:54
  • Core i7 6コア12スレッド品が少しだが出てるのでそれと勘違いしてるんだと思う -- 2013-03-15 (金) 12:35:40
  • 最近のヤツと項目が変わってる部分があるんだね。新たに加わったとこ、変化があったとこの説明がほしいところだ -- 2013-12-31 (火) 12:23:55
  • すごく分かり易くて学ばせてもらいました。最新版を元に、切に更新希望します。 -- 2014-05-28 (水) 23:12:46
  • CLI の --fullhelp を最新版に修正しました。 -- 2015-08-08 (土) 13:10:21
  • CLIの--fullhelpをr2762に更新。また、古い情報に対する注意喚起を追加。全てのDefault値を確認する気力は無かった。ごめんなさい。 -- 2017-03-29 (水) 12:23:00
    • tune touhouに関する情報を追加。 -- 2017-04-02 (日) 13:07:36
    • touhouは通常版fullhelpに載っていないので、「8"+1"種類」とした。 -- 2017-04-02 (日) 13:17:15
    • 「X264 Settings MeWiki?」のURLを更新。 -- 2017-04-02 (日) 13:38:23
お名前:

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS  ニコニコ関連記事のRSS 
Site admin: takechan
Powered by はてなウェブサービス SimpleAPI