Dali говорит:
Кстати, crop надо бы выравнивать до 16, в большую сторону. Если например сверху поле 12 пикс, отрезать 16. Потому что эти оставшиеся 4 были закодированы с плохим качеством, из-за неоптимальной работы кодеков и фильтров в таких местах. Есть такая информация. Но её нужно проверять.
Но при этом надо не отрезать слишком много некачественной, но полезной площади. Наверно надо задать максимум в процентах от измерения (H или W).
http://aquatique.rusunix.org/mencoding.html: 
"Однако не стоит забывать, что каждый макроблок имеет размер 16x16 пикселей, то есть ширина и высота обрезанного видео должны быть кратны 16. Лучше немного заехать на изображение, чем оставить черную полосу в 2-3 пиксела".
UPD: cropdetect по умолчанию округляет выход до 16, но в какую сторону, надо тестить.
Отредактированно Dali (22-07-2008 10:16:42)
Неактивен
zap говорит:
Dali говорит:
3) Увлечение тестовыми цифрами (PSNR) и тестовыми роликами со временем перерастает в понимание, что глаз видит по-другому.
Ох, давай не будет затрагивать прозрачность звука и вуалевые дымки :-) Я как инженер склонен доверять показаниями приборов и своим собственным глазам.
... raising overall subjective quality, while possibly reducing PSNR.
(c) mencoder docs
Это я хотел сказать. Что субъективное качество не всегда совпадает с показаниями приборов. Это же я читал во многих серьёзных анализах кодеков и сравнениях.
Я сейчас снова перечитываю теорию и провожу тесты, и то что всплывает, отписываю сюда. Не спора ради, а пользы дела для.
Неактивен
У тебя при включении Denoise добавляется фильтр hqdn3d с параметрами по умолчанию, т.е. hqdn3d=4:3:6.
Это очень сильная фильтрация. luma:chroma=4:3 это предельная фильтрация на самом плохом материале. Он будет замыливать, если при кодировании фильма уже проходились фильтром (а это в большинстве случаев), хоть и не всегда достигая хорошего результата.
tmp=6 будет оставлять видимые следы при быстрых движениях (кто-то взмахнёт рукой, или пробежит). 4 - это предел.
Я на последних 13 фильмах использовал 0:0 - 5 раз, 2:1 - 6 раз, и 4:3 - 2 раза. А tmp - :0 - 5 раз, :1 - 1 раз, :2 - 3 раза, :4 - 4 раза.
Так что, если не использовать регуляторы фильтров (denoise=0/1/2/4 и temporal=0/1/2/4, соответственно hqdn3d=D: D-1 :T), то хотя бы использовать hqdn3d=2:1:4.
Отредактированно Dali (22-07-2008 11:56:34)
Неактивен
zap говорит:
Dali говорит:
Фильтры применяются в таком порядке: crop,scale,pp,hqdn3d,unsharp.
pp надо использовать самым первым. Если сдвинуть его хотя бы после crop, макроблоки уже сьехали чёрт-знает-как (не будут на границах кратных 8), и фильтр будет работать соответственно чёрт-те-как. После scale я вообще молчу что станет с макроблоками.
Таки да. Испытания на очень заквадраченом ролике показали:
crop/scale/pp PSNR=43.98 bitrate=1210 Time=18 min
crop/pp/scale PSNR=43.86 bitrate=1210 Time=18 min
pp/crop/scale PSNR=47.25 bitrate=1090 Time=10 min
Вот откуда ноги растут у низкой скорости моего кодирования.
Кстати, нашёл и другие тормозящие опции, дающий слишком маленький прирост качества.
Вот долижу lavc, потом сравню fixed quality с 2-проходным, а там займусь xvid.
Неактивен
Dali, спасибо за настойчивость :-)
Пока что поставил hqdn3d=2:1:4. Публиковать опять .deb не стану, достаточно открыть autoconvert.py и в строке 277 заменить:
vf = AddFilter (vf, _("video"), "hqdn3d")на:
vf = AddFilter (vf, _("video"), "hqdn3d=2:1:4")Насчёт выравнивания - tinyavi с самого начала выравнивает размер видео кратным шестнадцати (отрезанием вниз), независимо от того, то выдаёт cropdetect (несколько лет назад, откуда растут ноги у моего скрипта, cropdetect ничего не выравнивал).
man mplayer говорит:
... raising overall subjective quality, while possibly reducing PSNR.
Надо чётко понимать, что никакой магии здесь нет, но всего лишь имеется в виду, что можно к примеру пожертвовать деталями заднего фона в пользу бОльшей детализации обьектов переднего плана, при этом общий PSNR кадра действительно упадёт, однако если брать локальный PSNR - на обьектах переднего плана, то он явно увеличится.
Однако к сравнению кодеков, ссылку на которое я приводил выше, это никакого отношения не имеет - на кадрах, которые там приводятся заметно именно что потеря деталей на обьектах переднего плана в lavc по сравнению с xvid.
Отредактированно zap (23-07-2008 04:37:51)
Неактивен
zap говорит:
Dali, спасибо за настойчивость :-)
Просто я сам тоже этим занимаюсь, много лет, правда очень вяло. tablet-encode дал мне новый толчок, а теперь вот tavi.
В новых тестах заметил артефакты, которые повернули меня в сторону xvid. Возможно, он действительно развивался сильнее lavc/mpeg4. Правда, сравнить кодеки на целом фильме смогу после отпуска, на работе.
У тебя стоит опция turbo, которая по докам заметно ухудшает качество и рекомендуется только для быстрого некачественного кодирования. Тестировать разницу я не планирую, не принимаю для себя опции, хоть немного ухудшает к-во ради скорости.
Ещё у тебя используется vhq=2. vhq=4 замедляет незначительно (<10%), и хоть улучшает PSNR всего на 0.01, но уменьшает битрейт на 1.5%. Для меня это перевешивает. К тому же это без фильтра hqdn3d. С ним процент замедления еще уменьшится.
Неактивен
Насчёт турбо я планировал протестировать, но пока руки не дошли.
Когда я это тестил достаточно давно, эта опция давала очень незначительное уменьшение PSNR, откуда я сделал вывод, что в принципе она не сильно портит, но при этом ощутимо ускоряет.
Надо будет провести ещё один тест на свежем кодеке.
Насчёт vhq=4 мои эксперименты показали мне совсем другое:
vhq = 2:
Video stream: 405.315 kbit/s (50664 B/s) size: 9498557 bytes 187.480 secs 4687 frames
xvid: Min PSNR Y:35.23, Cb:45.80, Cr:47.94, All:36.84 in frame 2079
xvid: Average PSNR Y:40.50, Cb:48.14, Cr:49.05, All:41.94 for 4686 frames
xvid: Max PSNR Y:50.96, Cb:51.36, Cr:53.01, All:51.31 in frame 3303
Время кодирования: 0m58.241s
vhq = 4:
Video stream: 405.109 kbit/s (50638 B/s) size: 9493733 bytes 187.480 secs 4687 frames
xvid: Min PSNR Y:35.48, Cb:44.15, Cr:44.66, All:36.97 in frame 2301
xvid: Average PSNR Y:40.56, Cb:48.08, Cr:49.02, All:41.99 for 4686 frames
xvid: Max PSNR Y:51.09, Cb:52.27, Cr:52.79, All:51.52 in frame 3301
Время кодирования: 1m25.743s
Итого:
Время кодирования увеличилось на 47%.
Среднее PSNR увеличилось на 0.06dB.
Не похоже, что овчинка стоит выделки.
Строка была такая:
time mencoder -vf scale=480:204 -nosound -ovc xvid -xvidencopts psnr:bitrate=408:trellis:vhq=4:closed_gop matrixbench_lowerdivx4_vbrmp3.avi -o test-xvid.avi
P.S. Протестировал опцию турбо на том же материале с той же командной строкой. Итого:
vhq=2:
Video stream: 405.074 kbit/s (50634 B/s) size: 9492921 bytes 187.480 secs 4687 frames
xvid: Min PSNR Y:35.04, Cb:46.82, Cr:46.38, All:36.65 in frame 2180
xvid: Average PSNR Y:40.42, Cb:48.16, Cr:49.07, All:41.86 for 4686 frames
xvid: Max PSNR Y:51.60, Cb:55.30, Cr:52.23, All:52.14 in frame 2693
Время кодирования: 0m43.037s
vhq=4:
Video stream: 405.104 kbit/s (50638 B/s) size: 9493613 bytes 187.480 secs 4687 frames
xvid: Min PSNR Y:35.13, Cb:45.61, Cr:47.89, All:36.74 in frame 2079
xvid: Average PSNR Y:40.52, Cb:48.09, Cr:49.02, All:41.95 for 4686 frames
xvid: Max PSNR Y:50.58, Cb:54.18, Cr:52.04, All:51.24 in frame 2700
Время кодирования: 1m4.950s
Итого:
При vhq=2 опция turbo ускорило кодирование на 26%, среднее PSNR упало на 0.08dB.
При vhq=4 опция turbo ускорило кодирование на 24%, среднее PSNR упало на 0.04dB.
Отредактированно zap (23-07-2008 11:15:36)
Неактивен
Видимо, при 2-проходном и fixed q опции на скорость влияют по-разному.
Кстати, trellis и closed_gop включены по умолчанию.
Неактивен
closed_gop я от балды добавил, думал потом посмотреть что изменится от noclosed_gop, но не успел.
P.S. попробовал, ничего хорошего.
Отредактированно zap (23-07-2008 11:22:58)
Неактивен
Изменится совместимость с другими плеерами. Плюсов не обещается. Не рекомендуется.
Неактивен
Огромное спасибо за наводку
Как раз та программа, которую давно искал:
1. можно составить список файлов для конвертации
2. простой интерфейс без лишних наворотов
Не пробовал, правда, ДВД кодировать, но, надеюсь, проблем не будет ![]()
Неактивен
Гм.
DVD пока что не поддерживается.
А оно надо?
У меня лично ни одгого DVD нету в наличии, зато авишников в локалке хоть залейся... :-)
P.S. Ну что, пожалуй этим вечером выложу версию 0.2.1 в публичный доступ. Пока вроде как замечаний больше нет ![]()
Отредактированно zap (31-07-2008 07:31:35)
Неактивен
Вообще есть много DVD у меня
И некоторые, например, последний фильм Г. Ричи "Револьвер" или "Фонтан" Д. Аранофски хотелось бы иметь на планшете, так как очень они мне нравятся ![]()
Насколько я понимаю, для поддержки DVD надо просто правильно передавать mencoder аргумент с ссылкой на ifo-файл. Только вот прямая передача этого файла в качестве аргумента вряд ли даст желаемый эффект. Там параметр надо подкрутить немного.\
В общем, думаю, что с поддержкой DVD (в одной из следующих версий) TinyAVI будет пользоваться очень хорошим спросом ![]()
Неактивен
В tavi принят порядок фильтров pp/crop/hqdn3d/unsharp/scale. Я считаю правильным и применяю такой порядок: pp/crop/scale/hqdn3d/unsharp (признаться, pp вывел вперёд после изучения tavi, и проведения тестов). Сегодня провёл тесты (на целом фильме) на расположение scale. Мой порядок даёт небольшие: прирост PSNR 0.1, уменьшение необходимого битрейта и ускорение кодирования (за счёт того, что фильтруется меньшая площадь).
И вопрос. unsharp здесь применяется только для luma, хотя разработчики предлагают по умолчанию такие же значения и для chroma. Почему? Жаль здесь PSNR не поможет, надо оценивать визуально на чётких границах разных цветов.
Неактивен
Да, есть смысл задвинуть unsharp после масштабирования, так как оказалось что он серьёзно затормаживает процесс кодирования (примерно в полтора раза). Однако есть сомнения насчёт целесообразности передвижения hqdn3d на стадию после масштабирования, ибо hqdn3d, как мне кажется, наилучшим образом будет работать именно на исходном видео. Ведь всякие дефекты типа шумов оцифровки имеют размер примерно в один пиксель, после масштабирования это будет уже чёрт-те-что (этот пиксель просто размажет). Поэтому я пока воздержусь от передвижения hqdn3d, до серьёзной проверки целесообразности.
Внёс последнее изменение (подвинул unsharp после scale) и зарелизил версию 0.2.3. Поправил некоторые очень неприятные баги версии 0.2.2, проявившиеся в Fedora 8 (у меня 9), а также общие глюки (например в диалоге выбора файлов фильтр "Все файлы" не показывал на самом деле ни одного файла).
Ещё спрятал поле 'имя выходного файла' в режиме для простых пользователей, добавил поддержку драг'н'дропа (можно кидать файлы в окно программы с десктопа или из Наутилуса или ещё откуда-нибудь), сделал возможным минимизацию окошка, поправил некоторые глюки при работе с файлами с русскими буквами в имени.
Скачать можно, как обычно, отседова:
http://developer.berlios.de/project/sho … up_id=9512 
Неактивен
Чем обусловлен выбор volnorm=2 вместо дефолтного 1?
Вопрос всем, кто знает. Нигде (и у разработчиков) не нашёл подробного описания.
Неактивен