|
shartm
Стаж: 15 лет 10 месяцев Сообщений: 2533
|
shartm ·
20-Авг-10 08:02
(14 лет 3 месяца назад, ред. 20-Авг-10 08:02)
Тема была выделена из Как выбрать оптимальный битрейт и ключевые параметры для рипа в x264 GarfieldX
Некоторые спорные моменты в x264 FAQ
Нижеприведенные выводы противоречат друг другу.
Цитата:
Если судить по квантам, уже 2-проходный на основе crf выигрывает в сравнении с однопроходным, даже без mbtree. Точно так же и на глаз. При одинаковом битрейте 2-ой проход на основе статистики с crf дает ощутимое преимущество в сравнении с просто crf-ом, как по попугайчикам, так и визуально
Цитата:
Для quality-based кодирования вполне достаточно 1-Pass CRF. Нужно вписаться в ограничения хардварных декодеров?, CRF+VBV сейчас прекрасно работает.
Цитата:
... при кодировании HD сигнала лучше делать тот же CRF, но в два прохода, чтобы не вылезти за пределы допустимого с точки зрения хардварных чипов VBV, особенно 1080p касается. )
Лично я давно уже перешел на CRF+VBV, так как потери времени от второго прохода не стоят того теоретического копеечного выигрыша в размере, который дает 2 pass.
UPD
Цитата:
--subme 10 хорошо для 2 прохода.
Польза от subme 10 есть и на CRF точно так же, как и на 2 pass.
|
|
arestarh1986
Стаж: 16 лет Сообщений: 193
|
arestarh1986 ·
20-Авг-10 11:32
(спустя 3 часа, ред. 20-Авг-10 11:32)
Как альтернативу, можно добавить к " Шаг 4. Визуальный контроль" -> "Вывод информации о кадрах через ffvideosource":
Код:
FFVideoSource("путь к файлу")
ffinfo(cfrtime = false, vfrtime = false)
Минимум информации - номер и тип кадра будут отображаться
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
21-Авг-10 11:32
(спустя 1 день, ред. 21-Авг-10 11:36)
shartm писал(а):
Нижеприведенные выводы противоречат друг другу.
Там немало нюансов, связанных с тем, что с развитем кодека специфичная информация относительно влияния тех или иных ключей частично или полностью теряет актуальность, лучше всегда сверяться с readme к текущей ревизии кодека.
По просьбам трудящихся добавил в первый пост используемые мной скрипты упрощающие работу с кодеком и муксером через консоль в win32/64. Возможно кому-то пригодится. https://rutr.life/forum/viewtopic.php?p=11427142#cmd
|
|
Geralt iz Rivii
Стаж: 15 лет 9 месяцев Сообщений: 675
|
Geralt iz Rivii ·
29-Авг-10 09:16
(спустя 7 дней)
В сборке 1703 появился CAVLC "trellis". Что такое и какие плюшки дает?
|
|
gjiAm
Стаж: 15 лет 11 месяцев Сообщений: 815
|
gjiAm ·
29-Авг-10 11:26
(спустя 2 часа 9 мин.)
Geralt iz Rivii,
в changelog'е все написано:
Цитата:
--trellis is now a valid option with CAVLC.
т.е. опция --trellis доступна при выключенном CABAC.
|
|
Geralt iz Rivii
Стаж: 15 лет 9 месяцев Сообщений: 675
|
Geralt iz Rivii ·
29-Авг-10 12:59
(спустя 1 час 32 мин., ред. 29-Авг-10 12:59)
gjiAm я не знаю, что такое CAVLC, хотелось бы узнать расшифровку.
Ну и какие плюшки мы получаем от выключения CABAC с включенным треллисом? Сжатие ухудшится, скорость кодирования вырастет. Смысл?
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
29-Авг-10 13:09
(спустя 10 мин.)
Geralt iz Rivii писал(а):
Ну и какие плюшки мы получаем от выключения CABAC…
Совместимость с мобильными телефонами
|
|
Geralt iz Rivii
Стаж: 15 лет 9 месяцев Сообщений: 675
|
Geralt iz Rivii ·
29-Авг-10 15:26
(спустя 2 часа 16 мин.)
Ясно, о любителях смотреть кино по телефону разработчики тоже думают
По поводу расшифровки CAVLC уже сам нашел
|
|
Crusader3000
Стаж: 18 лет 5 месяцев Сообщений: 652
|
Crusader3000 ·
30-Авг-10 19:42
(спустя 1 день 4 часа)
Люди добрые, помогите пожалуйста с нахождением сколь-либо вменяемой инструкции по практическому подбору параметров psy-rd и aq. Ну, или, кто-нибудь в двух словах может пояснить.
Заранее благодарен!
|
|
A_warrior_of_light
Стаж: 15 лет 7 месяцев Сообщений: 1579
|
A_warrior_of_light ·
31-Авг-10 13:16
(спустя 17 часов)
|
|
WebRider
Стаж: 16 лет 8 месяцев Сообщений: 1494
|
WebRider ·
31-Авг-10 15:31
(спустя 2 часа 15 мин., ред. 24-Сен-10 20:17)
|
|
GEORGE_M
Стаж: 16 лет 8 месяцев Сообщений: 247
|
GEORGE_M ·
04-Сен-10 02:24
(спустя 3 дня, ред. 05-Сен-10 05:12)
|
|
Ka4aI
Стаж: 14 лет 7 месяцев Сообщений: 315
|
Ka4aI ·
09-Сен-10 02:43
(спустя 5 дней)
Спасибо, но не понял нифига, надо иметь аналитический склад ума чтоб это делать, это мануал для программеров чтоль? ппц нереальна
|
|
Ironcast
Стаж: 16 лет 1 месяц Сообщений: 915
|
Ironcast ·
13-Сен-10 23:51
(спустя 4 дня, ред. 16-Сен-10 23:01)
Crusader3000 писал(а):
Люди добрые, помогите пожалуйста с нахождением сколь-либо вменяемой инструкции по практическому подбору параметров psy-rd и aq. Ну, или, кто-нибудь в двух словах может пояснить.
Заранее благодарен!
при треллис=2 psyrdo 1.0:0,6 рекоммендуют при бдостаточном битрейте, и при малых 0,3:0,3 aq дефолтом
Товарищи, сообщите об оптимальных параметрах первого прохода кодека. Вроде быстрый первый проход не рекоммендуют, с другой стороны ждать первого прохода с одинаковыми параметрами жутко долго... Поэтому, кое-что можно сбросить. Типа ref поставить меньше, merange уменьшить..
Но до какого предела, вот в чём вопрос
|
|
smirnoff_zlat
Стаж: 14 лет 9 месяцев Сообщений: 216
|
smirnoff_zlat ·
18-Сен-10 14:09
(спустя 4 дня, ред. 18-Сен-10 14:09)
Пара вопросов:
1. Касаемо подбора количества ref фреймов: в логе показано количество отдельно для P-фреймов, для B L0 и B L1. В какой строчке конкретно считать кол-во задействованных ? А то например судя по P-фреймам нужно ref=16, судя по B L0 ref=8, судя по B L1 ref=2
скрытый текст
Код:
x264 [info]: ref P L0: 50.8% 16.5% 11.5% 3.9% 4.7% 3.0% 2.9% 1.4% 1.2% 0.8% 0.8% 0.6% 0.7% 0.5% 0.5% 0.3%
x264 [info]: ref B L0: 84.6% 7.9% 2.4% 1.4% 0.9% 0.9% 0.6% 0.3% 0.2% 0.2% 0.1% 0.1% 0.1% 0.1% 0.0%
x264 [info]: ref B L1: 95.8% 4.2%
2. Пробую кодировать выборку по 50 фреймов с crf 17.0, битрейт получается в районе 1100-1200 кб/с
Причем судя по квантам его вполне достаточно и даже перебор:
скрытый текст
Код:
x264 [info]: frame I:44 Avg QP:14.10 size: 55367
x264 [info]: frame P:574 Avg QP:17.98 size: 14440
x264 [info]: frame B:1882 Avg QP:22.63 size: 2510
Исходник DVD 720х576, кодирую в 720х392 без фильтров ..
Почему такой небольшой битрейт ?
Фильм нединамичный, спокойный, картинка на DVD нешумная, но довольно мыльная - может из-за этого ?
3. По подбору частиц для анализа: не совсем понял, как отсюда узнать какие из частиц задействованы и насколько задействованы:
скрытый текст
Код:
x264 [info]: mb I I16..4: 8.2% 66.6% 25.2%
x264 [info]: mb P I16..4: 2.1% 6.9% 1.4% P16..4: 42.7% 27.4% 8.0% 0.8% 0.5% skip:10.2%
x264 [info]: mb B I16..4: 0.1% 0.4% 0.1% B16..8: 38.6% 1.9% 2.8% direct: 4.8% skip:51.3% L0:39.0% L1:45.2% BI:15.9%
Спасибо ..
|
|
unreal666
Стаж: 16 лет 10 месяцев Сообщений: 1713
|
unreal666 ·
21-Сен-10 19:17
(спустя 3 дня, ред. 21-Сен-10 19:17)
smirnoff_zlat писал(а):
3. По подбору частиц для анализа: не совсем понял, как отсюда узнать какие из частиц задействованы и насколько задействованы:
Так в шапке же написано распределение частиц в логе:
Цитата:
I : i16x16,i8x8,i4x4 / PI: p16x16,p8x8,p4x4 / PP: p16x16,p8x8,p8x4,p4x8,p4x4 / BI: b16x16,b8x8,b4x4 / BB: b16x16,b16x8,b8x8
Т.е. для
- 1-й строки лога применяется I : i16x16,i8x8,i4x4
- 2-й строки лога применяется PI: p16x16,p8x8,p4x4 / PP: p16x16,p8x8,p8x4,p4x8,p4x4
- 3-й строки лога применяется BI: b16x16,b8x8,b4x4 / BB: b16x16,b16x8,b8x8
Т.е. в твоем случае
Код:
x264 [info]: mb I I16..4: 8.2% 66.6% 25.2%
i16x16 i8x8 i4x4
x264 [info]: mb P I16..4: 2.1% 6.9% 1.4% P16..4: 42.7% 27.4% 8.0% 0.8% 0.5% skip:10.2%
p16x16 p8x8 p4x4 p16x16 p8x8 p8x4 p4x8 p4x4
x264 [info]: mb B I16..4: 0.1% 0.4% 0.1% B16..8: 38.6% 1.9% 2.8% direct: 4.8% skip:51.3% L0:39.0% L1:45.2% BI:15.9%
b16x16 b8x8 b4x4 b16x16 b16x8 b8x8
ALL
Укажите, плиз, все параметры, которые нельзя применять (т.е. нужно отключить) при 1-ом проходе 2-ух проходного кодирования.
|
|
Ironcast
Стаж: 16 лет 1 месяц Сообщений: 915
|
Ironcast ·
24-Сен-10 17:57
(спустя 2 дня 22 часа)
Цитата:
Укажите, плиз, все параметры, которые нельзя применять (т.е. нужно отключить) при 1-ом проходе 2-ух проходного кодирования. "
Ну, не рекоммендую, ясное дело dia, subme=1 & ref=1
Оптимум где-то в районе. ref3, subme=6, hex, merange=8 В принципе, это не только моё мнение, но и на думе такие же параметры встречал.. Спросил здесь, так как думал что из AVC-секты мне чем-то разумным возразят. Это если я правильно вопрос понял..
А так, по-моему только cpblur для второго прохода, и вообще правильно на том же думе пишут и ругают любителей многострочных параметров--они же по дефолту многие прописываются и указывать нужно только те, которые хочешь изменить.
И кто имел дело с Aq4 на комиссаровских билдах и Bugmaster-а ? Выигрывает при том же CRF 25 % битрейта примерно, даже как-то низковатыми показатели кажутся. В принципе мне понравилось, о минусах же не слышал.
|
|
Toshik27162
Стаж: 16 лет 1 месяц Сообщений: 435
|
Toshik27162 ·
24-Сен-10 18:06
(спустя 8 мин., ред. 24-Сен-10 18:06)
если хотите максимум качества, то параметры надо ставить одинаковыми при обоих проходах. Если я тоже правильно вопрос понял.
|
|
shartm
Стаж: 15 лет 10 месяцев Сообщений: 2533
|
shartm ·
24-Сен-10 19:07
(спустя 1 час)
Toshik27162
Совершенно верно. Либо 2-pass в битрейт при ОДИНАКОВЫХ параметрах обоих проходов, либо crf.
|
|
TurboPascal7
Стаж: 15 лет 7 месяцев Сообщений: 668
|
TurboPascal7 ·
25-Сен-10 02:22
(спустя 7 часов)
shartm писал(а):
2-pass в битрейт при ОДИНАКОВЫХ параметрах обоих проходов
Есть параметры, которые вторым проходом просто игнорируются. Типа --b-adapt и т.п., определение типов кадров идет на первом проходе. Кроме того, быстрый первый проход всё равно никто не отменял - это повлияет немного на распределение кадров (чуть больше P и чуть меньше B), но не слишком критично.
Еще можно менять битрейт в разумных пределах, они не обязательно должны быть абсолютно равны.
А можно еще менять и сам алгоритм рейтконтрола, crf на первом проходе и abr на втором - тоже не возбраняется.
|
|
Toshik27162
Стаж: 16 лет 1 месяц Сообщений: 435
|
Toshik27162 ·
25-Сен-10 12:52
(спустя 10 часов)
все это можно делать, но если хотим максимум качества-то одинаковые настройки, сам проверял игрался и выбрал одинаковые.
|
|
TurboPascal7
Стаж: 15 лет 7 месяцев Сообщений: 668
|
TurboPascal7 ·
25-Сен-10 13:10
(спустя 17 мин.)
Toshik27162 писал(а):
все это можно делать, но если хотим максимум качества-то одинаковые настройки, сам проверял игрался и выбрал одинаковые.
А я вот игрался и иногда однопроходный crf давал лучший результат, чем двухпроход. А иногда и crf на первом проходе выливался в лучшее качество после второго, нежели abr. Но это же не значит, что так всегда лучше. %)
Главное, что изменить _без_особого_вреда_ (а то и с профитом в скорости/качестве) можно, а там уже самому риперу карты в руки.
|
|
Toshik27162
Стаж: 16 лет 1 месяц Сообщений: 435
|
Toshik27162 ·
25-Сен-10 13:29
(спустя 19 мин.)
насчет первого прохода crf и abr я ничего сказать не могу, ибо не эксперементирова-а в остальном лучше ничего не менять. можно поставить настройки попроще конечно, но разница на картинке будет, пусть минимальная-но будет. тут уж каждый сам решает стоят ли эти небольшие улучшения времени.
|
|
StarVA
Стаж: 15 лет 2 месяца Сообщений: 5
|
StarVA ·
25-Сен-10 18:10
(спустя 4 часа)
Подскажите, что я не так делаю - кодирую в CRF22 с ключом --pass1 и без него (пробовал и в 2 прохода), но при 2 проходах или при кодировании без --pass1 на некоторых участках вылазит блочность (и при этом и psnr и ssim дают результаты лучше, чем с --pass1). А при кодировании с --pass1 всё нормально.
Само видео это захват такой дэмы http://www.xplsv.com/prods/demos/xplsv_tokyo.zip Картинка там нединамичная, мягкая, с плавными градиентами...
Кодировал с такой строкой:
скрытый текст
Код:
x264 --crf 22 --keyint 600 --min-keyint 60 --bframes 16 --b-adapt 2 --b-pyramid strict --no-mbtree --ssim --psnr --ref 16 --mixed-refs --no-fast-pskip --deblock 0:0 --partitions all --8x8dct --direct auto --merange 16 --weightb --weightp 2 --me umh --subme 9 --no-psy --no-fast-pskip --no-dct-decimate --deadzone-inter 17 --deadzone-intra 6 --cqm flat --threads 2 --output "CRF22_ssim_psnr.mp4" "1.avs"
1.avs такой:
скрытый текст
Код:
AVISource("D:\_DelMe\tokyo\copy.avi", audio=false)
Letterbox (153, 152, 1, 0)
ConvertToYV12()
Т.е. вопрос в том как избавиться от этой блочности ? И правильную ли я строку параметров использую ?
P.S. Захват делал при помощи kkapture от farbrausch http://www.farb-rausch.de/~fg/kkapture/kkapture_1_01_bin.zip при захвате сжимал при помощи MSU capture lossless кодеком (fps 60, res 1280x1024).
|
|
shartm
Стаж: 15 лет 10 месяцев Сообщений: 2533
|
shartm ·
25-Сен-10 19:48
(спустя 1 час 38 мин.)
StarVA
используйте треллис&subme10 +aq 2:1.0
|
|
@lolkin@
Стаж: 16 лет 7 месяцев Сообщений: 1362
|
@lolkin@ ·
25-Сен-10 21:49
(спустя 2 часа, ред. 25-Сен-10 21:49)
StarVA
взять икс посвежее и подобрать более подходящий пресетик.
ps кодить в crf1pass, ключик --pass не нужен при этом.))
|
|
Geralt iz Rivii
Стаж: 15 лет 9 месяцев Сообщений: 675
|
Geralt iz Rivii ·
25-Сен-10 22:57
(спустя 1 час 8 мин.)
Ironcast писал(а):
Товарищи, сообщите об оптимальных параметрах первого прохода кодека. Вроде быстрый первый проход не рекоммендуют, с другой стороны ждать первого прохода с одинаковыми параметрами жутко долго... Поэтому, кое-что можно сбросить. Типа ref поставить меньше, merange уменьшить..
Но до какого предела, вот в чём вопрос
На твой вопрос ответили еще 1,5 года назад.
Ironcast писал(а):
Спросил здесь, так как думал что из AVC-секты мне чем-то разумным возразят.
Тебе раньше разумно объясняли что и как, но ты ничего не слушал и, самое главное, не хотел слушать. А теперь ты до оскорблений опустился
|
|
metafizik
Стаж: 14 лет 4 месяца Сообщений: 55
|
metafizik ·
26-Сен-10 16:13
(спустя 17 часов)
shellgen
Цитата:
DirectShowsource(), будучи не frame-accurate сервером, может терять фреймы, если во время его работы на занятое декодированием ядро упадёт дополнительная значительная нагрузка - фреймы, на декодирование которых не хватило мощности, просто будут заменены на предыдущий
DirectShowSource() при последовательном декодировании не теряет кадры - ни из-за нагрузки на CPU, ни по какой-либо иной причине. Такую потерю со стороны DirectShowSource() авторы этого плагина для AviSynth могли бы организовать только нарочно, в сугубо вредительских целях. Кадры если у кого-то где-то и терялись, то, вероятно, из-за декодера конкретного формата, или из-за настройки на пропускание кадров в случае непоспевания (в настройках ffdshow декодеров есть такая галочка включённая по умолчанию, но она, как очень хотелось бы надеяться, должна срабатывать только при просмотре видео, а не при использовании декодера в процессах обработки видео).
Смысл понятия frame-accurate не имеет ничего общего с нагрузкой CPU. Настоящая проблема с DirectShowSource в том, что он не способен гарантировать точного позиционирования на кадр с указанным номером в AviSynth-операции Trim() - если только не использовать очень медленный режим seekzero=true, когда каждый раз производится позиционирование на начало и последовательное чтение/счёт кадров.
Причём за неточность позиционирования отвечает, опять же, декодер, к которому обращается DirectShowSource. Другое дело, что DSS2() неточности декодера каким-то образом умеет преодолевать, производя некие дополнительные действия, добавочные обращения к диску, и замедляя процесс позиционирования. Этот метод преодолевания, если верить тому, что пишут на doom9.org, гарантированно работает для случаев, когда timecodes (1) существуют (в raw потоках их не существует) и (2) являюся монотонными, т.е. видео является CFR (с постоянной частотой кадров). При этом часто бывает, что какое-нибудь .mp4 аниме помечено как VFR (переменная частота кадров), но на самом деле timecodes - монотонные. Timecodes можно извлечь из .mkv в текстовый файл с помощью mkvextract.exe и при помощи несложной программки посчитать сколько каких дельт времени встречается; если встречаются только дельты 41 и 42 миллисекунд, то перед нами CFR 23.976 fps.
|
|
StarVA
Стаж: 15 лет 2 месяца Сообщений: 5
|
StarVA ·
27-Сен-10 10:54
(спустя 18 часов)
shartm писал(а):
StarVA
используйте треллис&subme10 +aq 2:1.0
Я как раз и использовал --no-psy, чтобы отключить любую психовизуальную оптимизацию для получения "на выходе" так сказать истинную картинку. Ну может и зря я так сурово отнёсся к треллис наверное надо будет и с ним пошаманить
@lolkin@ писал(а):
StarVA
взять икс посвежее и подобрать более подходящий пресетик.
ps кодить в crf1pass, ключик --pass не нужен при этом.))
Кодировал с версией x264 core:104 r1703 cd21d05 от 27.08.2010. То, что ключ --pass1 в однопроходном CRF не нужен я знаю, но... когда делал 1-й проход при 2-хпроходном энкоде, ради интереса глянул что получилось - в результате после 2-го прохода или при 1-проходном CRF появилась блочность, а как раз просто после 1-го прохода блочности не было. Тогда я взял битрейт полученный после 1-го прохода и сжал с ним в 1-проходном ABR - блочность также появилась.
И ещё ! В мануале shellgen-а был такой вопрос:
shellgen писал(а):
Q: Подскажите, есть ли еще какие-либо методы борьбы с квадратами на участках с равномерными цветами (в мультфильмах), кроме деблока и значительного повышения битрейта?
A: Если исходник mpeg, то в строке загрузки указать cpu=4 (для борьбы с блочностью).
Не понял что за строка загрузки ? И в моём случае это может помочь ? И если у меня не mpeg исходник ?
|
|
AkvenJan
Стаж: 15 лет 5 месяцев Сообщений: 584
|
AkvenJan ·
28-Сен-10 10:30
(спустя 23 часа)
если честно, FAQ староват (на мой взгляд ему явно год или больше), некоторые данные устарели (в частности по aq), некоторые вещи вообще не описаны, например ряд новых функций в последних версиях кодека. Но в целом спасибо, познавательно
|
|
|