Videorip.info

Учимся кодировать видео и делимся опытом

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Bookmark and Share
Обсуждаем настройки, проблемы и особенности кодирования.

ТЕМА: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа

Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 9 мес. назад #218

  • Tempter57
  • Tempter57 аватар
  • Не в сети
  • Эксперт
  • Сообщений: 55
  • Спасибо получено: 77
Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа XviD-ASP
Основной постулат при кодировании XviD: фреймы с квантом "2" не будут выглядеть хуже, чем с "1", поскольку алгоритм управления скоростью кодека не всегда справляется с минимальными квантами "1" хорошо и можно получить негабаритный файл на выходе, кроме того с минимальным квантом "1" кодек делает распределение квантов хуже.
Второй постулат: изображение с квантами 3 по фреймам смотрится тоже хорошо.
Третий постулат: все фреймы с квантизером выше 4 смотрятся плохо из-за высокой степени сжатия.
Четвертый постулат: степень сжатия и соотвественно качества сильно зависит от количества идущих подряд b-frames. Однако следует иметь в виду, что стационарные DVD плееры в состоянии поддерживать только -max_bframes 2.
Пятый постулат: качество B-frames регулируется параметрами -bquant_ratio и -bquant_offset.
B-frames ratio — Множитель (в среднем) окружающих квантов НЕ B-кадров, с этим значением, даст вам квантизер B-кадра (высчитывается, согласно формуле, на сколько должен быть поднят квантизер для B-кадров). Так что, если два смежных кадра имеют кванты 2 и 4, средний квант будет 3. Множитель с соотношением кванта 150 даст вам B-кадр с квантом — 4,5.
Пример: (2 + 4) * 150 / 200 = 4,5 (при условии что B-frames offset=0)
(Квантизер предшествующего НЕ B-кадра + Квантизер следующего НЕ B-кадра) * (B-frames ratio) / 200 (при условии что B-frames offset=0)
Снижать этот параметр не рекомендуется (теряется смысл B-кадров). Повышать Вы можете на своё усмотрение, это повысит сжатие B-кадров (соответственно, снизит их качество) и повысит качество I и P-кадров.

B-frames offset — Смещение квантизера. Возьмите результат расчета выше, а затем добавьте это значение. Со смещением квантизера 200 вы в конечном итоге получите B-кадры с квантом 6,5.
Как правило, повышение последних двух значений, даст Вам B-кадры более низкого качества.
Так вот суть данной методики сводится, как раз к подбору битрейта для вашего исходного видео при двухпроходном кодировании в заданный битрейт, чтобы обеспечить оптимальное качество вашего рипа и не допустить слепое раздувания размера выходного файла. Вам надо подобрать именно битрейт к вашему рипу. а не подгонять его к заданному размеру, тем более, что актуальность записи рипа на оптические носители информации с каждым днём снижается.
1) создаём тестовый пресет кодирования в папке C:\Program Files\XviD4PSP 5\presets\encoding\AVI Hardware\video под именем XviD 2P TEST , в котором специально задаём максимально возможный битрейт 2000 кбит\ с (в конце текста станет ясно для чего) с довольно упрощёнными настройками для увеличения скорости тестирования:
video codec:
XviD

video cli:
-nopacked -bquant_ratio 162 -bquant_offset 0 -max_bframes 1 -qtype 0 -quality 5 -vhqmode 1 -max_key_interval 250 -nochromame -notrellis -turbo
-nopacked -bquant_ratio 162 -bquant_offset 0 -max_bframes 1 -qtype 0 -quality 6 -vhqmode 4 -max_key_interval 250 -bitrate 2000 -imin 1 -pmin 1 -bmin 1

2) Уставливаем в проге XviD 4PSP :

Формат: Avi HardWare
Фильтрация : Disabled (первоначально, но лучше сразу с выбранным вами фильтром обработки для более точного прогнозируемого результата)
Цветокоррекция : Disabled (первоначально)
Кодирование видео: XviD 2P TEST
Кодирование звука : Disabled (первоначально)

3) Делаем распределённую выборку кадров из исходника
Достаточно добавить в начало скрипта прямо после деинтерлейса , если он необходим, три строки и на выходе получим ряд продолжительностью около ~2550 фреймов, составленный из равномерно выдернутых из видеоряда кусков по 50 фреймов. Обычно этого достаточно, чтобы оценить сжимаемость более-менее равномерного видео длительностью до 1.5-2 часов.
selectTotal1=framecount()/100
selectTotal2=selectTotal1*2
selectrangeevery(selectTotal2,50)

Можно отказаться от выборки и выполнить кодирование определенного участка в 2000 фреймов с помощью функции trim(x,y), где x-первый кадр тестируемого участка, у=x+1999 -последний кадр участка.

