aZZa бред [часть 6] - Кодирование, AMVSimple

Дата: 12 июня 2012 21:23 #1

aZZa бред [часть 6] - Кодирование, AMVSimple

Предыстория.
Симпла начало не хватать, точнее всегда шли попытки его заменить. Сперва с этим неплохо справлялся MeGUI, но кто его использовал, прекрасно меня поймёт. Чтобы использоваться стандартные заготовки надо столько всего разного понатыкать и это знаменитое “Ааааа, у вас исходник не YV12, можно я его этого того?”. Постепенно пришёл к консольным версиям кодировщиков, один раз написал батник и забыл про проблемы, только успевай подсовывать свежие версии x264. Но менять в батнике пути к видео или менять название видео, чтобы его подхватил батник, надоело. И пришло осознание, что батник можно создать и запустить автоматически. И... Я вернулся к чему-то до боли напоминающему симпл =_=.

Почему не Симпл (пункты не по порядку важности, а как пришли в голову):
1. Устаревшая версия кодировщика.
2. Необходимость выбирать битрейт в негибком интерфейсе.
3. Нельзя указать свои настройки.
4. 10bit. Сомнительный недостаток :3.
5. Кодирование нескольких файлов. Иногда реально нужно.
6. Кодирование чего-то кроме avi и avs.
7. Rec601

К чему пришёл:
Поставил галочки на нужных пресетах, перетянул файлик(и), пошёл пить чай.
http://www.mediafire.com/?53m27w07b4yewfy

Требования:
Установленные avisynth и .Net Framework 2.0

Основное, как говорится, ноу-хау.
Не надо указывать битрейт. И crf тоже не надо подбирать, чтобы попасть в лимиты конкурсов. Оно само, често-честно. Основные мысли по этой магии позаимствованы отсюда: http://rutracker.org/forum/viewtopic.php?t=1037661
В настройках пресетов хранится желаемое качество (подбирал на глазок экспериментально). Делается первый проход с нейким битрейтом, входящим в лимиты. Курим логи с магическими буквами Avg QP, если циферки нам говорят о качестве ниже ожидаемого, то повышаем битрейт для второго прохода. Если битрейта хватает с запасом, то понижаем битрейт, чтобы зритель не качал лишние мегабайты. Снова курим логи после второго прохода и окончательно выставляем битрейт. Естественно, при подборе битрейта ограничиваем его конкурсным максимумом.
Почему 3 прохода? Ну, так прикольно и битрейт подбирается точнее.

Описание вшитых пресетов:
1. amvnews.ru полная версия (25 Мб/минуту). Качество приблизительно SSIM Mean Y: 19.5 db.
2. amvnews.ru превью версия (4 Мб/минуту). Качество приблизительно SSIM Mean Y: 18.5 db. Да, можно 5 Мб/минуту (на БК), но вы задолбали со своими превьюшками по 20 метров, когда там унылый слайдшоу.
3. amvnews.ru делюкс версия. Качество приблизительно SSIM Mean Y: 21 db. Лимит по битрейту 10Мбит/с.
4. amvnews.ru версия высокого разрешения (40 Мб/минуту). Качество приблизительно SSIM Mean Y: 19.5 db. Если кодировать SD версию этим пресетом и первым, то разницы почти не будет, т.к. качество одинаково. Этот пресет необходим только для действительно HD клипов, которые в первом пресете упрутся в лимит 25 Мб/минуту.
5. akross.ru полная версия (12 Мб/минуту). Просто 2 прохода с максимально допустимым битрейтом.
6. akross.ru превью версия (2 Мб/минуту). Просто 2 прохода с максимально допустимым битрейтом.
7. Кодирование записи с экрана. Для нединамичного видео, вроде туториалов с записью с экрана.
8. Быстрое, плохого качества, полная версия. Однопроходный, если нужно быстро глянуть рендер и нет времени на качественное кодирование.
9. Быстрое, плохого качества, превью версия. См. 8, но только превью.
10. Бета-тест (однопроходная, хорошее качество). Чтобы отправить Про было не стыдно, но и не ждать 2 часа кодирования хорошими пресетами. Самый близкий аналог симпловского делюкса.
11. Пользовательские настройки. Не для всех. См. ./tools/preset.txt

Если на входе RGB, то на выходе YV12 BT.709 TV диапазон. Т.е. настройки для плееров и декодеров можно оставить такими же, как при просмотре аниме.

Недокументированные возможности.
Недокументированные возможности не документированы.
Дата: 13 июня 2012 06:22 #2

Re: aZZa бред [часть 6] - Кодирование, AMVSimple

К минусам симплы - еще отключенные пси оптимизации.


