|
Children of koRn
Стаж: 15 лет 7 месяцев Сообщений: 1103
|
Children of koRn ·
27-Май-09 01:49
(15 лет 5 месяцев назад, ред. 27-Май-09 01:49)
bumbarelo
я потом прочел все это, понял, по поводу аспект ратио запутался слегка в прошлом посте, ведь оно принципе не важно при crop, тут мы только обрезаем лишние, а для того чтобы получился правильный аспект ратио sar как раз есть, а я чуть ли не ресайзом хотел его добиться
bumbarelo писал(а):
Children of koRn
погрешность аспекта в пару пикселей на глаз увидеть нереально
конечно
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
27-Май-09 09:21
(спустя 7 часов)
bumbarelo писал(а):
У вас MPEG2 - значит ColorMatrix непомешает.
ещё как помешает... лишнее это, если в avc упаковывать
|
|
MaLLIeHbKa
Стаж: 17 лет 10 месяцев Сообщений: 3673
|
MaLLIeHbKa ·
27-Май-09 10:44
(спустя 1 час 22 мин., ред. 27-Май-09 10:44)
shellgen писал(а):
ещё как помешает... лишнее это, если в avc упаковывать
Кстати, очень интересный вопрос.
Наткнулась на занимательный пост→ (и ещё один→) на эту тему.
Как я поняла, решение вопроса с колориметрией в конечном счёте ложится на плечи декодера/плеера, при этом большинство из них полагается исключительно на разрешение потока, и считает, что SD-поток имеет колориметрию BT.601, а HD-поток — BT.709. При этом граница раздела «SD» и «HD» плавает от плеера к плееру где-то между 1024 и 1280 точками по горозонтали. Метками же, оставляемыми параметром --colormatrix X'а, насколько я понимаю, на практике никто (плееры) не пользуется, по крайней мере, в настоящее время (хотя, безусловно, это выглядит более элегантным, универсальным и совместимым решением, нежели необратимое коверканье потока ColorMatrix()'ом).
Кроме того, самый главный вопрос, который меня волнует касательно колориметрии: как убедиться в том, что результат работы ColorMatrix() действительно правильный? Чем таким прочитать исходный поток, чтобы увидеть, какие там цвета должны быть на самом деле? Как я понимаю, мещанские декодеры типа ffdshow этого показать не могут (в итоге по цвету DirectShowSource() ч/з ffdshow == mpeg2source() без ColorMatrix()'а), так что вся надежда на всякие киберлинки и иже с ними?
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
27-Май-09 12:20
(спустя 1 час 36 мин.)
MaLLIeHbKa
Во-первых, если разобраться по хорошему, то проблема коэффициентов конверта yuv в rgb лежит в области, близкой к экстремальной видеофилии и в полной мере актуальность данной проблемы будет всплывать исключитеьлно при выводе сигнала на грамотно откалиброванные по профилям устройства вывода. Среднестатистические юзеры не пользуются услугами калибровщиков в погоне за совершенством цветов на их телевизорах/мониторах/принтерах/проекторах/прочее.
Исходя из вышесказанного, в случае если достоверно определить колоритмию не представляется возможным ввиду отсутствия внушающих доверие флагов или рук чтобы эти флаги прочитать и корректно интерпретировать, предпочтительнее будет оставить всё как есть, чем применять некорректные установки. (( Тут и далее речь об енкоде в h264 разумеется. ))
Если всё же перейти к практике, то исходя из имеющейся на просторах всемирной паутины инофрмации и пояснений в мануалах к соответствующему софту, случай необходимости применения colormatrix() может возникнуть тогда и только тогда когда исходный сигнал = DVD Video, а на выходе надо получить строго 601. MPEG2 на синих дисках и HDTV трансляциях по православным канонам должен быть оцифрован под 709. Впрочем точность цветов и спутниковый MPEG2 рядом всё равно не живут, там изначально проблемы поглобальнее.
Большая часть всякого там разного оборудования и православных примитивных декодеров при конверте полученного от декодера yuv сигнала настроено на 709, т.к. 601е коэффициенты в оцифровке HD сигнала вероятно вообще не используют, а на SD сигнал DVD происхождения перекодированный в MPEG4/Part10 они рассчитаны изначально конечно не были. ))
Остаётся некоторое количество декодеров, которые в определении коэффициентов апконверта пытаются сделать интеллектуальное заключение, некоторые на основе разрешения, в том числе грешат этим всякие там рендеры производства M$. Остаётся только надеятся что таких будет всё меньше и меньше, а отстранить рендеры и прочее от апконверта в rgb достаточно просто и даже предпочтительно, чтобы избежать сюрпризов. Стандартом предусмотрено указание колоритмии в заголовке потока, если стандарту кто-то не следует, то пускай это будет на их совести :Р
Что касается точного определения коэффициентов оцифровки исходного сигнала, то имеющаяся информация о колоритмии даже на DVD мягко говоря противоречива, в такой ситуации не вижу ничего лучше кроме как верить отцам:
colormatrix.htm писал(а):
Newer versions of DGIndex (v1.20+) write the colorimetry information into the d2v project file. ColorMatrix is able to parse the d2v file and automatically determine the source coefficients from that information.
...
How do you know which set of coefficients were used when encoding a MPEG-2 stream? Usually, the coefficient information is stored in the header of the MPEG-2 file (the "matrix_coefficients" field in the "sequence display extension"). Newer versions of GSpot will be able to read and display this information. Also, DGDecode v1.20+ (with Mpeg2source(info=1)) can be used to view it. If this extension field is not present in the header of the MPEG-2 file, the specs say we are supposed to assume the default of Rec.709
Т.е. чтобы определить колоритмию исходника согласно Д.Графту, достаточно заглянуть в коэффициенты всплывающие в .d2v после индексации потока.
И последний нюанс состоит в том, что если DGIndex ещё есть какие-то основания верить, то конторкам, которые порой штампуют непонятно чем непонятно на чём несчастные DVD диски, верить исключительно сложно. Методы телесина , интерлейса а также происхождении AR в MPEG2 потоках на некоторых DVD не перестают поражать воображение, что уж там говорить о колоритмии. ))
|
|
bumbarelo
Стаж: 16 лет 9 месяцев Сообщений: 228
|
bumbarelo ·
27-Май-09 13:18
(спустя 57 мин., ред. 27-Май-09 17:44)
shellgen
Можно немного попроще, для особо одарённых....
MeGUI - по умолчанию всегда после индексации для DVD Video (mpeg2) включает colormatrix (насколько помню)
Возьмём к примеру некоторый цветной DVD Video-ряд после DVD Decrypter'a
Скрипт
DGDecode_mpeg2source("E:\Video.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
TDecimate(cycleR=1)
В качих случаях ColorMatrix оставлять, а в каких можно отказатся? Skazhutin
Поправить не смогу! Всё верно.
Остаётся вопрос, зачем разработчики MeGUI для DVD Video насильно включили ColorMatrix-2.5 (или её нужно убирать ручками)
|
|
Skazhutin
Стаж: 17 лет 3 месяца Сообщений: 6701
|
Skazhutin ·
27-Май-09 13:28
(спустя 10 мин.)
В этом Случае удаляем из Скрипта ColorMatrix(hints=true, interlaced=true, threads=0), а в Строку кодирования добавляем --colormatrix "bt470bg"
ПоСле кодирования еСли открыть полученный фильм в DGAVCIndex, то он покажет колоритмию 601
ЕСли не прав, поправьте.
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
27-Май-09 14:08
(спустя 39 мин.)
bumbarelo
Понятия не имею что делает megui, но если включает colormatrix по умолчанию для икса, особенно в таком виде ColorMatrix(hints=true, interlaced=true, threads=0) :boxed:, то это очень плохо. Skazhutin постом выше всё верно написал.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
27-Май-09 19:56
(спустя 5 часов, ред. 27-Май-09 19:56)
Skazhutin и shellgen Вы бы поосторожнее со своими рекомендациями по поводу отмены в скриптах ColorMatrix(hints=true, interlaced=true, threads=0) и добавления в командной строке х264 --colormatrix "bt470bg" для DVD дисков, возможно, ваши рекомендации справедливы для иных высококачественных исходников.
Не удивлюсь, что народ, выполнив ваши рекомендации, увидит на экране своих мониторов и панелей рип с розовыми рожами и, тут уже калибровка по колоритмии мониторов окажется не причём, поскольку они тут же включат исходный DVD и увидят, что с цветопередачей всё нормально на исходнике и далеко не всё так благополучно на DVDRip-AVC.
|
|
bumbarelo
Стаж: 16 лет 9 месяцев Сообщений: 228
|
bumbarelo ·
27-Май-09 20:01
(спустя 5 мин., ред. 27-Май-09 20:01)
Tempter57 Действительно лёгкая розовость наблюдалась... Есль можно поподробнее. или ссылку.
|
|
Skazhutin
Стаж: 17 лет 3 месяца Сообщений: 6701
|
Skazhutin ·
27-Май-09 20:19
(спустя 17 мин.)
Tempter57 писал(а):
для DVD дисков, возможно, ваши рекомендации справедливы для иных высококачественных исходников.
Не понял смысла предложения
Для иных высококачественных исходников --colormatrix "bt709" (BD, HDDVD), смотреть colorimetry в DGAVCIndex или в DGVC1Index
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
27-Май-09 20:22
(спустя 2 мин.)
bumbarelo писал(а):
Tempter57 Действительно лёгкая розовость наблюдалась... Есль можно поподробнее. или ссылку.
А не стану перегружать всех техническими терминами, а просто процитирую того же shellgena- основной критик -"ваш мозг", главный рецептор-"ваши глаза"
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
27-Май-09 20:25
(спустя 3 мин.)
Skazhutin
Извини, точку не поставил после слова дисков и не начал новое предложение со слова Возможно
|
|
Skazhutin
Стаж: 17 лет 3 месяца Сообщений: 6701
|
Skazhutin ·
27-Май-09 20:26
(спустя 34 сек.)
Есть смысл при подготовки рипа сравнивать с исходником. Закодировав кусочек тоже сравнить с исходником, потом уже кодировать.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
27-Май-09 20:57
(спустя 31 мин.)
Skazhutin писал(а):
Есть смысл при подготовки рипа сравнивать с исходником. Закодировав кусочек тоже сравнить с исходником, потом уже кодировать.
Правильные слова
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
27-Май-09 21:42
(спустя 44 мин.)
Tempter57
Для DVD дисков НЕ стоит принудительно пересчитывать для AVC колоритмию в 601ю, причины изложил выше, аргументация и ссылки на источники в ссылках в посте->, информации собрано достаточно много уже )).
Для остальлных MPEG2 (кроме избранных SD SAT капов) тем более не стоит трогать колоритмию, тут и обсуждать нечего.
В особенности таким образом НЕ стоит использовать colormatrix для обсчёта фреймов на вход x264:
Tempter57 писал(а):
ColorMatrix(hints=true, interlaced=true, threads=0)
По умолчанию clamp=3 -> ТВ лимит на вход, ТВ лимит на выход . гуд-бай исходный диапазон
Skazhutin писал(а):
Есть смысл при подготовки рипа сравнивать с исходником. Закодировав кусочек тоже сравнить с исходником, потом уже кодировать.
Только предварительно стоит оценить условия получения картинки с MPEG2 и с полученного AVC Уточнить что именно и каким образом на конкретной системе пользователя отвечает за переход между цвет пространствами для каждого из енкодов. Если кто-то это сделать не в состоянии - лучше оставить как есть, зло скорее всплывёт от безвовзратной коррекции.
colormatrix(...) уместен только если его использующий более менее уверен в каких условиях на этапе оцифровки сигнала он конвертировался в YUV. всем остальным от пересчёта коэффициентов лучше отказаться, особенно учитывая поведение плееров и декодеров.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
27-Май-09 21:58
(спустя 16 мин., ред. 28-Май-09 00:59)
shellgen
Я даже не собираюсь оспаривать твои слова, у меня своё мнение, свои глаза и мозги, а они мне подсказывают, что рип должен максимально соответствовать исходнику, тем более,что DGIndex на фильме показывает колоритмию BT 470-2 B,G и поэтому лезу подстраивать свои аппараты. P.S. Пришлось основательно повозиться с настройкой своего Panasonic TX-R37LZ85. Глюк по колоритмии был именно с ним, монитор Deel 2007P подстроен был получше и легче вошёл в режим, так что, ребятки, я вынужден буду перед вами извиниться за наезд и подтвердить правоту ваших слов.
ColorMatrix(hints=true, interlaced=true, threads=0) # interlaced=false - нужен для DVDRip - XviD \ DivX
--colormatrix "bt470bg" в командной строке настроек х264 нужен для DVDRip - AVC
|
|
alex9012
Стаж: 17 лет 7 месяцев Сообщений: 266
|
alex9012 ·
28-Май-09 22:57
(спустя 1 день)
Задам глупый и не спорный вопрос!
Какими фильтрами лучше обрабатывать аниме?
Дело в плохой плёнке ,так как само аниме 1978 года!
И много дефектов,картинка иногда подрыгивает и много шума!
|
|
Pustovetov
Стаж: 17 лет Сообщений: 4255
|
Pustovetov ·
28-Май-09 23:32
(спустя 35 мин., ред. 28-Май-09 23:32)
Tempter57 писал(а):
--colormatrix "bt470bg" в командной строке настроек х264 нужен для DVDRip - AVC
Только не стоит забывать, что colormatrix'ы бывают разные и смотреть что же там выдает хотя бы Dgindex =)
alex9012 писал(а):
Какими фильтрами лучше обрабатывать аниме?
Дело в плохой плёнке ,так как само аниме 1978 года!
И много дефектов,картинка иногда подрыгивает и много шума!
Разными ) От шума чистить лучше всего фильтрами на основе mvtools
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
29-Май-09 06:52
(спустя 7 часов)
Pustovetov shellgen Ну, а если особо не парится и для DVDRip-AVC вписать ColorMatrix с использованием clamp=0, то диапазон не сожмётся до 16-235:
ColorMatrix(hints=true, interlaced=true, threads=0, clamp=0) # interlaced=false
Такой вариант возможен или как? Почему спрашиваю: как ни бился, но монитор и телевизор LCD всё-таки по разному показывают именно DVDRip-AVC с колоритмией BT470-2 B,G (DGIndex такую выдаёт) при вписывании в командную строку х264
--colormatrix "bt470bg"
И, пожайлуста, рассматривайте это, как вопрос, а не утверждение.
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
29-Май-09 17:18
(спустя 10 часов, ред. 29-Май-09 20:15)
Tempter57 писал(а):
ColorMatrix(hints=true, interlaced=true, threads=0, clamp=0) # interlaced=false
Такой вариант возможен или как?
Я бы сказал, что ColorMatrix(hints=true, interlaced=false/true, threads=0, clamp=0) является почти лучшим вариантом при перекодировании DVD в XviD/DivX. Колориметрия будет преобразована из того, что DGIndex обнаружит в DVD (по умолчанию это 601, но может быть и SMPTE 240M и даже 709), в 601-ю. Диапазон останется без изменений.
Ну, тут явно предполагается, что мы будем скармливать XviD не YUY2 (как в инструкции на 1-й странице), а YV12 (скажем, с Fast recompress в дубе). Что неплохо, просто надо помнить, что интерлейсный YV12 фундаментально дефективен, и проблемы с хромой неизбежны не только при преобразовании YV12 -> YUY2, но и при вычислениях в ColorMatrix.
С этой точки зрения, я бы все-таки скармливал кодировщику YUY2, но делал преобразование не с ConvertToYUY2, а AutoYUY2. AutoYUY2 - единственный известный мне способ хорошей обработки интерлейсного YV12. В этом случае interlaced=false/true следует просто выкинуть из ColorMatrix. Но поскольку AutoYUY2 будет стоять перед ColorMatrix, то hints перестанут работать. Тут уже надо использовать либо опцию d2v, либо явно задавать колориметрию источника.
Перекодирование из HD в DVD еще интересней с точки зрения колориметрии. Я предложил мои соображения здесь, они вошли теперь в инструкцию в соседнем разделе.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
29-Май-09 18:18
(спустя 1 час)
tartak
Всё это хорошо, спасибо, но мы тут обсуждали колоритмию при перекодировании DVD в формат mkv кодеком х264.
Ситуация такова, к примеру, DGIndex выдаёт на конкретном фильме колоритмию BT 470 B,G. А далее возникает вопрос стоит ли применять:
ColorMatrix(hints=true, interlaced=true, clamp=0) # interlaced=false
или в командной строке настроек х264 лучше прописать:
--colormatrix "bt470bg"
либо другую колоритмию, которую выдаёт DGIndex при анализе исходника.
Казалось, что второй вариант правильный, но у меня (за других не отвечаю) при такой установке результат получается с несколько розоватым оттенком на выходе по сравнению с исходником. Поэтому в мою душу вкралось некоторое сомнение в правильности выбранного пути. У вас достаточно богатый опыт по колоритмии, поэтому буду рад вашей помощи в этом вопросе.
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
29-Май-09 18:33
(спустя 14 мин., ред. 29-Май-09 18:33)
Tempter57
Если между ColorMatrix(hints=true, interlaced=true, clamp=0), у которой на выходе будет 601, и colormatrix "bt470bg" получается разница, значит это проблема с кодировщиком, это же его командная строка. bt470 и 601 - одно и то же. Кстати, получается офтоп.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
29-Май-09 18:41
(спустя 7 мин.)
tartak писал(а):
Tempter57
Если между ColorMatrix(hints=true, interlaced=true, clamp=0), у которой на выходе будет 601, и colormatrix "bt470bg" получается разница, значит это проблема с кодировщиком, это же его командная строка. bt470 и 601 - одно и то же. Кстати, получается офтоп.
То есть AviSynth отрабатывает это корректнее, нежели х264? Правильно ли я понял ваш ответ?
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
29-Май-09 18:55
(спустя 14 мин.)
Tempter57
Нет, я не вполне это имел в виду. Я не сомневаюсь, что на выходе из ColorMatrix(hints=true, interlaced=true, clamp=0) мы имеем честный 601. Я не сомневаюсь, что 601 и 470bg - одно и то же. И в том, и в другом случае, кодировщик что-то делает, но я не знаю, в каком случае у него возникает проблема, со скриптом или с командной строкой. Но, судя по вашему описанию, проблема по-любому должна быть в кодировщике.
|
|
Pustovetov
Стаж: 17 лет Сообщений: 4255
|
Pustovetov ·
29-Май-09 19:07
(спустя 11 мин.)
Tempter57 писал(а):
То есть AviSynth отрабатывает это корректнее, нежели х264? Правильно ли я понял ваш ответ?
x264 ничего не делает, а просто добавляет этот флажок в видеопоток. Если декодер правильный, то должно быть все нормально. Если не правильный, то он может игнорировать этот флажок или делать что-то не так.
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
29-Май-09 20:07
(спустя 1 час)
Может быть, может быть. Но тогда этот самый декодер воспринимает 601 и 470bg по-разному, что весьма удивительно..
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
29-Май-09 20:08
(спустя 45 сек.)
tartak Pustovetov
Спасибо, ребята за ваши ответы, буду копаться дальше
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
29-Май-09 22:38
(спустя 2 часа 29 мин.)
Pustovetov писал(а):
Tempter57 писал(а):
То есть AviSynth отрабатывает это корректнее, нежели х264? Правильно ли я понял ваш ответ?
x264 ничего не делает, а просто добавляет этот флажок в видеопоток. Если декодер правильный, то должно быть все нормально. Если не правильный, то он может игнорировать этот флажок или делать что-то не так.
Собственно оффтоп...
colormatrix/fullrange/overscan/... в h264 потоке такие же флаги, как например PAR, енкодер только прописывает его в заголовок потока, x264 никоим образом на колоритмию влиять не может, как получил yv12, таким же передал на выход, за минусом артефактов собственно компрессии.
Всё остальное при воспроизведении - на совести декодера и его настройки.
Чтобы не гадать где там что сбилось, я например настроил ffdshow таким образом, запретив выплёвывать ниже по цепочке всё, отличное от RGB:
О том, с какими коэффициентами ffdshow переводит YUV в RGB достаточно прозрачно написано в всплывающей подсказке на втором скрине.
О том, как себя ведут прочие декодеры - см. выше по теме, в частности в ссылках.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
30-Май-09 08:29
(спустя 9 часов)
shellgen
Если у меня TV LCD и подключен сейчас к видеокарте PC по VGA , необходимо в ffdshow в Output levels сужать диапазон, установив TV/Projector (RGB:16-235)?
|
|
shellgen
Стаж: 18 лет 1 месяц Сообщений: 6417
|
shellgen ·
30-Май-09 22:14
(спустя 13 часов, ред. 30-Май-09 22:14)
Tempter57 писал(а):
TV LCD
все телевизоры, насколько мне известно, рассчитаны строго под TV диапазн, т.е. 16-235/16-240
Tempter57 писал(а):
подключен сейчас к видеокарте PC по VGA
а вот это есть плохо... надо объяснять почему ?
|
|
|