4) Запускаем кодирование, не обращая внимания на показания на время кодирования, поскольку оно не отражает действительность и ждём окончания и смотрим лог кодирования.
При выборе битрейта при кодировании кодеком XviD будем полагаться на чтение лога кодирования второго прохода и смотреть на показатели квантов по I - , P - и B - frames: минимальное значение кванта \ среднее значение кванта \ максимальное значение кванта. В идеале после окончательного подбора битрейта мы должны получить такие данные по распределению квантов:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Но в принципе , если мы получим в логе кодирования на выходе

I frames: 7 frames, size = 42384/ 296692, quants = 2 / 2.86 / 4
P frames: 362 frames, size = 14156/5124660, quants = 2 / 3.33 / 5
B frames: 631 frames, size = 4502/2840981, quants = 3 / 4.88 / 8

Это уже будет смотреться хорошо и вполне приемлемо. Хотя видя показания второго прохода, можно смело установить во втором проходе ограничения по максимальным квантам в данном случае , как -imax 4 -pmax 4 -bmax 5. Это позволит избежать в вашем рипе появления отдельных фреймов с высокими значениями квантизера. Возможно некоторое повышение выходного битрейта(размера). Если результат получается хуже и он вас не устроит, то необходимо увеличить битрейт в командной строке на страничке CLI Настройки видео кодирования или снизить выбранное разрешение и повторить тест. Но дальнейшее повышение битрейта сопряжено с поддержкой стационарными проигрывателями DVD (можно допустить ещё битрейт 2200 кбит\с). Тогда уже имеет смысл включать в последний проход опцию -qpel, которая без сомнения улучшит качество вашего рипа. А вот, если показания будут сразу выглядеть, как идеальные:
I frames: 11 frames, size = 37207/ 409278, quants = 2 / 2.00 / 2
P frames: 297 frames, size = 7069/2099557, quants = 2 / 2.00 / 2
B frames: 555 frames, size = 1270/ 705080, quants = 3 / 3.00 / 3

можно считать, что заданный битрейт в тесте слишком завышен для вашего исходника и надо его снизить до значения, которое покажет нам MediaInfo или AviInfo для данного тестового конечного avi файла.

Если вы применяете во втором проходе -imin 2 -pmin2 -bmin 2, то кодек на некоторых исходниках может войти в режим насыщения по средним квантам (I -2, P-2 и B-3) на гораздо более низком значении битрейта. Для более прогнозируемого попадания в заданный битрейт на чистом типе исходников необходима установка: все минимальные кванты установить в положение 1. Режим с -imin 2 -pmin2 -bmin 2 считается более предпочтительным, поскольку включается более лучший режим распределения квантов и рипы квантом 2 смотрятся также хорошо, как и с 1. Установка в -imin 1 -pmin 1 -bmin 1 может только раздуть размер выходного файла. Поэтому прочтите Методику подбора битрейта и определите всё же за ранее какой битрейт нужен вам для вашего исходника, чтобы получить на выходе оптимальное качество.
Есть исходники, на которых при максимальном битрейте (2500 кбит\с - битрейт звуковой дорожки) средние кванты с -imin 2 -pmin2 -bmin 2 получаются довольно высокими более 4 и выше. Это в первую очередь касается музыкальных клипов и короткометражных мульфильмов, которые характеризуются большим количеством сцен, а при смене сцен первым вставляется I-frame (ключевой кадр). Большое количество I-frames способно сожрать ваш битрейт и качество остальных фреймов снизится при кодировании в заданный размер. Для подобных исходников лучше выставлять вообще -imin 3 -pmin3 -bmin 3, за счёт повышения минимальных квантов идёт понижение средних. Желательно добиться, чтобы средние кванты по I-frames не превышали 4, P-frames не превышали 5 и B-frames не превышали 7. Если и в этом случае они выше,-снижайте разрешение, подключайте VAQ, увеличивайте количество идущих подряд b-frames(- max_bframes 2 или 3) , применяйте сильную фильтрацию шумодавами и осторожно используйте шарперы (по возможности обходитесь без них). Примечание: VAQ - адаптивное квантование распространяется только на P-frames с максимальным квантизером -pmax 3. По результатам тестового прохода установите настройки кодеку уже более точные, например, по тесту вам необходимо задать битрейт 1725 кбит\с, устанавливаем следующие настройки кодеку:
video codec:
XviD

