Полное описание всех ключей кодирования x264/libx264
На этой странице подробно рассмотрены и описаны настройки консольного видео энкодера х264.
Основная направленность пособия на желающих освоить x264 видеокодирование «c нуля», по самым простым схемам.
Просьба ко всем хорошо разбирающимся в х264, и согласным научить этому других. FAQ открыт для дополнения. Кто может улучшить, дополнить, исправить ошибки, и если есть время и желание, как говорится флаг вам в руки! И милости просим. Пишите, присылайте советы. Единственное пожелание - излагайте информацию как можно проще, словно для первоклассника, пособие ведь для начинающих.
Если нашли ошибку или неточность в описании - сообщите администрации. Контакты внизу страницы.
Список ключей x264:
Ключи расположены в том же порядке, что и в x264 --fullhelp.
Presets:
--profile Force the limits of an H.264 profile
--preset Use a preset to select encoding settings
--tune Tune the settings for a particular type of source or situation
--slow-firstpass Enable slow first pass
Frame-type options:
-I, --keyint Maximum GOP size
-i, --min-keyint Minimum GOP size
--no-scenecut Disable adaptive I-frame decision
--scenecut How aggressively to insert extra I-frames
--intra-refresh Use Periodic Intra Refresh instead of IDR frames
-b, --bframes Number of B-frames between I and P
--b-adapt Adaptive B-frame decision method
--b-bias Influences how often B-frames are used
--b-pyramid Keep some B-frames as references
--open-gop Use recovery points to close GOPs
--no-cabac Disable CABAC
-r, --ref Number of reference frames
--no-deblock Disable loop filter
-f, --deblock Loop filter parameters
--slices Number of slices per frame
--slice-max-size Limit the size of each slice in bytes
--slice-max-mbs Limit the size of each slice in macroblocks
--tff Enable interlaced mode (top field first)
--bff Enable interlaced mode (bottom field first)
--constrained-intra Enable constrained intra prediction
--pulldown Use soft pulldown to change frame rate
--fake-interlaced Flag stream as interlaced but encode progressive
--frame-packing For stereoscopic videos define frame arrangement
Ratecontrol:
-q, --qp Force constant QP
-B, --bitrate Set bitrate
--crf Quality-based VBR
--rc-lookahead Number of frames for frametype lookahead
--vbv-maxrate Max local bitrate
--vbv-bufsize Set size of the VBV buffer
--vbv-init Initial VBV buffer occupancy
--crf-max With CRF+VBV, limit RF to this value
--qpmin Set min QP
--qpmax Set max QP
--qpstep Set max QP step
--ratetol Tolerance of ABR ratecontrol and VBV
--ipratio QP factor between I and P
--pbratio QP factor between P and B
--chroma-qp-offset QP difference between chroma and luma
--aq-mode AQ method
--aq-strength Reduces blocking and blurring in flat and textured areas
-p, --pass Enable multipass ratecontrol
--stats Filename for 2 pass stats
--no-mbtree Disable mb-tree ratecontrol
--qcomp QP curve compression
--cplxblur Reduce fluctuations in QP
--qblur Reduce fluctuations in QP
--zones Tweak the bitrate of regions of the video
--qpfile Force frametypes and QPs for some or all frames
Analysis:
-A, --partitions Partitions to consider
--direct Direct MV prediction mode
--no-weightb Disable weighted prediction for B-frames
--weightp Weighted prediction for P-frames
--me Integer pixel motion estimation method
--merange Maximum motion vector search range
--mvrange Maximum motion vector length
--mvrange-thread Minimum buffer between threads
-m, --subme Subpixel motion estimation and mode decision
--psy-rd Strength of psychovisual optimization
--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 Trellis RD quantization
--no-fast-pskip Disables early SKIP detection on P-frames
--no-dct-decimate Disables coefficient thresholding on P-frames
--nr Noise reduction
--deadzone-inter Set the size of the inter luma quantization deadzone
--deadzone-intra Set the size of the intra luma quantization deadzone
--cqm Preset quant matrices
--cqmfile Read custom quant matrices from a JM-compatible file
--cqm4 Set all 4x4 quant matrices
--cqm8 Set all 8x8 quant matrices
--cqm4i, --cqm4p, --cqm8i, --cqm8p
Set both luma and chroma quant matrices
--cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
Set individual quant matrices
Video Usability Info:
--overscan Specify crop overscan setting
--videoformat Specify video format
--fullrange Specify full range samples setting
--colorprim Specify color primaries
--transfer Specify transfer characteristics
--colormatrix Specify color matrix setting
--chromaloc Specify chroma sample location
--nal-hrd Signal HRD information
--pic-struct Force pic_struct in Picture Timing SEI
--crop-rect Add 'left,top,right,bottom' to the bitstream-level cropping rectangle
Input/Output:
-o, --output Specify output file
--muxer Specify output container format
--demuxer Specify input container format
--input-fmt Specify input file format
--input-csp Specify input colorspace format for raw input
--output-csp Specify output colorspace
--input-depth Specify input bit depth for raw input
--input-res Specify input resolution
--index Filename for input index file
--sar Specify Sample Aspect Ratio
--fps Specify framerate
--seek First frame to encode
--frames Maximum number of frames to encode
--level Specify level
--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 Specify the maximum level of logging
--psnr Enable PSNR computation
--ssim Enable SSIM computation
--threads Force a specific number of threads
--lookahead-threads Force a specific number of lookahead threads
--sliced-threads Low-latency but lower-efficiency threading
--thread-input Run Avisynth in its own thread
--sync-lookahead Number of buffer frames for threaded lookahead
--non-deterministic Slightly improve quality of SMP, at the cost of repeatability
--asm Override CPU detection
--no-asm Disable all CPU optimizations
--visualize Show MB types overlayed on the encoded video
--dump-yuv Save reconstructed frames
--sps-id Set SPS and PPS id numbers
--aud Use access unit delimiters
--force-cfr Force constant framerate timestamp generation
--tcfile-in Force timestamp generation with timecode file
--tcfile-out Output timecode v2 file from input timestamps
--timebase Specify timebase numerator and denominator
--dts-compress Eliminate initial delay with container DTS hack
Force the limits of an H.264 profile
Указываем уровень совместимости, в зависимости от оборудования. Так как не все железные плееры могут справиться с high.
Профили:
baseline - Устанавливает --no-8x8dct --bframes 0 --no-cabac --cqm flat --weightp 0. С потерей качества. Без интерлейсинга.
main - Устанавливает --no-8x8dct --cqm flat. С потерей качества.
high - Нет ограничений. С потерей качества.
high10 - Тоже что и high, но с поддержкой глубины изображения в 10bit. С потерей качества.
high422 - Тоже что и high10, плюс поддержка 4:2:0/4:2:2 хрома сабсемплинг (chroma subsampling). С потерей качества.
high444 - Тоже что и high10, плюс поддержка 4:2:0/4:2:2/4:4:4 хрома сабсемплинг (chroma subsampling). Без потери качества.
В консоли: --profile <string>
В MediaInfo: Format profile: <string>
Значение по умолчанию: Отключено
См. также: --level
Use a preset to select encoding 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 1
faster (еще быстрее):
--no-mixed-refs --rc-lookahead 20 --ref 2 --subme 4 --weightp 1
fast (быстрый):
--rc-lookahead 30 --ref 2 --subme 6 --weightp 1
medium (средний):
все значения по умолчанию
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 11 --trellis 2
Рекомендации: Выбирайте пресет, в соответствии с вашими потребностями в скорости кодирования, качестве.
Примечание: Следует задавать в самом начале. Все значения могут быть перезаданны позже.
В консоли: --preset <string>
В MediaInfo: Не отображается
Значение по умолчанию: medium
Tune the settings for a particular type of source or situation
Выбираем нужную оптимизацию, которая установит оптимальные настройки для выбранного вами типа видео.
Типы оптимизаций:
film - для фильмов:
--deblock -1:-1 --psy-rd <не задано>:0.15
animation - для аниме и мультипликации:
--ref (удваивает --ref если оно больше 1) --deblock 1:1 --psy-rd 0.4:<не задано> --aq-strength 0.6 --bframes (стандартный --bframes + 2)
grain - для зернистого изображения с повышенной детализацией:
--aq-strength 0.5 --no-dct-decimate --deadzone-inter 6 --deadzone-intra 6 --deblock -2:-2 --ipratio 1.1 --pbratio 1.1 --psy-rd <не задано>:0.25 --qcomp 0.8
stillimage:
--aq-strength 1.2 --deblock -3:-3 --psy-rd 2.0:0.7
psnr:
--aq-mode 0--no-psy
ssim:
--aq-mode 2 --no-psy
fastdecode - для быстрого декодирования содержания:
--no-deblock --no-cabac --no-weightb --weightp 0
zerolatency - для потокового видео:
--bframes 0 --force-cfr --no-mbtree --sync-lookahead 0 --sliced-threads --rc-lookahead 0
Примечание: Задавать нужно только после --presets.
В консоли: --tune <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Enable slow first pass
Включаем "медленный" первый проход.
Рекомендации: Только при первом проходе и если нужно получить максимальное качество. Очень замедляет кодирование.
Примечание: Отключает следующие, ускоряющие первый проход, ключи:
--no-8x8dct --me dia --partitions none --ref 1 --subme 2 --trellis 0
Пресет placebo изначально содержит данный ключ.
В консоли: --slow-firstpass
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
В принципе, это и есть все самые основные ключи, как минимум для новичков. Все остальные ключи необходимы для тонкой настройки и требуют полного понимания их предназначения, так как легко могут вызвать разные проблемы.
Оптимальный вариант:
x264.exe --crf <integer> --preset <string> --tune <string> --profile <string> -o <выходное видео> <входное видео>
* --profile можно заменить на --level.
Maximum GOP size
Максимальный интервал между ключевыми/IDR кадрами. Этот параметр
контролирует количество кадров между ключевыми, и если по достижению
придела ключевой кадр не наступил - принудительно его ставит.
Стандартный размер GOP'а динамически вычисляется во время кодирования
для максимального сжатия.
IDR(ключевые) кадры - это так называемые
кадры-разделители. Кадры, находящиеся в промежутке между двумя ключевыми
кадрами не могут ссылаться на кадры, вне этого промежутка. Также, сами
ключевые кадры являются I-кадрами, так что они не могу использоваться
как референсные. По этому они могут использоваться в качестве
контрольных точек в видеопотоке.
Примечание: Влияет на перемотку видео в плеере. Если
значения очень большие, то при перемотке(прокрутке), не по ключевым
кадрам, видео в плеере будет немного притормаживать. Так как декодеру
придется отрендерить все кадры начиная с ближайшего ключевого и до
выбранного пользователем. Перемотка не по ключевым кадрам поддерживается
на уровне плеера, кодека.
Рекомендации: Значение по
умолчанию применимо в большинстве случаев. Если Вы хотите использовать
собственное значение, используйте следующую формулу: fps*10 (значение
должно быть целым числом, кратным 10-и). Если Вы кодируете для Blu-ray
или потокового видео, то возможно, Вам придется использовать значения,
равные частоте кадров итогового видео. Большие значения полезны только
для статичного видео.
То есть для частоты кадров в 25 нужно выбирать 250, для 23,976 - 240 и для 29,970 - 300.
В консоли: -I <integer> или --keyint <integer>
В MediaInfo: keyint=<integer>
Значение по умолчанию: 250
См. также: --min-keyint, --scenecut, --intra-refresh
Minimum GOP size
Минимальное расстояние между ключевыми/IDR кадрами.
Рекомендации: Значение по умолчанию (25) подходит
для большинства видов контента. Если Вы хотите использовать свое
значение, то оно не должно превышать: --keyint/2+1. Если у вас довольно динамичное видео, то значение можно немного уменьшить.
В консоли: --min-keyint <integer>
В MediaInfo: keyint_min=<integer>
Значение по умолчанию: auto (--keyint/10 или --fps)
См. также: --keyint, --scenecut
Disable adaptive I-frame decision
Полное отключение адаптивных I-кадров.
В консоли: --no-scenecut
В MediaInfo: scenecut=0
Значение по умолчанию: Отключено
См. также: --scenecut
How aggressively to insert extra I-frames
Этот параметр определяет на сколько часто будут использоваться дополнительные I-кадры. x264 высчитывает метрику каждого кадра, что бы определить насколько он отличается от предыдущего. Если полученное значение меньше чем установлено для scenecut, то энкодер помещает в этом месте I-кадр, но только если последний ключевой кадр был не раньше чем --min-keyint. Если значение выше, то вставляет ключевой/IDR кадр. Полезность определения смены сцен заключается в оптимальной расстановке I-кадров в местах резкой смены сцен. Это повышает качество, но слишком частая смена приведёт к напрасной трате битрейта.
Примечание: Значение "0" соответствует --no-scenecut.
Диапазон: 0..100
В консоли: --scenecut <integer>
В MediaInfo: scenecut=<integer>
Значение по умолчанию: 40
См. также: --keyint, --min-keyint, --no-scenecut
Use Periodic Intra Refresh instead of IDR frames
Запрещает использование IDR-кадров.
Примечание: Эта опция снижает степень сжатия видео, и
применима только для потокового видео. Дает более постоянный битрейт,
без резких скачков.
В консоли: --intra-refresh
В MediaInfo: intra_refresh
Значение по умолчанию: Отключено
Number of B-frames between I and P
Количество последовательных B-кадров между I- и P- кадрами. B-кадры – это кадры, в которых закодированы изменения не только от предыдущих кадров, но и от последующих. Имеют еще большую степень сжатия, чем P-кадры, но также и наихудшее качество. B-кадры подобны P-кадрам, кроме того, они могут использовать предсказание движения от будущих кадров также. Это может привести к значительному улучшению степени сжатия.
Рекомендации: Оптимальные значения: 2..6.
Если Вы используете --b-adapt 2, то можно смело задавать --bframes 16. Это самый простой способ, так как выбор оптимального значения падает на енкодер.
Оптимальное значение для конкретного видео можно получить путем чтения статистики первого прохода.
Примечание:
При высоких значениях, больших чем необходимо, кодирование может быть
значительно замедленно, без выйграша в качестве. Также большое
количество В-кадров затрудняет декодирование.
Диапазон: 1..16
В консоли: -b, --bframes <integer>
В MediaInfo: bframes=<integer>
Значение по умолчанию: 3
См. также: --b-bias, --b-pyramid, --ref, --pbratio, --partitions, --weightb
Adaptive B-frame decision method
Позволяет x264 адаптивно решать, где будут использоваться B-кадры, уменьшая количество B-кадров там, где это не нужно.
Рекомендации: При высоком значении --bframes лучше задавать значение 2.
Настройки:
0 - полностью отключить
1 - "быстрый" алгоритм. Этот метод позволяет использовать --bframes 16
2 - оптимальный алгоритм, медленнее предыдущего
Примечание: В многопроходном кодировании эта опция необходима только для первого прохода, где типы кадров определены.
В консоли: --b-adapt <integer>
В MediaInfo: b_adapt=<integer>
Значение по умолчанию: 1
Influences how often B-frames are used
Контролирует количество B-кадров, которые будут использованы вместо P-кадров.
Рекомендации: Используйте, только если считаете что сможете добиться лучшего контроля битрейта, чем сам x264.
Примечание:
Значения выше 0 увеличивают вероятность использования В-кадров, а
значения ниже 0 - уменьшают. Значения равные 100/-100 гарантируют/не
гарантируют что каждый Р-кадр будет преобразован. Для этого используйте --b-adapt 0.
Диапазон: -100..100
В консоли: --b-bias <integer>
В MediaInfo: b_bias=<integer>
Значение по умолчанию: 0
См. также: --bframes, --ipratio
Keep some B-frames as references
Позволяет B-кадрам ссылаться на другие В-кадры, тем самым увеличивая эффективность использования 2-х или более B-кадров.
Типы:
none - запрещает использовать В-кадры как референсные.
strict - разрешают по 1-му референсному В-кадру на каждый minigop (соблюдает ограничения стандарта Blu-ray).
normal - разрешает множественное использование референсных В-каров на каждый minigop.
Примечание: Без
этого параметра, В-кадры могут ссылаться только на I- или P-кадры. Хотя
I/P-кадры и более ценны, из-за их более высокого качества, B-кадры
также могут быть полезными.
Необходимо значение --bframes выше 2-х. Немного замедляет кодирование. При кодировании для Blu-ray не используйте normal.
В консоли: --b-pyramid <string>
В MediaInfo: b_pyramid=<integer>
Значение по умолчанию: normal
См. также: --bframes, --refs, --no-mixed-refs
Use recovery points to close GOPs
Open-GOP(Group Of Pictures) - техника увеличивающая эффективность кодирования. По сути, open-gop запрещает трансформацию B-кадра в P-кадр, если текущий кадр должен быть ключевым, исходя из значения --keyint, но новая сцена еще не началась. Это позволяет уменьшить излишне большое количество ключевых кадров и дает меньший битрейт, и соответственно более высокую степень сжатия.
Рекомендации: Полезно, если Вы используете низкие значения --keyint.
Примечание: Некоторые декодеры не поддерживают open-gop, по этому эта опция не включена по умолчанию.
В консоли: --open-gop
В MediaInfo: open_gop=<integer>
Значение по умолчанию: Отключено
Disable CABAC
CABAC (Context-Adaptive Binary Arithmetic Coding / Контекстно-Адаптивное Двоичное Арифметическое Кодирование) - это умная техника сжатия без потерь. Данная опция отключит CABAC и энкодер начнет использовать CAVLC (Контекстно-Адаптивное Неравномерное Кодирование).
Рекомендации: Для карманных устройств(КПК, КМК и
смартфонов) лучше использовать CAVLC. Так как их мощности не хватит
что бы справится с CABAC.
Примечание: CABAC дает сжатие, приблизительно, на 10-20% больше, по сравнению с CAVLC.
CABAC использует больше процессорного времени для кодирования и декодирования.
В консоли: --no-cabac
В MediaInfo: cabac=0
Значение по умолчанию: Отключено
Number of reference frames
Параметр задает количество используемых рефернсных кадров. Определяет, сколько предыдущих кадров может быть связано (заимствование макроблоков) с P- или B-кадрами.
Рекомендации: Приблизительно 4-6. Большие значения могут быть полезны для анимации, аниме, скринкастов и другого "статичного" видео.
Примечание: При 5-ти и более референсных кадрах, качество, обычно, повышается незначительно.
Кроме
того, 4 - максимальное значение для 1080p, а 9 - максимальное для 720p,
придерживаясь спецификации Level 4.1. Это самый высокий уровень,
поддерживаемый в большинстве бытовой электроники, которая поддерживают
воспроизведение H.264, включая также Xbox 360 и Playstation 3.
Чем больше референсных кадров, тем медленнее кодирование.
Диапазон: 0..16
В консоли: -r, --ref <integer>
В MediaInfo: ref=<integer>
Значение по умолчанию: 3
См. также: --b-pyramid, --no-mixed-refs, --level
Disable loop filter
Отключение фильтра подавления блочности.
В консоли: --no-deblock
В MediaInfo: deblock=0:0:0
Значение по умолчанию: Отключено
См. также: --deblock
Loop filter parameters
Использование фильтра подавления блоков с параметрами - alpha (сила подавления блоков):beta (точность определения блоков). При кодировании изображение разбивается на блоки размерами 8х8 пикселей и каждый такой блок кодируется отдельно. При недостаточном битрейте, эти блоки становятся заметными. Включение данной опции поможет решить проблему.
Рекомендации: Параметр "alpha" рекомендуется выбрать
от -3 до 3. Большее значение увеличивает силу подавления блоков, но
картинка становится немного размытой (используйте при низких битрейтах
или при кодировании мультипликации). Меньшее значение уменьшает силу,
зато картинка остается достаточно чёткой (используйте при высоких
битрейтах). Если не знаете, что выбрать, то оставьте 0 - подходит для
большинства случаев.
Параметр "beta" рекомендуется выбирать от -2 до
2. При больших значениях, кодек может распознать некоторые детали за
блок и применить к ним фильтр подавления блоков. При меньших значениях,
деталей сохранится больше, но некоторые блоки могут быть приняты за
деталь (используйте меньшие значения при кодировании мультипликации - в
ней четкие контуры, поэтому кодек не ошибется). Желательно чтобы этот
параметр отличался не больше, чем на единицу от предыдущего. Если не
знаете, что выбрать, то оставьте 0 - подходит для большинства случаев.
Сила
деблокинга вычисляется для каждого макроблока, исходя из квантизера для
него и близлежащих макроблоков. Альфа определяет: является ли
приграничный квадрат блочным или же на самом деле это деталь. Это похоже
на порог. Бета так же похожа на порог, но используется для того, чтобы
убедиться в однородности картинки с обеих приграничных сторон и, тем
самым, отделить детали от блочности. Когда определена блочность, альфа
решает, какую силу использовать (максимально допустимое изменение
пикселя). Бета немного изменяет силу, если блок однородный. Сила
деблокинга: Порог деблокинга. Порог деблокинга устанавливает жёсткость
отбора блочности фильтром. Сила деблокинга регулирует, как сильно
определённые блоки будут смягчены. Значения по умолчанию сочетают
аккуратность удаления блочности и сохранение деталей. Значения должны
лежать в диапазоне от -3 до 3 (чем ниже значения, тем меньше устраняется
блочность. Отрицательные значения не означают, что блочность
оставляется).
Примечание: Слишком высокие значения
дадут потерю многих деталей и текстур или смазывание. Установка слишком
низких значений оставит резкие края и "москитный шум" (mosquito noise).
Должна быть положительная взаимосвязь между двумя коэффициентами
деблокинга (желательно, чтобы обе цифры были отрицательными или
положительными). Если Вы увеличиваете силу, то должны увеличить и порог
Диапазон: -6..6 (для alpha и beta соответственно)
В консоли: -f, --deblock <alpha:beta>
В MediaInfo: deblock=1:<integer>:<integer>
Значение по умолчанию: 0:0
См. также: --no-deblock
Number of slices per frame
Указываем количество частей (квадратов), на которые будет разбит кадр.
Рекомендации: Если Вы кодируете Blu-ray -
используйте значение 4. В противном случае вообще не используйте эту
опцию. Разве что Вы точно знаете что она вам нужна.
В консоли: --slices <integer>
В MediaInfo: Неизвестно
Значение по умолчанию: 0
См. также: --slice-max-size, --slice-max-mbs
Limit the size of each slice in bytes
Задаем максимальное размер slice в байтах.
Примечание: На данные момент конфликтует с --tff, --bff.
В консоли: --slice-max-size <integer>
В MediaInfo: Неизвестно
Значение по умолчанию: 0
См. также: --slices
Limit the size of each slice in macroblocks
Задаем максимальный размер slice в макроблоках.
Примечание: На данные момент конфликтует с --tff, --bff.
В консоли: slice-max-mbs <integer>
В MediaInfo: Неизвестно
Значение по умолчанию: 0
См. также: --slices
Enable interlaced mode (top field first)
Включаем череcстрочное кодирование. Первое поле - верхнее.
Рекомендации: Чересстрочное кодирование необходимо только для чересстрочных дисплеев.
Примечание: x264 использует для череcстрочного кодирования MBAFF, и это намного хуже прогрессивного кодирования.
В консоли: --tff
В MediaInfo: interlaced=1
Значение по умолчанию: Отключено
См. также: --bff
Enable interlaced mode (bottom field first)
Включаем череcстрочное кодирование. Первое поле - нижнее.
Рекомендации: Чересстрочное кодирование необходимо только для чересстрочных дисплеев.
Примечание: x264 использует для череcстрочного кодирования MBAFF, и это намного хуже прогрессивного кодирования.
В консоли: --bff
В MediaInfo: interlaced=1
Значение по умолчанию: Отключено
См. также: --tff
Enable constrained intra prediction
Включаем ограниченное внутреннее предсказание, необходимое для base layer.
Рекомендации: Практически не применяется. Этот ключ можно игнорировать.
В консоли: --constrained-intra
В MediaInfo: constrained_intra=<0/1>
Значение по умолчанию: Отключено
Use soft pulldown to change frame rate
Выбираем пресет софт-телесина для входного видео. Телесин - это способ преобразования видео в телевизионный формат. То есть частота исходного видео подгоняется под частоту телевещания (50Гц - PAL, 60Гц - NTSC), при этом возможно незначительное ускорение видео. Данный параметр задает тип исходного преобразования, для выполнения обратного.
Пресеты: none, 22, 32, 64, double, triple, euro (требует crf входное видео).
Примечание: использование любого пресета, кроме none, подразумевает использование --pic-struct.
В консоли: --pulldown <string>
В MediaInfo: Неизвестно
Значение по умолчанию: Отключено
Flag stream as interlaced but encode progressive
Обозначает видеопоток как чересстрочный, даже если он таковым не является. Позволяет кодировать видео для Blu-ray с частотой кадров в 25 и 30 в секунду.
В консоли: --fake-interlaced
В MediaInfo: Неизвестно (обычно отображает как прогрессивное)
Значение по умолчанию: Отключено
For stereoscopic videos define frame arrangement
Если Вы кодируете 3D-видео, то этот параметр говорит вашему декодеру о том, кокой именно тип 3D-видео используется.
Типы 3D-видео:
1 - чередование столбцов - Л(лево) и П(право) чересстрочно по столбцам (Interlaced)
2 - чередование строк - Л и П чересстрочно по строкам (Interlaced)
3 - горизонтальная (попеременная) стереопара - Л слева, П справа (SideBySide)
4 - верх низ - Л вверху, П снизу (OverUnder)
5 - чередование кадров - один кадр для одного глаза
В консоли: --frame-packing <integer>
В MediaInfo: Неизвестно
Значение по умолчанию: Отключено
Force constant QP
В режиме Constant Quantizer (постоянного квантизера) каждый кадр кодируется с одинаковым математическим качеством (или квантизером), не обращая внимания на то, сколько битрейта придётся потратить. Чем ниже значение - тем выше качество.
Рекомендации: Используйте CRF вместо QP. Так как QP
не дает возможности заранее определить размер/битрейт итогового видео, а
также Вы получите намного больший размер файла, нежели с CRF.
Примечание: Значение QP отвечает только за качество Р-кадров. Качество I-кадров и B-кадров высчитывается исходя из значений --ipratio и --pbratio соответственно. QP немного быстрее чем CRF.
Значения
ниже 15-и, полезны только для архивного/репродукционного качества, а
при значениях выше 40 заметны значительные потери качества.
Для кодирования без потерь (lossless) - используйте значение 0.
Диапазон: 0..69
В консоли: -q <integer> или --qp <integer>
В MediaInfo: rc=qp
Значение по умолчанию: Отключено
См. также: --bitrate, --crf, --ipratio, --pbratio
Set bitrate
Устанавливает средний битрейт(ABR), с которым будет закодирован файл. В режиме Average Bit Rate (усреднённого переменного битрейта) каждый кадр кодируется с минимально возможным квантизером, придерживаясь среднего битрейта на указанном времени. В этом режиме итоговый размер достаточно предсказуемый, а качество на оборот не предсказуемо.
Рекомендации: Лучше всего использовать при двухпроходном кодировании.
Приблизительные диапазоны битрейта для различных типов видео:
для SD(480 пикселей по высоте и ниже): 800МБит/с - 2100МБит/с.
для 720p(720 пикселей по высоте): 3-6МБит/с.
для 1080p(1080 пикселей по высоте): 8-15МБит/с.
Примечание:
Установки для верификатора видео буфера (VBV) будут определять уровень
изменения текущего битрейта, использующегося для компенсации при смене
цен.
В консоли: -B <integer> или --bitrate <integer>
В MediaInfo: Bit rate : <integer>
Значение по умолчанию: Отключено
См. также: --qp, --crf, --ratetol, --pass, --stats
Quality-based VBR
В режиме постоянного качества, основанного на переменном битрейте, каждый кадр кодируется с почти одинаковым математическим качеством (или квантизером), включая движение (оценка скорости). Этот режим визуально повышает качество, кодируя динамичные сцены с более сильной степенью сжатия (ниже качество) и статичные сцены с меньшим сжатием (лучше качество). Квантизер (математическое качество) может колебаться во времени: меньше бит будет потрачено на сценах, где много движения - множество деталей становятся неразличимыми, и больше бит будет потрачено для статичных сцен, когда лучше видны детали. Это позволит получить постоянное визуальное качество на всей видео последовательности.
Рекомендации: Оптимальный диапазон 18-26.
Приблизительно CRF 19-21.5 – это то значение, при котором изображение
будет выглядеть очень хорошим.
Лучше использовать при однопроходном кодировании.
Примечание: Значения
ниже 16-и дают скорее повышение математического качества, чем
визуального. Они полезны только для архивного/репродукционного
материала, а при значениях выше 40-а, заметны значительные потери
качества.
Диапазон: 0..51
В консоли: --crf <float>
В MediaInfo: rc=crf
Значение по умолчанию: 23.0
См. также: --qp, --bitrate
Number of frames for frametype lookahead
Устанавливает число кадров, используемых в mb-tree ratecontrol и vbv-lookahead. Большие значения улучшают результаты mb-tree, но замедляют кодирование. Для vbv-lookahead большие значения дадут большую точность и стабильность
Рекомендации: 40..60
Примечание: Не может быть больше --keyint. Если будет задано больше чем --keyint, то x264 автоматически уменьшит его до значения --keyint.
Использует
очень много оперативной памяти. Значения больше 100, при размере ОЗУ
меньше 2Gb могут привести к падению(экстренное завершение) x264.
Диапазон: 0..250
В консоли: --rc-lookahead <integer>
В MediaInfo: rc_lookahead=<integer>
Значение по умолчанию: 40
См. также: --no-mbtree, --vbv-bufsize, --vbv-maxrate
Max local bitrate
Дополнительный параметр управления битрейтом. Устанавливает максимальный битрейт, разрешённый в видео-буфере.
Рекомендации: Значение по умолчанию оптимально. Другие значения могут привести к снижению качества.
В консоли: --vbv-maxrate <integer>
В MediaInfo: Не отображается
Значение по умолчанию: 0
См. также: --vbv-bufsize, --vbv-init
Set size of the VBV buffer
Устанавливаем размер VBV(Video Buffer Verifier) буфера в килобайтах.
Рекомендации: Значение по умолчанию оптимально. Другие значения могут привести к снижению качества.
В консоли: --vbv-bufsize <integer>
В MediaInfo: Не отображается
Значение по умолчанию: 0
См. также: --vbv-maxsize, --vbv-init
Initial VBV buffer occupancy
Задаем размер VBV буфера, каким он должен быть перед началом воспроизведения.
Рекомендации: Значение по умолчанию оптимально. Другие значения могут привести к снижению качества.
Примечание: Если значение ниже 1, то начальное заполнение высчитывается по формуле: --vbv-init * --vbv-bufsize. Если больше 1, то сразу принимается как начальное заполнение.
В консоли: --vbv-init <float>
В MediaInfo: Не отображается
Значение по умолчанию: 0.9
См. также: --vbv-maxsize, --vbv-bufsize
With CRF+VBV, limit RF to this value
Тоже что и --qpmax, только доля --crf. Задает максимальное значение ratefactor. Опция работает только с --crf и включенным VBV. Данная опция запрещает опускать значение ratefactor ниже заданного, даже если это приведет к нарушению ограничений VBV. Таким образом, устройство воспроизведения скорее пропустить кадр, чем покажет его в плохом качестве.
Рекомендации: Опция полезна для потокового вещания.
Примечание: На
очень сложных сценах, вместо того что бы показать плохой кадр (с низким
битрейтом), потоковый сервер просто понизит фреймрейт.
В консоли: --crf-max <float>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --crf, --vbv-maxrate, --vbv-bufsize
Set min QP
Определяет минимальный квантизатор, который x264 будет когда-либо использовать. Чем ниже квантизатор, тем ближе будет выходное видео к входному по качеству.
Рекомендации: Значение по умолчанию оптимально в
большинстве случаев. Но если вы считаете что энкодер тратит часть
битрейта в пустую, то можете поднять значение где то до 16-и. Это
практически не повлияет на визуальное качество, зато уменьшит битрейт, а
в следствии и размер.
Примечание: Что бы узнать насколько эффективно используется данный квантизер, посмотрите лог кодирования.
В консоли: --qpmin <integer>
В MediaInfo: qpmin=<integer>
Значение по умолчанию: 10
См. также: --qpmax, --ipratio
Set max QP
Устанавливаем максимальное значение квантизера. Это не даёт кодеру слишком сильно сжимать кадры, тем самым ухудшая качество.
Рекомендации: Устанавливать значения ниже стандартного нужно только если Вы считаете что некоторые кадры сжаты слишком сильно.
Диапазон: 0..69
В консоли: --qpmax <integer>
В MediaInfo: qpmax=<integer>
Значение по умолчанию: 69
См. также: --qpmin, --pbratio, --crf-max
Set max QP step
Устанавливает, как сильно может изменяться квантизер между последовательными кадрами, придерживаясь одного уровня качества.
То есть, при --qpstep=4 если кадр будет закодирован с QP=20, то квантизатор следующего кадра не будет, ниже 16 или больше 24.
Рекомендации: Можно повысить для очень динамичного видео.
В консоли: --qpstep <integer>
В MediaInfo: qpstep=<integer>
Значение по умолчанию: 4
Tolerance of ABR ratecontrol and VBV
Регулирует, как сильно будет колебаться битрейт относительно установленного среднего битрейта.
Рекомендации: Низкие
значения ограничивают изменение битрейта, создавая выходной файл,
хорошо попадающий в итоговый размер, исходя из установленного битрейта,
но ухудшают способность кодека адаптироваться к изменению сложных сцен.
Высокие значения увеличивают изменения (скачки) битрейта, которые
ухудшают возможность потоковой передачи и делают размер непредсказуемым,
но улучшают способность кодека адаптироваться к изменению сложных сцен.
Установка значения в 0% даст в результате работу в режиме постоянного
битрейта. Установив 100%, Вы получите изменения битрейта в зависимости
от сложности кодируемой сцены. (Установив 100% Вы получите сжатие в
режиме постоянного квантизера - CQ).
Примечание: Задается в процентах. То есть 1.0 соответствует 1.0%.
В консоли: --ratetol <float>
В MediaInfo: Не отображается
Значение по умолчанию: 1.0
QP factor between I and P
Устанавливает уровень среднего прироста качества I-кадров, по сравнению с Р-кадрами.
Примечание: Чем выше значение, тем выше качество I-кадров.
В консоли: --ipratio <float>
В MediaInfo: ip_ratio=<float>
Значение по умолчанию: 1.40
См. также: --pbratio
QP factor between P and B
Устанавливает средний уровень снижения качества для B-кадров, по сравнению с P-кадрами.
Примечание: Чем выше значение, тем ниже качество
В-кадров. Не используется с mbtree(включен по умолчанию), который сам
высчитывает оптимальное значение.
В консоли: --pbratio <float>
В MediaInfo: pb_ratio=<float>
Значение по умолчанию: 1.30
См. также: --ipratio
QP difference between chroma and luma
Устанавливает уровень снижения качества между яркостной и цветовой составляющими. Человеческий глаз более чувствителен к изменению яркости, чем цвета. Понизив цветовую детализацию можно повысить уровень сжимаемости. Обычно, x264 кодирует все три цветовых составляющих (luma-яркость, U -1-й цветоразностный сигнал, V -2-й цветоразностный сигнал) с тем же самым квантизатором. Это значение будет добавлено к квантизаторам для U и V составляющих. Это позволяет Вам смещать x264 в пользу яркости (luma), устанавливая положительные значения, сигналы цветности будут иметь более высокие квантизаторы, или в пользу цвета (сигнал цветности), устанавливая отрицательные значения. Помните, что x264 кодирует видео, как YV12, что означает, что сигнал цветности поднимает только половину цветового пространства, а luma делает так или иначе.
Рекомендации: Лучше не изменять стандартное
значение, так как его задает сам x264. К примеру включение psy снижает
его на 2-а, чтобы компенсировать повышение яркости (luma).
Примечание: x264 кодирует luma и chroma с одинаковым квантизиром только до Q=29.
В консоли: --chroma-qp-offset <integer>
В MediaInfo: chroma_qp_offset=<integer>
Значение по умолчанию: 0
AQ method
Без AQ, x264, как правило, не производит перераспределение битрейта для снижения или повышения детализации сцен. AQ лучше перераспределяет битрейт между всеми макроблоками в видео.
Режимы:
0 - Не использовать AQ вообще.
1 - Разрешает AQ для перераспределения битов в каждом кадре.
2 - Авто-инвариантность AQ (экспериментальная) позволяет перераспределять биты по всему видео.
В консоли: --aq-mode <integer>
В MediaInfo: aq=<integer>
Значение по умолчанию: 1
См. также: --aq-strength
Reduces blocking and blurring in flat and textured areas
Устанавливает силу AQ, для подавления блочности и размытия на "плоских" и текстурированных областях.
Рекомендации: Применяйте в диапазоне от 0.7 (большая
детализация изображения, но и больше артефактов) до 1.5 (меньшая
детализация, но значительное снижение вероятности появления артефактов).
Всё зависти от качества источника изображения.
Примечание: Отрицательные значения не допускаются. Значения вне диапазона 0.0 - 2.0 скорее всего приведут к полному искажению видео.
В консоли: --aq-strength <float>
В MediaInfo: aq=<float>
Значение по умолчанию: 1.0
См. также: --aq-mode
Enable multipass ratecontrol
Это необходимая настройка для многопроходного кодирования.
Принцип работы:
1-й проход: сбор статистики о видеопотоке и генерация stats-файла.
2-й проход: непосредственно кодирование, с учетом статистики полученной из stats-файла.
Двухпроходное
кодирование позволяет добиться увеличения качества и уменьшения
битрейта, в ущерб времени кодирования. Позволяет точнее попасть в
заданный размер. Так же можно использовать и трехпроходное кодирование.
Примечание: Чем больше проходов - тем больше общее время кодирования.
В консоли: -p <integer> или --pass <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --stats, --bitrate
Filename for 2 pass stats
Этот файл создается при первом проходе, и используется в последующих. Хранит информацию о всех кадрах.
В консоли: --stats <string>
В MediaInfo: Не отображается
Значение по умолчанию: x264_2pass.log
См. также: --pass
Disable mb-tree ratecontrol
Эта опция передаёт информацию от следующих блоков к предыдущим блокам поперек векторов движения. Эту опцию можно было описать, как ограничение --qcomp, чтобы воздействовать на индивидуальные блоки вместо целых сцен. Таким образом, вместо того, чтобы понижать качество в сценах высокой сложности (как x264 в настоящее время делает), эта опция понизит качество только на сложной части сцены, в то время, как например, статический фон останется высококачественным. Эта опция также имеет много других более тонких эффектов, некоторые дают потенциально отрицательный результат, но во многих случаях MB-Tree Rate Control даёт положительный результат. Применение его помогает при всех битрейтах, и может даже помочь при феноменально низких битрейтах, где видео иначе развалилось бы полностью на блоки...
В консоли: --no-mbtree
В MediaInfo: mbtree=0
Значение по умолчанию: Отключено
См. также: --rc-lookahead
QP curve compression
Регулирует, насколько сильно может колебаться битрейт на протяжении видео файла. Низкие значения уменьшают область колебания битрейта, производя файлы предсказуемого размера, но ухудшают способность кодека адаптироваться к изменению сложных сцен, где потеря деталей может быть не так важна. Высокие значения увеличивают разброс качества, который может улучшить визуальное качество путём уменьшения качества на малозаметных деталях и увеличивая там, где детали более заметны.
Примечание: Значение 0.0 даст постоянный битрейт, 1.0 постоянное качество.
Использование значение 1.0 с CRF равносильно использованию QP. Разве что QP не может работать с AQ.
Рекомендации: Не меняйте стандартное значение. Оно подходит для большинства типов видео.
В консоли: --qcomp <float>
В MediaInfo: qcomp=<float>
Значение по умолчанию: 0.60
См. также: --cplxblur, --qblur
Reduce fluctuations in QP
Временное сглаживание оценки сложности сцены (кадров). Более низкие значения этого параметра позволяют квантизерам более резко изменяться при усложнении или упрощении сцены. Более высокие значения заставляют квантизеры меняться более плавно. Cplxblur гарантирует, что каждый опорный I-кадр сопоставим по качеству со следующим P-кадров. Также эта опция позволяет не тратить впустую биты при кодировании чередующихся сложных и простых сцен, во время которых происходят флуктуации квантизеров. Имеет смысл поэкспериментировать с этим параметром при кодировании анимации.
Диапазон: 0..999
Примечание: Задействуется только при двухпроходном кодировании.
В консоли: --cplxblur <float>
В MediaInfo: cplxblur=<float>
Значение по умолчанию: 20
См. также: --qcomp, --qblur
Reduce fluctuations in QP (after curve compression)
Временное сглаживание параметров квантизации. Похоже на --cplxblur, только используется не до, а после curve compression (--qcomp).
Диапазон: 0..99
Примечание: Данный параметр задействуется только при двухпроходном кодировании.
В консоли: --qblur <float>
В MediaInfo: qblur=<float>
Значение по умолчанию: 0.5
См. также: --qcomp, --cplxblur
Tweak the bitrate of regions of the video
Зоны позволяют Вам предопределить области видео, для которых Вы можете указать отдельные опции кодирования.
Рекомендации: Полезно для "простых" титров.
Опции:
Существует две обязательные опции. Можно задать только одну из них для
каждой zone, и они обязательно должны быть заданы первыми:
b=
устанавливает битрейт на зону. Указывает на сколько процентов изменить
битрейт (b=1 - без изменений, b=0.2 снизить битрет до 20% от исходного).
Применяется для сверх-быстрых и мало активных сцен.
q= устанавливает постоянный квантизер на зону. Полезная установка для определённого диапазона кадров.
Другие доступные опции:
ref=<integer>
b-bias=<integer>
scenecut=<integer>
no-deblock
deblock=<integer>:<integer>
deadzone-intra=<integer>
deadzone-inter=<integer>
direct=<string>
merange=<integer>
nr=<integer>
subme=<integer>
trellis=<integer>
no-chroma-me
no-dct-decimate
no-fast-pskip
no-mixed-refs
psy-rd=<float>:<float>
me=<integer>
no-8x8dct
b-pyramid=<string>
crf=<float>
Ограничения:
Количество референсных кадров никогда не должно превышать значения, которое было установлено первоначально.
Scenecut не может быть включен и выключен.
Merange не может превысить то значение, которое первоначально было определено для --me esa/tesa.
Subme нельзя изменить, если изначально было выбран 0.
Вы не можете установить esa или tesa для --me, если --me было изначально установлено как dia, hex, или umh.
Пример: 0,1000,b=2/1001,2000,q=20,me=3,b-bias=-1000
Примечание: значения b, которые больше/меньше стандартного на 100%, скорее всего приведут к полному искажению видео.
В консоли: --zones
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Force frametypes and QPs for some or all frames
Ручная отмена стандартного ratecontrol. Просто указываем на файл, который содержит значения квантизера и frametype для каждого кадра.
Формат: "framenum frametype quantizer".
Например:
0 I 18 < IDR (key) I-frame
1 P 20 < P-frame
2 B 22 < Referenced B-frame
3 i 21 < Non-IDR (non-key) I-frame
4 b 18 < Non-referenced B-frame
5 k 18 Kayframe
В консоли: --qpfile <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Partitions to consider
x264 разбивает каждый кадр на части(макроблоки), и кодирует каждую отдельно. Этот параметр позволяет задать дополнительные параметры разбиения для каждого типа кадров.
Доступные partitions: p8x8(включает в себя p16x8/p8x16), p4x4(включает в себя p8x4/p4x8), b8x8(включает в себя b16x8/b8x16), i8x8, i4x4
Вы можете также установить none(отключить все) или all(включить все).
Рекомендации: Значение по умолчанию - оптимально. Для получения максимально качества можно использовать all, но скорее всего будет не лучше чем используя значение по умолчанию.
Примечание: p4x4
вообще то не очень полезен и его применение значительно снижает
скорость кодирования при незначительном повышении качества изображения.
Для HD видео лучше вообще не использовать.
i8x8 может использоваться только в High Profile
В консоли: -A, --partitions <string>
В MediaInfo: analyse=<string>
Значение по умолчанию: p8x8,b8x8,i8x8,i4x4
См. также: --no-8x8dct
Direct MV prediction mode
Определяет метод нахождения векторов движения.
Доступные методы:
none - отключает поиск векторов движения.
spatial - использует для поиска соседние блоки одного кадра. Может повысить PSNR.
temporal - использует для поиска блоки соседних кадров. Немного лучше предыдущего.
auto - сам выбирает какие блоки использовать.
Примечание: auto лучше всего подходит для двухпроходного режима, но так же может использоваться и при однопроходном. auto нужно задавать во время обоих проходов, иначе второй проход будет автоматически использовать temporal.
Использовать none крайне не рекомендуется.
Рекомендации: auto – для двухпроходного режима, и spatial - при кодировании с CRF
В консоли: --direct <string>
В MediaInfo: direct=<integer>
Значение по умолчанию: spatial
Disable weighted prediction for B-frames
Позволяет "взвешивать" ссылки на B-кадры. Управляя, таким образом, тем, на сколько каждая ссылка будет влиять на предполагаемое изображение. Эта опция отключает данную возможность.
В консоли: --no-weightb
В MediaInfo: weightb=<integer>
Значение по умолчанию: Отключено
Weighted prediction for P-frames
Взвешенное предсказание яркости для P-кадров, которое улучшает затухания и градиенты цвета (небо и т. п.).
Варианты:
0 - отключено
1 - оценка затуханий
2 - оценка затуханий и поиск референсных дубликатов
В консоли: --weightp <integer>
В MediaInfo: weightp=<integer>
Значение по умолчанию: 2
Integer pixel motion estimation method
Устанавливаем метод оценки движения полного пикселя.
Методы:
dia
(diamond, ромб) - простейший поиск, начиная с одного пикселя одного
кадра, начинают просматриваться соседние пиксели на соседнем кадре, на
один пиксель выше, правее, ниже и левее. Выбирается наиболее вероятно
сдвинувшийся пиксель и процесс повторяется до тех пор, пока не будет
найден лучший пиксель или пока не будет достигнут предел диапазона
поиска движения
hex (hexagon,
шестиугольник) - состоит из подобной стратегии, но использует для поиска
6 окружающих точек, отсюда и название - шестиугольник. Значительно
эффективней, чем dia, но немного медленнее. Оптимален для повседневного
кодирования.
umh (неравный
мультишестиугольник) - значительно медленнее, чем hex, но ищет используя
сложную модель мультишестиугольника. Лучше предыдущего, способен найти
сложные векторы движения, ценой потери скорости кодирования. В отличие
от предыдущих алгоритмов, в этом, и во всех последующих, опция --merange задает не количество итераций, а радиус, в пределах которого будет искаться пиксель.
esa
(exhaustive, исчерпывающий) - высокооптимизированный интеллектуальный
поиск на всей области поиска векторов движения, в пределах лучшего
merange предсказания. Это математически эквивалентно методу поиска
перебором, для каждого вектора движения в этой области, но быстрее. Этот
метод значительно медленнее чем umh, но не дает значительного повышения
качества, поэтому не рекомендован для повседневного кодирования.
tesa
(transformed exhausive, преобразовано-исчерпывающий) - алгоритм,
который пытается улучшить эффект Hadamard преобразования, сравнивая с
каждым вектором движения. Похож на esa, но немного лучше и немного
медленнее.
Рекомендации: umh
В консоли: --me <string>
В MediaInfo: me=<string>
Значение по умолчанию: hex
См. также: --merange
Maximum motion vector search range
Определяет максимальное количество попыток (с измененными данными) нахождения оптимального варианта при поиске вектора движения макроблока. Чем больше, тем лучше качество.
Рекомендации: Стандартное значение для SD видео и 24
для HD видео. Падение скорости не стоит выигрыша в качестве, времени
кодирования уже после 32.
Желательно использовать значения кратные 4-м.
Примечание: Для umh, esa и tesa, увеличение merange значительно замедлит кодирование.
Для dia и hex диапазон значений: 4..16.
В консоли: --merange <integer>
В MediaInfo: me_range=<integer>
Значение по умолчанию: 16
См. также: --me
Maximum motion vector length
Устанавливает максимальный радиус вектора движения для каждого пикселя.
Рекомендации: Лучше вообще не изменять.
Примечание: Этот параметр влияет на --level, и определен стандартом H.264.
Для Level 1/1b = 64
Для Level 1.1-2 = 128
Для Level 2.1-3 = 256
Для Level >3.1 = 512
В консоли: --mvrange <float>
В MediaInfo: Не отображается
Значение по умолчанию: -1 (auto)
См. также: --mvrange-thread
Minimum buffer between threads
Задаем минимальный размер буфера между потоками(ядрами) для векторов движения.
Рекомендации: Ни в коем случает не трожте эту опцию.
В консоли: --mvrange-thread <integer>
В MediaInfo: Не отображается
Значение по умолчанию: -1 (auto)
См. также: --mvrange
Subpixel motion estimation and mode decision
Задаем сложность оценки подпикселя. Уровни 1-5 просто управляют силой обработки подпикселя. Уровень 6 допускает RDO для режима предсказания, и уровень 8 допускает RDO для векторов движения и intra режимов предсказания.
Уровни:
0 - fullpel only (не рекомендуется)
1 - метод предсказания SAD, одна QPel итерация
2 - метод предсказания SADT
3-5 - постепенное увеличение QPel
6 - метод предсказания RD для I-/P- кадров
7 - метод предсказания RD для всех типов кадров
8 - RD обработка для I-/P- кадров
9 - RD обработка для всех типов кадров
10 - QP-RD (требует: --trellis 2 и --aq-mode >0)
11 - Full RD - новая опция, необходимая для будущего --trellis режима
Рекомендации: Стандартное значение или выше
Примечание: Чем выше уровень, тем ниже скорость кодирования.
В консоли: -m, --subme <integer>
В MediaInfo: subme=<integer>
Значение по умолчанию: 7
Strength of psychovisual optimization
Psy-RDO позволяет экономно, с точки зрения битрейта, закодировать шумы видеоряда и значительно повысить детализацию изображения. Зернистость большинства видеоматериалов создаёт эффект большей детализации изображения, но после воздействия шумоподавляющих фильтров происходит замыливание изображения. Psy-RDO позволяет регулировать силу психовизуальной адаптации высокочастотных деталей изображения по следующему сценарию: вместо кодирования мелких деталей максимально приближенными к исходному материалу, Psy-RDO кодирует их максимально похожими на источник удобным с точки зрения битрейта способом, повышая таким образом детализацию изображения и несколько завышая показатели шума в PSNR. При этом мелкие детали не замыливаються, а заменяются похожими и выгодными кодеку структурами. Этот метод требует дополнительного битрейта в меньших объёмах при значительном повышении детализации изображения.
Рекомендации: оставьте всё по умолчанию, хотя для многих исходных материалов вполне приемлемы значения 1.0:0.15 при условии установки --aq-strength 0.7..1.2 и --trellis 2
Примечание: Психовизуальный метод имеет два параметра настройки:
Первый параметр - сила психовизуальной адаптации PSY-RDO (требует активации, чтобы --subme >-6).
При PSY-RDO = 0 кодек отключает специфическую психовизуальную адаптацию
вовсе. При этом кодек использует старую ssd метрику, которая стремится к
большей точности, но не похожести мелкой детализации. Увеличение
параметра PSY-RDO повышает детализацию и зернистость изображения,
уменьшение наоборот их снижает. Следите за этим параметром внимательно,
не допуская перешарпности изображения и таким образом ещё и экономя
битрейт.
Второй параметр - сила Psy-Trellis. Чтобы использовать требуется --trellis >=1.
Отметьте, что Psy-Trellis всё еще считают 'экспериментальной', и не
рекомендуется, чтобы Вы использовали для реального кодирования, хотя
кодирует всё же. При этом не повышайте величину Psy-Trellis более 0.5,
хотя бы в начале.
В консоли: --psy-rd <float>:<float>
В MediaInfo: psy_rd=<float>:<float>
Значение по умолчанию: 1.0:0.0
См. также: --no-psy
Disable all visual optimizations that worsen both PSNR and SSIM
Отключаем все психовизуальные методы.
Примечание: Это снизит PSNR и SSIM.
В консоли: --no-psy
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --psy-rd
Don't decide references on a per partition basis
Позволяет каждой 8x8 частице, в макроблоке, независимо выбирать связанный (референсный) кадр, в отличие от обычного метода, где только один референсный вектор на макроблок. Немного снижает скорость кодирования. Эта опция отключает эту возможность.
В консоли: --no-mixed-refs
В MediaInfo: mixed_ref=<integer>
Значение по умолчанию: Отключено
См. также: --ref
Ignore chroma in motion estimation
Обычно, оценка движения производится, как для яркостного так и для цветоразностных сигналов. Данная опция позволяет отключить оценку движения сигнала цветности для небольшого увеличения скорости кодирования.
В консоли: --no-chroma-me
В MediaInfo: chroma_me=<integer>
Значение по умолчанию: Отключено
Disable adaptive spatial transform size
Запрещает умное использование преобразований 8x8 в I-кадре.
В консоли: --no-8x8dct
В MediaInfo: 8x8dct=<integer>
Значение по умолчанию: Отключено
См. также: --partitions
Trellis RD quantization
Выполняет треллис квантование для повышения эффективности сжатия. На всех решениях, кроме 0, скорость падает очень сильно.
Варианты:
0 - отключено
1 - только на макроблоках
2 - везде
Рекомендации: 2, но при условии совместной работы с psy-trellis, иначе происходит незначительное замыливание мелких деталей. Требует включенного CABAC.
Примечание: Вариант 1 - хороший компромисс между падением скорости и повышением эффективности.
В консоли: -t, --trellis <integer>
В MediaInfo: trellis=<integer>
Значение по умолчанию: Отключено
Disables early SKIP detection on P-frames
Быстрый пропуск определения P-кадров повышает скорость, но может вызвать небольшую блочность в местах, где есть непрерывная цветовая гамма или лёгкий градиент (тёмные сцены или небо).
Рекомендации: Используйте (то есть отключайте) при кодировании в --crf
Примечание:
На низких битрейтах даст небольшое улучшение качества, ценой сильного
падения скорость кодирования. На высоких битрейтах, незначительно влияет
как на качество, так и на скорость кодирования.
Включение этой опции отключит быстрый пропуск.
В консоли: --no-fast-pskip
В MediaInfo: fast_pskip=<integer>
Значение по умолчанию: Отключено
Disables coefficient thresholding on P-frames
Кодер пишет видеопотоку все анализируемые блоки DCT. В результате на следующий этап компрессии подаётся оптимизированный сигнал. Если эту трансформацию отключить, то можно выиграть в детализации при двухпроходном кодировании, поскольку у кодека за 2 прохода появляется возможность оценить весь видеоряд.
Рекомендации: Используйте (то есть отключайте) при кодировании в --crf.
Примечание: Эта опция отключает данную функцию.
В консоли: --no-dct-decimate
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Noise reduction
Оценивает шумность фильма и, основываясь на этом значении, пытается удалить шум с минимальными потерями деталей перед квантованием. Это далеко не лучший способ удаления шума (внешние фильтры дают лучшее качество), зато очень быстрый.
Рекомендации: По умолчанию или (100..1000 для шумоподавления)
В консоли: --nr <integer>
В MediaInfo: nr=<integer>
Значение по умолчанию: Отключено
Set the size of the inter luma quantization deadzone
Установит inter (внешний) размер luma-квантизеру deadzone.
Диапазон: 0..32
В консоли: --deadzone-inter <integer>
В MediaInfo: deadzone=<integer>
Значение по умолчанию: Отключено
См. также: --deadzone-intra
Set the size of the intra luma quantization deadzone
Установит intra (внутренний) размер luma-квантизеру deadzone.
Диапазон: 0..32
В консоли: --deadzone-intra <integer>
В MediaInfo: deadzone=<integer>
Значение по умолчанию: Отключено
Preset quant matrices
Позволяет использовать заранее заданные матрицы квантования. В последних версиях кодека х264 категорически запрещено применять матрицы квантования, поскольку данная функция обеспечивается функцией адаптивного квантования --aq-mode.
В консоли: --cqm <string>
В MediaInfo: cqm=<integer>
Значение по умолчанию: Flat (отключено)
См. также: --cqmfile
Read custom quant matrices from a JM-compatible file
Читает матрицы квантования из JM-совместимого файла (игнорируются другие заданные --cqm параметры).
В консоли: --cqmfile <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --cqm
Set all 4x4 quant matrices
Нет описания.
В консоли: --cqm4
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --cqm, --cqm-file, --cqm8, --cqm4i, --cqm4iy
Set all 8x8 quant matrices
Нет описания.
В консоли: --cqm8
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --cqm, --cqm-file, --cqm4, --cqm4i, --cqm4iy
Set both luma and chroma quant matrices
Нет описания.
В консоли: --cqm4i, --cqm4p, --cqm8i, --cqm8p
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --cqm, --cqm-file, --cqm4, --cqm4iy
Set individual quant matrices
Нет описания.
В консоли: --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --cqm, --cqm-file, --cqm4, --cqm4i
Specify crop overscan setting
Как отображать overscan.
Рекомендации: crop перед кодированием и show если выше устройство воспроизведения поддерживает это, если нет, то можно проигнорировать.
Допустимые значения:
undef - не задано.
show - заставляет отображать все изображение. Учитывается при кодировании.
crop - указывает, что изображение приспособлено для воспроизведения на устройствах с overscan. Не всегда учитывается.
В консоли: --overscan <string>
В MediaInfo: Не отображается
Значение по умолчанию: undef
Specify video format
Указывает тип входного видео.
Допустимые значения:
component
pal
ntsc
secam
mac
undef
Рекомендации: В зависимости от вашего видео. Только если необходимо.
В консоли: --videoformat <string>
В MediaInfo: Не отображается
Значение по умолчанию: undef
Specify full range samples setting
Указывает на принудительное использование полного спектра яркости(luma) и цветности(chroma). Если off, то будет использоваться только ограниченный диапазон.
Допустимые значения: on, off
Рекомендации: Если ваше видео оцифровка аналогового, то установите этот параметр в off. В остальных случаях выставляйте on.
В консоли: --fullrange <string>
В MediaInfo: Не отображается
Значение по умолчанию: off
Specify color primaries
Задаем исходную цветовую модель для конвертирования ее в RGB.
Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Доступные значения:
undef
bt709
bt470m
bt470bg
smpte170m
smpte240m
film
В консоли: --colorprim <string>
В MediaInfo: Не отображается
Значение по умолчанию: undef
Specify transfer characteristics
Устанавливает какую оптико-электронную передачу использовать.
Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Примечание:
undef
bt709
bt470m
bt470bg
linear
log100
log316
smpte170m
smpte240m
В консоли: --transfer <string>
В MediaInfo: Не отображается
Значение по умолчанию: undef
Specify color matrix setting
Устанавливаем коэффициенты матриц, использующиеся при выводе яркости и цветности из RGB.
Рекомендации: По умолчанию, разве что вы знаете какое было использовано во входном видео.
Примечание:
undef
bt709
fcc
bt470bg
smpte170m
smpte240m
GBR
YCgCo
В консоли: --colormatrix <string>
В MediaInfo: Не отображается
Значение по умолчанию: undef
Specify chroma sample location
Устанавливает позицию образца цветовой насыщенности.
Рекомендации:
Если Вы кодируете из MPEG1 с
правильным сабсемплингом 4:2:0 и без каких либо преобразований цветов,
вы должны установить значение 1.
Если Вы кодируете из MPEG2 с
правильным сабсемплингом 4:2:0 и без каких либо преобразований цветов,
вы должны установить значение 0.
Если Вы кодируете из MPEG4 с
правильным сабсемплингом 4:2:0 и без каких либо преобразований цветов,
вы должны установить значение 0.
Во всех остальных случаях используйте значение по умолчанию.
Примечание: Диапазон: 0..5
В консоли: --chromaloc <integer>
В MediaInfo: Не отображается
Значение по умолчанию: 0
Signal HRD information
Задаем HDR информацию. Необходимо для Blu-ray, телевизионных потоках и в некоторых других специализированных областях.
Рекомендации: Не использовать, разве что вам нужна эта информация.
Допустимые значения:
none - не записывать HDR информацию
vbr - записывать HDR информацию
cbr - записывать HDR информацию и запаковывать видеопоток в битрейт, указанный в --bitrate. Только при кодировании в постоянный битрейт.
Примечание: Требует включенного --vbv-bufsize
В консоли: --nal-hrd <string>
В MediaInfo: Не отображается
Значение по умолчанию: none
См. также: --vbv-bufsize, --vbv-maxrate, --aud
Force pic_struct in Picture Timing SEI
Force sending pic_struct in Picture Timing SEI.
Примечание: Подразумевает использование --pulldown или --tff/--bff.
В консоли: --pic-struct
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Add 'left,top,right,bottom' to the bitstream-level cropping rectangle
Задаем прямоугольную обрезку на уровне видеопотока.
Рекомендации: Необходимо, если вы хотите что бы декодер обрезал видео при проигрывании, но сам видеопоток оставался оригинальным.
В консоли: --crop-rect <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify output file
Устанавливает имя выходного файла.
Рекомендации: Не используйте кириллицу и пробелы.
Примечание:
Можно задать просто имя выходного файла, к примеру: out.mkv. Тогда файл
сохранится в домашнюю директорию. А можно задать полный путь, для того
что бы готовый файл сохранился в определенную директорию. К примеру:
C:\Movies\out.mkv.
В консоли: -o, --output <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify output container format
Задаем контейнер для выходного файла.
Доступные контейнеры:
raw
mkv
flv
mp4
Примечание:
При использовании значения по умолчанию, контейнер будет выбран на
основе имени выходного файла. То есть, если вы задали имя вида: out.mkv,
то контейнером в этом случае будет mkv и т. д.
В консоли: --muxer <string>
В MediaInfo: General -> Format: <string>
Значение по умолчанию: auto
См. также: --output
Specify input container format
Устанавливаем тип демуксера и декодера для x264, которые будут обрабатывать входное видео.
Доступные варианты:
auto
raw
y4m
avs
lavf
ffms
Примечание:
Если у выходного видео переменный фремрейт, а должен быть постоянный,
значит демуксер и декодер были выбраны не правильно. Если это происходит
даже с параметром auto, то можно попробовать задать фремрейт с помощью --fps. Если вам нужен специальный переменный фремрейт, Вы можете задать его через --tcfile-in.
В консоли: --demuxer <string>
В MediaInfo: Не отображается
Значение по умолчанию: auto
См. также: --input, --muxer
Specify input file format
Задаем формат входного видео.
Примечание: Необходима поддержка lavf.
В консоли: --input-fmt <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify input colorspace format for raw input
Задаем какое пространство цветов использовано в входном RAW видео.
Поддерживаемые цветовые пространства для RAW демуксеров:
i420
yv12
nv12
i422
i444
bgr
bgra
rgb
Примечание:
Хоть в списке и есть RGB, но видео все равно будет сначала
сконвертировано в YUV, используя bt601 матрицы, а потом уже
скодированно.
В консоли: --input-csp <string>
В MediaInfo: Не отображается
Значение по умолчанию: i420
См. также: --input-res
Specify output colorspace
Задаем цветовое пространство для выходного видео.
Допустимые значения:
i420
i422
i444
rgb
В консоли: --output-csp <string>
В MediaInfo: Не отображается
Значение по умолчанию: i420
См. также: --input-csp
Specify input bit depth for raw input
Задаем битовую глубину для входного RAW видео.
В консоли: --input-depth <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify input resolution
Задаем разрешение входного видео.
Примечание: Необходимо, если x264 неверно определил разрешение или аспект.
Пример: --input-res 720x480
В консоли: --input-res <integer>x<integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Filename for input index file
Задаем путь к файлу в который будет записываться информация о индексировании видео.
Рекомендации: Обычно не нужно.
Примечание: Опция срабатывает только при наличии --demuxer ffms.
В консоли: --index <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify Sample Aspect Ratio
Записывает размер не квадратного пикселя в видео потоке, который будет использоваться при дальнейшем проигрывании. Это позволяет производить анаморфное кодирование. Человеческий глаз в большей степени чувствителен к вертикальному разрешению, чем к горизонтальному, когда кодируют MPEG2-поток из DVD, этим пользуются и, сохраняя вертикальное разрешение, интерполируют горизонтальное. В этом и суть анаморфного разрешения при кодировании видео: вместо того, чтобы тратить битрейт на горизонтальные пиксели, риппер устанавливает вертикальное разрешение 1:1, а на горизонтальном экономит за счёт анаморфной интерполяции. Человеческому глазу сложно с расстояния отличить "честные" 1024x576 от тех же 1024x576 интерполированных из 720x576. Если рип был сделан с DVD, то вместо того, чтобы делать масштабирование с потерей части информации по вертикали, AVC поток можно кодировать и хранить в контейнере в том разрешении, которое было на DVD, а в самом контейнере с фильмом устанавливается флаг, который точно указывает в каких пропорциях необходимо конкретный фильм воспроизводить. Например, вы хотите создать анаморфный клип с разрешением по вертикали 480. Аспект разрешения у фильма 16:9. Тогда 480х16/9=853.44. В таком случае получим: --sar 853:720.
Примечание: В данном примере не учтены данные Crop.
Например, обрезаем слева и справа по 4 пикселя, сверху и снизу по 2.
Тогда вместо коэффициента (16/9) получим (712/476)/(720/480)*(16/9).
В консоли: --sar <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify framerate
Эта опция задает количество кадров в секунду (фреймрейт) для кодируемого видео (если автоматически не определилась, установите сами).
Примечание: Стандартные фреймрейты: 23.976(тоже что и 24000/1001), 24, 25, 29.97(тоже что и 30000/1001), 30, 50.97, 60.
В консоли: --fps <float>
В MediaInfo: Не отображается
Значение по умолчанию: autodetected
First frame to encode
Задаем номер кадра с которого начнется кодирование.
В консоли: --seek <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Maximum number of frames to encode
Задаем количество кадров, которые будут скодированы. Начиная с первого, или с заданного параметром --seek.
В консоли: --frames <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify level
Устанавливает уровень выходного потока (определено стандартом H.264).
Допустимые уровни: 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1.
Примечание:
Если вы самостоятельно не зададите --level, то он будет определен
автоматически. Но так как автоопределение не идеально, то лучше всегда
самостоятельно задавать нужный вам уровень. Заметьте, что некоторые
параметры будут строго лимитированы выбранным вами уровнем. Например
количество референсных кадров (--ref). Это очень
важный параметр для аппаратной совместимости. Уровень 4.1 - это
максимум, который поддерживается такими устройствами, как Xbox 360,
Playstation 3, "железными" Blu-ray плеерами и аппаратными декодерами на
ПК. В то же время, мобильные устройства редко поддерживают уровень выше
3.1. Что бы точно определить нужный вам уровень - можете воспользоваться
этой таблицей.
В консоли: --level <string>
В MediaInfo: Format profile :=<string>
Значение по умолчанию: -1 (auto)
См. также: --ref
Enable compatibility hacks for Blu-ray support
Включаем совместимость с Blu-ray.
В консоли: --bluray-compat
В MediaInfo: bluray_compat=<integer>
Значение по умолчанию: Отключено
Print stats for each frame
Включает отображение статистики о каждом кадре.
В консоли: -v, --verbose
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Don't show the progress indicator while encoding
Не показывать прогресс кодирования.
В консоли: --no-progress
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Quiet Mode
Включаем "тихий" режим кодирования.
Примечание: Отключает вывод информации в консоль.
В консоли: --quiet
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify the maximum level of logging
Задаем уровень детальности лога кодирования.
Допустимые значения:
none
error
warning
info
debug
В консоли: --log-level <string>
В MediaInfo: Не отображается
Значение по умолчанию: info
Enable PSNR computation
Включаем расчёт PSNR.
В консоли: --psnr
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Enable SSIM computation
Включаем расчёт SSIM.
В консоли: --ssim
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Force a specific number of threads
Задаем количество потоков кодирования.
Рекомендации: Для увеличения скорости кодирования -
это число должно быть равно числу виртуальных или физических ядер
процессора; т.е. нужно устанавливать --threads 2 на одноядерном процессоре с hyper-threading (HT), или на двух ядерном процессоре. На данный момент, максимальное количество потоков ограничено 128-и.
Примечание:
Это значительно уменьшит скорость кодирования, если число потоков
выбрано больше, чем количество имеющихся ядер процессора. В некоторых
случаях, HT, также может уменьшить скорость кодирования. Наравне с
увеличением скорости, использование нескольких потоков может
незначительно уменьшить качество кодирования. Так как, кадр разбивается
на слайсы, которые кодируются независимо и поэтому могут не иметь
референсных связей.
В консоли: --threads <integer>
В MediaInfo: threads=<integer>
Значение по умолчанию: auto
См. также: --thread-input, --sliced-threads
Force a specific number of lookahead threads
Разделяем каждый вызов lookahead-кадра на несколько потоков. Слегка влияет на качество, но не всегда в худшую сторону.
Примечание: Помогает избежать проблем при большом
количестве потоков и кадров. В большинстве случаев - позволяет сильно
прибавить к производительности на многоядерных процессорах. К примеру:
при кодировании с --preset veryfast
на 12-и ядрах процессора Intel i7 скорость кодирования на 100% выше.
Также дает возможность кодировать в реальном времени 1080p30 видео.
В консоли: --lookahead-threads <integer>
В MediaInfo: Не отображается
Значение по умолчанию: значение lookahead threads равно 1/6 от количества потоков. С включенным --sliced-threads равно количеству потоков.
См. также: --threads, --sliced-threads
Low-latency but lower-efficiency threading
Активируем sliced-threads. Этот метод многопоточного кодирования имеет низкий уровень сжатия и дает большое количество ошибок. Но дает большой прирост к скорости кодирования, что применимо при потоковом вещании. По этому он используется в --tune zerolatency.
Рекомендации: Только для потокового вещания.
Примечание:
На мощных системах может позволить кодирование в реальном времени, то
есть скорость кодирования будет выше, чем скорость воспроизведения
самого кодируемого видео.
В консоли: --sliced-threads
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Run Avisynth in its own thread
Запускает Avisynth в отдельном потоке.
Рекомендации: Включайте, если количество ядер у вашего процессора больше 1-го.
Примечание: Декодирует входное видео в отдельном потоке.
В консоли: --thread-input
В MediaInfo: Не отображается
Значение по умолчанию: auto
Number of buffer frames for threaded lookahead
Задаем количество кадров, которые будут использоваться как буфер для lookahead.
Рекомендации: Установка значения в 0 отключит эту
опцию. Это даст немного большее качество с меньшим количеством ошибок,
на отрицательно скажется на производительности.
Примечание: Автоматически отключается при втором и последующих, проходах, или когда включен sliced-threads. Добавляет +1 к количеству --bframes. Максимальное значение: 250.
В консоли: --sync-lookahead <integer>
В MediaInfo: Не отображается
Значение по умолчанию: auto
Slightly improve quality of SMP, at the cost of repeatability
Немного увеличивает качество при многопоточном кодировании, ценой использования недетерминированного кодирования. Используются многопоточные векторы движения и полностью используется буфер lookahead.
В консоли: --non-deterministic
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --threads
Override CPU detection
Принудительно включить использование оптимизаций процессора.
Примечание: Может помочь в поиске различных проблем.
В консоли: --asm
В MediaInfo: Не отображается
Значение по умолчанию: auto
Disable all CPU optimizations
Кодер использует продвинутые SIMD (Single Instruction, Multiple Data) инструкции, включив которые можно получить немалую прибавку к скорости.
Примечание: Отключение некоторых оптимизаций может помочь в поиске различных проблем.
В консоли: --no-asm
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Show MB types overlayed on the encoded video
Отладочная опция. Используется для понимания того, что происходит в кадре.
В консоли: --visualize
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Save reconstructed frames
Помещает дамп всех реконструированных YUV каров в определенный файл.
Примечание: Полезно только для поиска проблем у енкодера.
В консоли: --dump-yuv
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Set SPS and PPS id numbers
Устанавливает SPS (последовательный параметр установки) и PPS (картинный параметр установки) идентификационные номера.
В консоли: --sps-id <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Use access unit delimiters
Используется для совместимости, когда AVC помещают в транспортные потоки (включая MPEG-2 TS).
В консоли: --aud
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Force constant framerate timestamp generation
Если используется FFMS2 или lavf демуксеры, таймкод копируется из входного файла в выходной. Эта опция запрещает копирование и заставляет энкодер самостоятельно генерировать собственный таймкод.
Рекомендации: Желательно использовать в паре с --fps.
В консоли: --force-cfr
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Force timestamp generation with timecode file
Задаем файл с таймкодом, который будет использоваться для правильной интерпретации фреймрейта входного видео.
В консоли: --tcfile-in <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
См. также: --tcfile-out, --force-cfr, --fps
Output timecode v2 file from input timestamps
Задаем путь для сохранения файла содержащего таймкод, полученный из входного таймкода.
Рекомендации: Используйте если вы кодируете с переменным фремрейтом, и хотите сохранить полученный такмкод.
В консоли: --tcfile-out <string>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Specify timebase numerator and denominator
Позволяет задавать пользовательский таймкод.
Примечание: Конфликтует с режимом --force-cfr.
В консоли: --timebase <integer>
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Eliminate initial delay with container DTS hack
Хак, используемый для FLV и MP4 контейнеров, позволяющий обойти баги декодеров, которые поддерживают только положительный/последовательный DTS.
Примечание: DTS (Decode TimeStamp). Каждый кадр
имеет свой DTS, который содержит информацию о позиции кадра во время
кодирования. В отличии от порядка отображения кадров, который называется
PTS (Presentation TimeStamp). Порядок кадров содержащихся в потоке
отличается от порядка отображение кадров при воспроизведения. Это
связано с тем, что x264 применяет такие техники сжатия как B-кадры, что
означает, что кадру необходима информация о кадре, который будет
отображен позже.
В консоли: --dts-compress
В MediaInfo: Не отображается
Значение по умолчанию: Отключено
Примечание по типам
integer - целочисленные значения.
float - значения с плавающей точкой.
string - строковые значения.