W_aZZa:
Если на входе RGB, то на выходе YV12 BT.709 TV диапазон.
Даже для SD, т.е. вне зависимости от разрешения?
Тогда большинство плееров (которые игнорируют флаг матрицы в потоке) в пролете... Только LAV Decoder нормально передает, а madVR не игнорирует флаг матрицы в потоке (глупые варианы типа конвертирования в ргб декодером не рассматриваем :)).

Еще бы:
--tune animation
--level 4.1 (для совместимости со всякими железками)
а на 10 битах на них болт забить, пусть будет 16 рефреймов Rolling Eyes
--vbv-maxrate 40000 --vbv-bufsize 30000 (для совместимости с профилем, ибо нефиг иметь пиковый битрейт такой высокий)
- пайпинг в 64-битный x264. Он реально быстрее. Заодно можно будет ависинтом конвертить в 16-бит, делать дебандинг и кормить иксу 10/16 бит. Ибо при простом кодировании 8-битного источника 10-битный икс не всегда спасает...

А три прохода - не прикольно. Уж лучше плацебо впиндюрить Very Happy

З.ы. делюкс пишется deluxe Very Happy и Title: Ì не радует...
Дата: 13 июня 2012 07:20 #3
vivan:
глупые варианы типа конвертирования в ргб декодером не рассматриваем



vivan:
--tune animation

--bframes {+2} --deblock 1:1
--psy-rd 0.4:<unset> --aq-strength 0.6
--ref {Double if >1 else 1}
bframes и так десять, считай veryslow +2. C deblock-ом толком не игрался, т.к. кто его знает, что на входе, шум или чистая однородность. psy-rd и aq-strength - у меня почти так же, пробовал и этот вариант, но на глаз ничео не заметил. Удвоение ref - сразу нет, жёстко ставлю 4.

vivan:
--level 4.1

Зачем? Пусть само ставит по разрешению и фпс.
Совместимость с бытовыми плеерами мне как-то не критична. Да и 10бит у меня чисто как поиграться.

vivan:
плацебо впиндюрить

Ну плацебо - это уж совсем бессмысленная трата времени. А 3 прохода для правильного подбора битрейта, двух не хватает.

delux пишется как delux, deluxe как deluxe. Тут всё просто.
Тайтл - это не моё, это чей-то заговор :3.
Дата: 13 июня 2012 07:30 #4
W_aZZa:
vivan:
глупые варианы типа конвертирования в ргб декодером не рассматриваем

:em074:
Ну кроме того, что он глупо - так никто не делает Wink

W_aZZa:
C deblock-ом толком не игрался, т.к. кто его знает, что на входе, шум или чистая однородность.
Ну не зря же оно там есть?) Так можно практически про все параметры сказать.

W_aZZa:
psy-rd и aq-strength - у меня почти так же, пробовал и этот вариант, но на глаз ничео не заметил.
Ну так опять же можно про многое сказать Very Happy

W_aZZa:
Удвоение ref - сразу нет, жёстко ставлю 4.
Вот зачем?) Пусть профилю соответствует.

vivan:
Совместимость с бытовыми плеерами
а с кривыми атишками?) Они бсодить умеют от видео Very Happy

W_aZZa:
delux пишется как delux, deluxe как deluxe. Тут всё просто.
http://www.googlefight.com/index.php?lang=en_GB&word1=deluxe&word2=delux :P

А не проще ли кодировать в один проход с crf (17 например), и только если битрейт получится больше нужного - то уже кодировать в 2 прохода по битрейту? Кванты это кванты, они о качестве не очень много говорят.
Дата: 13 июня 2012 08:15 #5
ASG_full_Hi10p
768х432
вес: 103 МБ
время кодирования: 1 час
параметры кодирования: стандарт + нормальный битрейт вручную
проходов: 2
битрейт видео: 3 107 Kbps
максимальный битрейт видео: 7 093 Kbps
vs оригинал (5 скриншотов): http://screenshotcomparison.com/comparison/130287/picture:0

ASG_deluxe_Hi10p
768х432
вес: 48.5 МБ
время кодирования: 20 минут
параметры кодирования: авто
проходов: 1
битрейт видео: 1 254 Kbps
максимальный битрейт видео: 4 051 Kbps
vs оригинал: http://screenshotcomparison.com/comparison/130290

ASG_preview_Hi10p
480х270
вес: 21,5 МБ
время кодирования: 20 минут
параметры кодирования: максимально разрешённый на amvnews вес на минуту
проходов: 2
битрейт видео: 643 Kbps
максимальный битрейт видео: 2 391 Kbps
vs оригинал: http://screenshotcomparison.com/comparison/130291/

AC_full_Hi10p
768х432
вес: 23,9 МБ
время кодирования: 1.5 часа
параметры кодирования: авто
проходов: 3
битрейт видео: 567 Kbps
максимальный битрейт видео: 2 509 Kbps
vs оригинал: http://screenshotcomparison.com/comparison/130293/