video cli:
-qtype 1 -vhqmode 1 -zones 0,q,3.0,O -nopacked -bquant_ratio 100 -max_key_interval 250 -quality 5 -notrellis -nochromame -turbo
-bitrate 1725 -qtype 1 -vhqmode 1 -zones 0,w,1.0,O -nopacked -bvhq -bquant_ratio 100 -max_key_interval 250 -ostrength 30 -oimprove 30 -odegrade 10 -chigh 20 -clow 8 -vbvmax 4854000 -vbvsize 3145728 -imin 2 -pmin 2 -bmin 2
Видим, что по умолчанию в этом пресете задана матрица квантования стандартная MPEG (-qtype 1), но лучше применить костумные матрицы квантования, которые дадут более лучший результат. Следует иметь в виду, что не все костумные матрицы поддерживаются стационарными DVD плеерами, но есть некоторые, которые не имеют особых проблем, например: Bulletproof's High Quality.cqm, Sharktooth's EQM v3ULR.cqm, Sharktooth's EQM v3UHR.cqm, Sharktooth's EQM v3LR.cqm, Sharktooth's EQM v3HR.cqm, Sharktooth's EQM v3EHR.cqm, Jawor's 1CD Quantization.cqm, HVS Best Picture.cqm. Предупреждаю, что на некоторых типах DVD плееров и они могут вызвать сбой при просмотре. Более стабильны в этом плане матрицы квантования Sharktooth's EQM.
Никогда не учите свинью танцевать. Это только раздражает свинью и, вы напрасно тратите своё время...
Последнее редактирование: 1 год 1 мес. назад от Tempter57.
Гостям запрещено создавать сообщения!
Спасибо сказали: admin, burn80, olehgs, Doc66, w00t, Ego, serega6900

Re: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 9 мес. назад #219

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Всю жизнь учусь...
  • Сообщений: 931
  • Спасибо получено: 487
Отличное начало!
Тест скрипт устанавливается в настройках XviD4PSP.
Гостям запрещено создавать сообщения!

Re: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 8 мес. назад #269

  • maxmister
  • maxmister аватар
  • Не в сети
  • Знаток
  • Сообщений: 389
  • Спасибо получено: 86
Тогда уже имеет смысл включать в последний проход опцию -qpel, которая без сомнения улучшит качество вашего рипа.

а где она в проге? и каким способом она улучшает качество рипа - картинка лучше смотрится?
Последнее редактирование: 8 года 8 мес. назад от maxmister.
Гостям запрещено создавать сообщения!

Re: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 8 мес. назад #271

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Всю жизнь учусь...
  • Сообщений: 931
  • Спасибо получено: 487
maxmister пишет:

а где она в проге? и каким способом она улучшает качество рипа - картинка лучше смотрится?

50/50... Это улучшение поиска движения в кадре с точностью до четверти пикселя.
Главное и основное, включение -qpel может привести к невозможности воспроизведения вашего рипа на стационарном DVD плеере!
Включается вот здесь:
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv

Re: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 8 мес. назад #281

  • maxmister
  • maxmister аватар
  • Не в сети
  • Знаток
  • Сообщений: 389
  • Спасибо получено: 86
admin пишет:
maxmister пишет:

а где она в проге? и каким способом она улучшает качество рипа - картинка лучше смотрится?

50/50... Это улучшение поиска движения в кадре с точностью до четверти пикселя.
Главное и основное, включение -qpel может привести к невозможности воспроизведения вашего рипа на стационарном DVD плеере!
ну.... на стационарный DVD плеер практически не кодирую. А в кодаке *264 - этой функции нет?
А вообще при кодирование в *264 кодеком - какие функции можно добавить если экшена очень много? И какие лучше для фильма, а какие для анимации. Какой кодек лучше всего для видео с экшеном? - говорили что xvid, так ли это?
Последнее редактирование: 8 года 8 мес. назад от maxmister.
Гостям запрещено создавать сообщения!

Re: Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 8 года 8 мес. назад #282

  • Mihanja80
  • Mihanja80 аватар
  • Не в сети
  • Модератор
  • Сообщений: 101
  • Спасибо получено: 45
ну.... на стационарный DVD плеер практически не кодирую.
Тогда забудьте о XviD и используйте x264. XviD жыв еще только потому что много народа имеет DVD-плееры которые не могут воспроизвести видео закодированное кодеком x264.

В сжатии на данный момент лучим кодеком считается x264.
Для фильмов можете использовать готовый профиль настроек программы XviD4PSP - x264 Q21 DXVA-SD-Insane Film
Но учтите что кодировать придется по времени намного дольше.

Эта тема о подборе битрейта для кодека XviD
Так что создайте тему с конкретным вопросом и в соответствующей ветке форума, будем пытаться помочь :)
Гостям запрещено создавать сообщения!
Время создания страницы: 0.084 секунд