17:17 Создаём свой профиль для видеоконвертера XMedia Recode | |
Как сделать свой профиль для видеоконвертера XMedia Recode? С чего бы начать... Всё началось с того, что я не так давно увлёкся сжатием видео. Реклама на видеосайтах надоела, они становились всё наглее и наглее, и вот однажды появилась идея скачивать фильмы и сериалы напрямую с торрентов. После первого же скачанного фильма я обнаружил, что никакой рекламы там нет, а качество картинки падает не намного, даже если сжать фильм\сериал в 720\480p. Сейчас конечно какой-нибудь графодрочер выскачет и начнёт мол - Фильмы и сериалы ниже 1080p - ниочем. Я всё конечно понимаю, красивая картинка, прекрасный звук, НО сейчас пошли такие фильмы, которые как бы вообще ниочем, а занимают на жестком диске по 15+гигов. Итак, с чего начнём? Ах, да. Нам потребуется установленная программа видеоконвертер XMedia Recode. Скачать её можно по ссылке (XMedia-Recode.de). Это официальный сайт. Немецкий. После установки программы, заходим в директорию C:\Program Files (x86)\XMedia Recode. Там мы увидем 5 папок и кучу файлов. Нас интересует лишь 2 папки - это Format (в ней хранятся все поддерживаемые форматы с настройками внутри) и Profile (в ней, как понятно из названия папки, хранятся все профили).
Так вот, берем в отдельной папке наш скопированный .ini файл и первым делом переименовываем его как нам удобнее. Он потом будет валятся в папке с другими профилями, а так же содержать наши пресеты (под любой удобный случай). В принципе название может быть любое, я назвал его Test. Дальше нам понадобится внести в него коррективы. Открываем этот файл и видим там что-то вроде: [Preset] Как вы наверное уже догадались, Manufacturer= отвечает за название нашего профиля, которое будет отображаться в программе. Его имеет смысл переименовать во что-нибудь более приятное. Если хотите его назвать своим именем - валяйте. Я же назову его (к примеру) Test. А для того, чтобы он был впереди списка профилей для удобства (а в XMedia Recode их очень много), лучше вначале добавить какой-нибудь знак, вроде восклицательного. Итого у меня получилось название профеля !Test. Далее Name1=Kindle Fire HD 8.9 и т.д. Изменяем поле после Name1=, на любое удобное. Это будут названия наших пресетов (если их будет несколько). И кстати, хоть здесь есть "Name1,2,3", но эти строки не влияют на то, в каком порядке будут отображаться наши пресеты. Если мы хотим, чтобы наши пресеты шли строго по нужному нам списку, то желательно ставить перед названием пресета - номер. К примеру: Name1=1 Сериалы В таком случае у нас будет четкий список. И да, каждый раз к Name добавляется следующая по очереди цифра, дабы программа грамотно понимала наш профиль. И теперь самое главное. Под Name# строкой есть еще одна строка. Она будет отвечать за наш .xmrpres файлик, который мы скопировали ранее. В нем хранятся настройки кодека. Название может быть любое, но желательно без пробелов и кириллицы. В самой программе оно обозначатся никак не будет. У над должно получится что-то вроде этого [Preset] Name1=1 Сериалы Name2=2 Фильмы Name3=3 Анимация Сохраняем файл и откладываем в сторону.
После открытия файла мы увидем кучу настроек и опций. Все эти настройки касаются видео и аудио кодеков, а так же того контейнера, в который они будут упаковываться. Дальше нам нужно на время отложить открытый только что файл .xmrpres в сторону, и снова вернутся к папкам видеоконвертера. В этот раз нас интересует папка Format. Открыв её - ищем нужный нам контейнер. Самый распространённый сейчас - mp4 (или mkv - они в общем-то похожи), который обычно совмещает h264 видеокодек с AAC аудиокодеком. Находим mp4.ini файл и открываем его. Далее делаем всё очень просто - Ctrl+A (выделить всё), Ctrl+C (скопировать), переходим в наш файл .xmrpres и копируем всё туда Ctrl+V. Теперь его желательно сохранить, чтобы ничего не потерялось (а еще лучше сделать парочку копий этого файла для разных ситуаций (фильм\сериал и т.д.). Закрываем mp4.ini файл (он нам больше не понадобится) и возвращаемся к нашему .xmrpres.
GOPSize и остальные GOP - обходим стороной, трогать их не желательно. НАША ГЛАВНАЯ ФУНКЦИЯ, КОТОРОЙ НЕТ В MP4.ini файле - выбор метода конвертирования. Добавляем в наш файлик эту функцию: V3BitMode= - По умолчанию включен режим abr (1 проход), но если мы собираемся делать качественное видео, то нам нужен либо 2х проходный вариант, либо crf. abr2pass - Переменный битрейт с 2х проходным режимом кодирования. Я ставлю V3BitMode=abr2pass, но тут всё зависит от ваших предпочтений. Режим ОБЯЗАТЕЛЬНО писать с маленькой буквы, иначе по умолчанию он может не включится. Далее переходим в Bitrate - этот параметр отвечает за основной битрейт нашего видео. V3Profile=2 отвечает за профиль кодека. 1 - означает Main (главный), 2 - High, 3 - High 4.2.2, 4 - High 4.4.4. V3Level=41 отвечает за уровень кодека (более подробно советую почитать в Вики про h264 стандарт). Ставим 41, что соответствует 4.1, подойдет практически для всего, от видео 480p, до 1080p фильмов. V3Preset=1 - Тут я хотел бы ОСОБО обратить ваше внимание к этой функции. Дело в том, что многие сразу же ставят Медленно, Очень Медленно, или даже Плацебо (или Быстро). Всё дело в том, что если мы хотим сами контролировать наш профиль и ставим все настройки ручками, то стоит поставить значение 5 (Средний). Причина в том, Смотрите сами: режим Медленно изменяет наши настройки на b-adapt 2, direct auto, me umh, rc-lookahead 50, ref 5, subme 8, режим Медленнее изменяет на b-adapt 2, direct auto, me umh, partitions all, rc-lookahead 60, ref 8, subme 9, trellis 2, а Очень медленно - b-adapt 2, bframes 8, direct auto, me umh, merange 24, partitions all, ref 16, subme 10, trellis 2, rc-lookahead 60. С плацебо же можно получить вообще кардинально иную картинку, чем ту, что мы настраивали в своём пресете, а самое главное время кодирования увеличится на N-количество часов. Тоже самое будет, если мы поставим любой другой режим ниже Среднего. К примеру Быстрый будет ухудшать наше качество картинки, внося свои коррективы - rc-lookahead 30, ref 2, subme 6, weightp 1, и т.д. Думаю я понятно объяснил. Поэтому, если мы хотим сами контролировать свой пресет (и понимаем что делаем), то ставить нужно Средний (5).
V3BframeMode=1 - Режим обработки B-кадров. Ставим 2 (по идее Auto, но я заметил, что если изменить эту функцию на 1 или 3, то она не влияет на создаваемый пресет. Баг?) V3AdaptiveBFrames=2 Опять же режим связанный с B-кадрами. Этот режим позволяет интеллектуально задействовать B-кадры только там, где они необходимы. Ставим 2 - Оптимальный. V3WeightedBPrediction=1 Опять B-кадры. Взвешенные B-Кадры, лучше включить, поэтому ставим 1 (включить). V3BiDirectionalME=1 - V3BframeBias=0 - Оставляем 0 V3AdaptiveDCT=1 - Анализ макроблоков. Оставляем 1 (включить). Все макроблоки желательно включить для 480p картинки (т.е. =1), и выключить V3P4x4=0 для картинки 720p и выше (качество картинки при этом практически не пострадает, но при этом мы выиграем в скорости кодирования несколько лишних минут). V3MaxBitrate= - Максимальный битрейт, который будет доступен нашему фильму\сериалу. Обычно, чем больше тем лучше, но в допустимых пределах. Чтобы адекватно вписать сюда битрейт, желательно наш ОСНОВНОЙ битрейт, который мы вписывали выше, умножить на 5-10 и вписать сюда (для 700 кбс = 3500\7000кбс). Если ставить выше, то весь наш битрейт уйдёт в динамичные места фильма, отсюда возможны рывки, провалы , заикания и появление кубиков. Поэтому выбирайте с умом. V3VBVBuffer= - Буфер, при котором фильм не начнётся, пока он не заполнится. Вроде нужно умножать наш основной битрейт на 10-20 и вписывать сюда. Т.е. примерно 7000-14000. V3VBVInitialBuffer=0.9 - Процент от буфера, при котором он должен загрузится перед воспроизведением. По умолчанию 0.9, т.е. 90%. V3BitrateVariance=1.0 - Одна из самых важных настроек (для тех кто хочет создать качественное видео). Эта опция отвечает за отклоняемость битрейта от Основного. По умолчанию стоит 1.0, т.е. 1%. Лучше поставить от 15 до 25%, или 15.0 - 25.0. Чем больше будет значение (не советую ставить значение выше этих параметров), тем больше битрейт будет в динамичных сценах. К примеру, если мы сжимаем сериал, в котором есть динамичные сцены, то желательно сразу ставить этот параметр в 15-25%. При этом чуток возрастёт размер файла (в калькуляторе битрейта это обычно не отображается), но картинка там будет куда более эффектной (на такие сцены будет уделяться больше битрейта). V3QuantCompression=0.6 - Компресия. По умолчанию стоит 60%. Вот что пишет об этом VideoRip.info (Регулирует, насколько сильно может колебаться качество в пределах установленного среднего битрейта. Низкие значения уменьшают область колебания битрейта, производя файлы предсказуемого размера, но ухудшают способность кодека адаптироваться к изменению сложных сцен, где потеря деталей может быть не так важна. Высокие значения увеличивают разброс качества, который может улучшить визуальное качество путём уменьшения качества на малозаметных деталях и увеличивая там, где детали более заметны. Значение 0 даст в результате постоянное качество. Установив 1, Вы получите значительные изменения качества на разных участках клипа. Позволяет изменяться среднему квантизеру (т.е. качеству). Низкие значения означают меньшую изменчивость, высокие - большую.) Рекомендую ставить от 0.6 до 0.9. Ставить 1.0 не рекомендую, т.к. в этом случае отключится функция METree. V3MERange=16 - Дальность поиска вектора движения для Макроблоков. Чем больше, тем лучше, НО выше 24 ставить не рекомендую, ибо качество возможно возрастёт, но зато очень серьезно упадёт время кодирования. V3SCDSensitivity=40 - Эта функция связана с четкостью картинки. Пробовал ставить выше 40, эффект был удручающим. Лучше всего оставить как есть, т.е. 40. V3MEAlgorithm=2 - Анализ оценки движения полного пикселя. Лучше всего ставить Шестиугольник (Hexagon) либо Неравный мультишестиугольник (Uneven Multi-Hexagon.) V3WeightedPFrame=2 - Взвешенные P-кадры. Включаем режим 2 - Умный анализ. V3SubPelRefinement=7 - Одна из основных настроек кодека, котороя очень сильно влияет на качество картинки. По умолчанию стоит 7, желательно ставить 9. Значения выше для тех, у кого полно свободного времени (увеличивает время кодирования) и мощный процессор. Скажу сразу, что не всегда значение выше 9 - улучшают картинку. По умолчанию считается, что с каждым повышением этой настройки, качество улучшается, но проводя тесты, я заметил что это не всегда так. V3ChromaME=1 - Включает режим контроля яркости\цветности. Ставим 1. V3MaxQuant=69 - Максимальный параметр квантизера. Чем выше значение, тех хуже картинка. В данном случае лучше оставить 69, но некоторые пользователи даже понижают это значение до 50-60. V3MinQuant=10 - Минимальный параметр квантизера. Чем ниже значение, тем качественнее картинка. Лучше поставить 0, во избежание кубиков в некоторых местах фильма. V3MaxQuantDelta=4 - Сила отклонения квантизера. Оставляем 4. V3IPFactor=1.4 - Соотношение I-кадров к P-кадрам. I-кадры считаются самыми ценными и качественными, после них по качеству идут P-кадры, а после них B-кадры. Эта опция настраивает соотношение. Лучше оставить 1 к 4, т.е. 1.4 V3PBFactor=1.3 - Соотношение P-кадров к B-кадрам. Почти тоже самое, что функция выше. Т.к. B-кадры обычно самого плохого качества, то лучше оставить соотношение 1 к 3. Если увеличить последнее значение, то B-кадры будут еще хуже, а если уменьшить, то может улучшиться качество картинки, правда при этом придётся заплатить дополнительными мегабайтами. Лучше оставить 1.3 V3DeadZoneInter=21 - Оставляем 21 V3AQmode=3 - Режим AQ, который отвечает за распределение битрейта между макроблоками. Лучше поставить 1, т.к. остальные режимы либо тестовые, либо могут испортить картинку. V3AQstrength=1.0 - Сила AQ. Вот что пишет об этом VideoRip.info (Устанавливает силу AQ, для подавления блочности и размытия на "плоских" и текстурированных областях.) V3Trellis=1 - Включаем Треллис, ставим 1. V3NbRefFrames=2 - Устанавливаем количество Референс Кадров. Замечу сразу, что некоторые пользователи ставят этот параметр 10+, не понимая толком за что он отвечает. V3MixedRefs=0 - Смешивать ли Референс Кадры. Скажу сразу - многие включают эту функцию не задумываясь. По идее она позволяет лучше использовать Реф. кадры (независимо), но на тестах иногда заметно падение качества с этой опцией. Поэтому обычно я её отключаю. V3Cabac=1 - Функция оптимизации сжатия видео для производительных компьютеров, которая позволяет сжать видео на дополнительные +20% без потери качества. Фишка в том, что при этой функции сильнее нагружается процессор (видеокарта в случае dxva). V3NoDCTDecimate=0 - Ставим 1 для 2х проходного сжатия (отключаем функцию) и оставляем 0 для одного прохода (т.е. включаем). V3NoFastPSkip=0 - Аналогично функции выше. Ставим 1 для 2х проходов, 0 - для одного прохода. Отвечает за быстрый пропуск P-кадров. V3TrellisStrenght=0.0 - Сила Треллиса о которой мы говорили выше. Лучше оставить 0.0. Эта функция скорее экспериментальная, поэтому её включение может привести к артефактам. V3RDStrenght=1.0 - Информация с сайта VideoRip.info (Psy-RDO позволяет экономно, с точки зрения битрейта, закодировать шумы видеоряда и значительно повысить детализацию изображения. Зернистость большинства видеоматериалов создаёт эффект большей детализации изображения, но после воздействия шумоподавляющих фильтров происходит замыливание изображения. Psy-RDO позволяет регулировать силу психовизуальной адаптации высокочастотных деталей изображения по следующему сценарию: вместо кодирования мелких деталей максимально приближенными к исходному материалу, Psy-RDO кодирует их максимально похожими на источник удобным с точки зрения битрейта способом, повышая таким образом детализацию изображения и несколько завышая показатели шума в PSNR. При этом мелкие детали не замыливаються, а заменяются похожими и выгодными кодеку структурами. Этот метод требует дополнительного битрейта в меньших объёмах при значительном повышении детализации изображения.) V3Deblock=1 - Включает функцию сглаживания лесенок. Работает по умолчанию, отключать не желательно, т.к. может привести к багам. V3AlphaDeblock=0 V3Lookahead=40 - "Предсказание" картинки. По умолчанию 40, но можно повысить до 60 без особого напряга для времени кодирования. Значения выше 100 будут пожирать оперативку (1+гигабайт) и очень сильно замедлять время кодирования. Картинка при этом может стать чуть качественнее. V3MBTree=1 - Включает сложную (умную) обработку макроблоков. Лучше оставить 1. Отключается, если поставить qcomp=1.0 (см. выше) V3NoPsy=0 - Отключает дополнительные психовизуальные фильтры. Нужно тестировать, но включив - можно добавить артефакты на видео. По умолчанию - 0. V3SlicesNb=0 Slice лучше не трогать, оставляем как есть, т.е. 0.
Вот мы и настроили наш x264 видео кодек! Теперь можно занятся настройкой аудио-кодека, для этого нужно пролистать файл вниз и найти там A1Codec=aac (либо A2Codec=libfaac, если нас интересует Faac). Сразу предупреждаю, что Faac использовать не желательно, т.к. он устарел еще в 2009 году и с тех пор не обновлялся.
добавляем такие строчки A1ObjectType=lc Если хотим, чтобы по умолчанию был другой аудио-битрейт, то изменяем 192000 на 128000, 160000, либо 224000 и выше. На этом аудио кодек мы настроили. Следует еще чуток пролистать файл до самого низа, чтобы найти там Тут отображается, какие кодеки будут задействованы по умолчанию при переключении на профиль. По умолчанию выбран наш настроеный выше x264 и faac, аудио-кодек можно изменить на aac вот так: VCodecDefault=libx264
Далее лишь остаётся сделать копии нашего профиля и сохранить их в архиве (на всякий случай, хотя при обновлении программы они не затираются, проверено), а основные файлы закинуть в папку C:\Program Files (x86)\XMedia Recode\Profile (при этом лучше выйти из программы-конвертера).
Приятного конвертирования и отличной картинки!
| |
|
Всего комментариев: 10 | |
| |