AC_delux_Hi10p
768х432
вес: 40,6 МБ
время кодирования: 1.5 часа
параметры кодирования: авто
проходов: 3
битрейт видео: 1 033 Kbps
максимальный битрейт видео: 4 035 Kbps
vs оригинал: http://screenshotcomparison.com/comparison/130298

AC_betatest_Hi10p
768х432
вес: 34,8 МБ
время кодирования: 20 минут
параметры кодирования: авто
проходов: 1
битрейт видео: 882 Kbps
максимальный битрейт видео: 3 581 Kbps
vs оригинал:

AC_preview_Hi10p
480х272
вес: 10,0 МБ
время кодирования: 1.5 часа
параметры кодирования: авто
проходов: 3
битрейт видео: 252 Kbps
максимальный битрейт видео: 1 195 Kbps
vs оригинал: http://screenshotcomparison.com/comparison/130300
Дата: 13 июня 2012 08:18 #6
vivan:
Кванты это кванты, они о качестве не очень много говорят.

Да ладно О_о.

Вобсчам, те кто знает про настройки, предпочитают свои Smile.
Дата: 13 июня 2012 08:41 #7
Ну блин, отличие между качеством и чиселкой-квантайзером, как между qp и crf)
Этот средний квант не учитывает динамику видео и сложность кадра. Как и психовизуальные оптимизации.

Это как по PSNR качество видео сравнивать.

W_aZZa:
те кто знает про настройки, предпочитают свои Smile.
В общем случае - пресеты. А вот в конкретном случае уже можно покрутить.
Дата: 13 июня 2012 08:54 #8
Для нормальной кодировки "Линии Судьбы" мне понадобилось задать симплу 3к битрейта. В противном случае в некоторых динамичных кадрах на очень тёмных участках появлялась "перхоть". Это при том, что у самого исходника было большее разрешение, а битрейт всего 2к (хотя он был анаморфным). При попытке ставить битрейт меньше 2.6к олдскульное зерно тупо смазывалось.
Дата: 13 июня 2012 09:02 #9
Bill Ein
Я рад за тебя.
Дата: 13 июня 2012 10:14 #10
я к тому, что возможность настройки хотя бы одного параметра заметно выигрывает у тупопресетного кодировщика.
Дата: 13 июня 2012 10:20 #11
Bill Ein
Ну, увеличение битрейта в 1,5 раза, это конечно решение большинства проблем. Но то же самое можно сделать у меня в пресете Custom.
В реальности же мы наблюдаем выкручивание пользователями этого самого битрейта под верхнюю планку требований без какой либо на то причины. Поэтому надо отобрать у пользователей этот ползунок и запрятать его подальше.
Дата: 13 июня 2012 10:32 #12
Ну и на правах рекламы кодировщик Аззы с другим гуи, не ориентированный на амв, но тем не менее способный быть полезным: http://www.1nstudio.ru/lessons/24/
Дата: 13 июня 2012 10:35 #13
Там не только гуи, но и начинка слегка другая.
Дата: 13 июня 2012 11:47 #14
Пробовал крутить настройки в XviD4PSP 5 и советовался с vivan. В конечном итоге я либо не замечал принципиальной разницы вообще (за исключением времени кодирования), либо терял зерно. Затем крутил только crf, но результат при crf17 был хуже, чем при кодировании симплой с битрейтом 2.8к. Фактически всё пришло к тому, что никакие настройки не дают никакой ощутимой разницы в качестве и весе в сравнении с тем, что выдаёт симпла при установке аналогичного битрейта, а вот время кодирования может увеличиться в разы. Соответственно свою актуальность XviD4PSP 5 потерял и ушёл под снос.

Тут же я вижу в разы суженый спектр возможностей, с подстройкой хз как и хз где. Никаких стоящих преимуществ перед ни симплой, ни XviD4PSP 5 для себя пока не вижу. Исключительно из уважения кинул кодиться Линию Судьбы пресетом "amvnews.ru полная версия (25 Мб/минуту) 10 бит", посмотрим что получиться.

А получилось просто ппц что. 4 с половиной минуты закодились не в примерно 112МБ, а в 25. 25... 25! Я что, закодил превью? Я полтора часа кодил превью разрешением 768х432? В рот мне ноги, да ненавистный симпловский делюкс выдаёт 50МБ с качеством в 2 раза лучше.
Дата: 13 июня 2012 12:25 #15
Bill Ein
Лол Smile. Ты сравниваешь стандарт с делюксом? Талант.
Скриншоты убивания качества выложишь? Или для тебя размер == качество?
Чтобы писать в форуме, нужно войти.
Вход