Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Ср Апр 23, 2008 10:18 am Заголовок сообщения: Многопроходное кодирование | MeGUI, VD(M) ... |
|
|
Прямо с этой странички скачал протестить. Но если так посчитать, то настроек действиельно, больше одной.
К слову каждый из проходов должен быть с одинаковыми настройками иначе толку от многопроходности меньше.
Долго разбираться с инглишем, потому не знаю точно, есть ли в этой версии кодировщика опция очистки мусора. Её нет смысла использовать во всех проходах, хватает одного раза, на последнем. Если сильно ей увлечься, оголятся скрытые квадраты. Можно поискать и другие настройки ненужные на первом проходе. С битрейтами неясно, какие они на первых проходах. В целом согласен, ленивые юзеры только такого и достойны.
Например, в ней нет обработчика ошибок, так что если у тебя что-то не закодится- ты не узнаешь, почему ))
В принципе, это гуёвая надстройка над консольными утилитами. Если показать консоль, какие-то ошибки высветятся сами. Но, действительно, народ такой заботы о нём не поймёт, и так сойдёт
------------------
Endymion: Данная тема НЕ для новичков. Здесь будем обсуждать только примудрости многопроходного кодирования. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Ср Апр 23, 2008 2:40 pm Заголовок сообщения: |
|
|
Бармалино писал(а): | Долго разбираться с инглишем, потому не знаю точно, есть ли в этой версии кодировщика опция очистки мусора. Её нет смысла использовать во всех проходах, хватает одного раза, на последнем. Если сильно ей увлечься, оголятся скрытые квадраты. Можно поискать и другие настройки ненужные на первом проходе. С битрейтами неясно, какие они на первых проходах. В целом согласен, ленивые юзеры только такого и достойны. |
Не совсем понял тебя. Квадраты зависят от значений альфа и бета деблоккинга. Что за очистка мусора? Встроенный денойсер? В жизни его не применял и никому не советую, ибо плохой. Для таких целей ависинт - наше все.
Вообще одинаковыми должны быть все настройки, которые так или иначе могут влиять на качество. При первом проходе видео кодируется с указанным битрейтом и собирается статистика, во 2м проходе учитывая эту статистику, для каких-то кадров битрейт понижается, для каких-то повышается, зас счет полученного "свободного" битрейта Тоесть например при битрейте 4k и картинке ХД, полностью черный отрезок видео может стать 100kbps, а самый детализированный, разноцветный и т.д. - 15mbps. Если же на каком-то из проходов изменить какие-то параметры, статистика будет не верна.
Ну да ладно, это уже не очень к AMVsimple относится... |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Ср Апр 23, 2008 5:31 pm Заголовок сообщения: |
|
|
Код: | nr=<0−100000>
Подавление шума, 0 означает отключено. 0−600 − разумный диапазон для типичного содержимого, но вы можете захотеть несколько увеличить это значение для очень шумного контента (по умолчанию: 0). В связи с малым влиянием на скорость, вы, возможно, предпочтете его таким фильтрам, как denoise3d или hqdn3d. |
Большого вреда на последнем проходе от него не видел, возможно не ввезде это есть.
С битрейтом ты меня удивил. Зачем что-то перераспределять если всё лишнее уже отрезано, а следущий проход будет с тем же битрейтом. Подобная схема сработает лишь в том случае если видео в первых двух проходах не кодируется а только собирается статистика или он трижды кодирует одно и тоже что сильно похоже на бред. Если же видео реально кодируется три раза, возможно кодировщик самостоятельно завышает битрейт в первом проходе. Чтобы понять что он на самом деле творит нужно проследить за размером временного файла. Реально проверено, чем больше битрейт на первом проходе тем лучше конечный результат. Но слишком намного битрейт между проходами не может различаться изза статистики. Имхо, для того и нужен третий проход чтобы на первом битрейт можно было поднять до ~20000. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Ср Апр 23, 2008 5:52 pm Заголовок сообщения: |
|
|
Блин, так не хотелось разделять эту тему, но видимо придется. Но это вечером. А пока отпостю...
Бармалино писал(а): | Зачем что-то перераспределять если всё лишнее уже отрезано, а следущий проход будет с тем же битрейтом |
Ты выставляешь определенный битрейт, например 1500, а энкодер во время второго прохода или более распределяет его между кадрами/группами кадров. на какую-то группу придется 200kbps, на какую-то 2000, но в сумме по размеру файл будет такого же размера, каким был бы при постоянных 1500kbps. Чем больше проходов, тем лучше распределяется битрейт и тем точнее мы выходим на нужный размер файла.
Статистика собирается или не собирается в зависимости от настроек, но при любом проходе видео кодируется по заданным параметрам. Разница только в том, получишь ли ты видеофайл после завершения или нет. Статистика собирается при первом проходе и при третьем не зависимо от того, сколько раз он применен и не србирается при втором ибо он есть завершающий.
Бармалино писал(а): | Реально проверено, чем больше битрейт на первом проходе тем лучше конечный результат. Но слишком намного битрейт между проходами не может различаться изза статистики. Имхо, для того и нужен третий проход чтобы на первом битрейт можно было поднять до ~20000. |
Нет, это не так. На самом деле проходов может быть сколько угодно и это субъективно нужен он или нет. Схема приблизительно такая:
Шаг1: 1st pass - видео кодируется, собирается статистика, сам видео файл на выходе не получаем
Шаг2: 3rd pass - видео кодируется используя статистику 1го прохода, собирается новая статистика, видео фай получаем
Шаг3: 2nd pass он же final pass
- видео кодируется используя статистику, полученную в шаге2, статистика не собирается, видео получаем.
Эта схема трехпроходного кодирования, которое в мегуи называется automated 3pass.
двухпроходное кодирование:
Шаг1: 1st pass
Шаг2: 2nd pass он же final pass
четырехпроходное кодирование:
Шаг1: 1st pass
Шаг2: 3rd pass
Шаг3: 3rd pass
Шаг2: 2nd pass он же final pass
Опечаток здесь нет! Так, что-то я отвлекся. Если настройки кодирования будут отличаться - будет отличаться статистика.
Что получится:
Файл закодировался -- собралась статистика, как лучше распределить битрейт во 2м проходе -- мы поменяли настройки кодирования на 2м проходе, но заюзали старую статистику == битрейт распределился хуже, чем мог бы... |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Пт Апр 25, 2008 11:47 am Заголовок сообщения: |
|
|
Нашёл в техдокументации этот способ, но кодировщик в командной строке поддерживает и другой. Исходное видео читается только один раз, при первом проходе. На втором читается видео полученное в первом, на третьем полученное во втором. Параметр pass прописывается также как и обычно, меняются только названия читаемого и создаваемого файлов. Битрейт должен быть разным, иначе смысла нет. Если во втором проходе указать нереально низкий битрейт, кодировщик кодирует, но просит поднять его до определённого значения. Если бы статистика не использовалась, он бы этого не просил. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Пт Апр 25, 2008 2:15 pm Заголовок сообщения: |
|
|
Бармалино
Эээ не понял немного Бармалино писал(а): | видео читается | это в смысле статистика собирается? Если так то получается то же о чем я писал в схеме: 1st pass -- 3rd pass -- 2nd pass
Бармалино писал(а): | Битрейт должен быть разным, иначе смысла нет. |
Не понимаю зачем он дожен быть разным. Расскажи о принципе работы. Для чего конкретно это нужно?
Бармалино писал(а): | Если во втором проходе указать нереально низкий битрейт, кодировщик кодирует, но просит поднять его до определённого значения. Если бы статистика не использовалась, он бы этого не просил. |
Не вижу особой связи между просьбой повысить битрейт и сбором/несбором статистики. |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Пт Апр 25, 2008 5:58 pm Заголовок сообщения: |
|
|
это в смысле статистика собирается? Если так то получается то же о чем я писал в схеме: 1st pass -- 3rd pass -- 2nd pass
Нет, фишка не в pass. Ты описал схему:
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=1
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=3
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=3
А я в последнем посте говорил о таком:
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=11000:pass=1
mencoder file1 -o file2 -oac copy -ovc x264 -x264encopts bitrate=1000:pass=2
С третьим проходом обнаружилась какая-то лажа, необходимо ещё протестить.
Не вижу особой связи между просьбой повысить битрейт и сбором/несбором статистики.
Видеофайл-то всё-равно создаётся, если конечно не направить вывод на нулевое устройство. На битрейте ниже определённого кодировщик не может использовать собранную статистику для создания нового видеофайла. Менкодер входит в состав менгуя, качается при обновлении. Но так как у меня обновления качаться отказались, не знаю, включена в нём ли при компиляции поддержка х264. Скорее всего нет. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Пт Апр 25, 2008 6:15 pm Заголовок сообщения: |
|
|
Бармалино писал(а): | Нет, фишка не в pass. Ты описал схему:
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=1
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=3
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=950:pass=3 |
Я спросил что ты имел ввиду под словами "видео читается". Только и всего. Бармалино писал(а): | А я в последнем посте говорил о таком:
mencoder file0 -o file1 -oac copy -ovc x264 -x264encopts bitrate=11000:pass=1
mencoder file1 -o file2 -oac copy -ovc x264 -x264encopts bitrate=1000:pass=2
С третьим проходом обнаружилась какая-то лажа, необходимо ещё протестить. |
Ну это и так понял. Я рассказал для чего и почему битрейт должен быть одинаковым. Расскажи мне что конкретно дает энкодеру завышение битрейта или разность битрейтов на определенны проходах. |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Пн Апр 28, 2008 11:00 am Заголовок сообщения: |
|
|
Протестил, взглянул на содержимое лога, в нём нет имён файлов. Практически одинаковый результат. Метод с разным битрейтом имеет смысл при желании что-то нестандартно отфильтровать или поэкономить носитель на котором находится исходник видео. Фишка в логе: хоть в нём и содержится минимум информации, но по ней можно восстановить алгоритм получения "картинки" при предыдущем проходе. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Чт Май 01, 2008 6:40 pm Заголовок сообщения: |
|
|
Короче вывод: полезности в выставлении разного битрейта на разных проходах нет абсолютно, и скорее всего это пойдет только во вред, я уже писал почему.
Чтобы убедить меня в обратном, надо как минимум объяснить мне принцип работы этого способа. Что конкретно это дает энкодеру, что именно он сможет сделать при разном битрейте, чего не получится при одинаковом. А всякие там фишки и логи... к чему это? Это не ответ на вопрос. Фильтрация тут вообще никаким боком. |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Пт Май 02, 2008 1:21 pm Заголовок сообщения: |
|
|
Дополнительные изыскания дали понимание механизмов необходимое для выжимания "ещё недовыжатых соков" из кодировщика. Необходимая инфа располагалась в различных источниках. Теперь лучшие возможности AMVsimple можно использовать и без него самого сжимая аудиодорожку в полной версии так как этого хочется и выбирая кодировщик по вкусу. Что же касается сжатия видео в AMVsimple что-то улучшить на данный момент можно лишь опциями кодирования Раз используются --bframes и --merange, то почему-бы их для полной версии не использовать в максимальном значении? А для превью оставить всё как есть. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Пт Май 02, 2008 2:08 pm Заголовок сообщения: |
|
|
Бармалино
Потому, что много б-фреймов не всегда хорошо. Это сильно сжатые кадрры более низкого качества чем все остальные и используются только для более удачного распределения битрейта.
--merange по данным тестов не стоит ставить выше чем в значение 32. прирост качества от этого минимальный, зато скорость кодирования возрастает ощутимо.
Ну и вообще идеальные параметры для любого случая подобрать невозможно, потому из можно менять самому... |
|
Вернуться к началу |
|
|
Бармалино
Пол: Желанный гость Рега: 15.01.2008 Сообщения: 526
|
Добавлено: Пт Май 02, 2008 4:38 pm Заголовок сообщения: |
|
|
В документации написано такое:
Цитата: | bframes: Если Вы занимались кодированием с другими кодеками, то могли заметить, что B-кадры не всегда полезны. В H.264 это изменилось: есть новые техники и типы блоков, возможные в B-кадрах. Обычно, даже примитивный алгоритм выбора B-кадров может дать значимую выгоду для PSNR
(no)b_pyramid
Позволяет B-кадрам использоваться как ссылки для предсказания других кадров. Например, предположим 3 последовательных B-кадра: I0 B1 B2 B3 P4. Без этой опции, B-кадры следуют тому же шаблону, что и в MPEG-[124]. Таким образом они кодируются в порядке I0 P4 B1 B2 B3, и все B-кадры предсказываются из I0 и P4. С этой опцией, они кодируются как I0 P4 B2 B1 B3. B2 такой же как и выше, но B1 предсказывается из I0 и B2, а B3 предсказывается из B2 и P4. Это обычно дает несколько улучшенное сжатие практически без потерь в скорости. Однако, это экспериментальная опция; она не полностью настраивается и не всегда помогает. Требуется bframes >= 2. Недостатки: увеличивает задержку декодирования до двух кадров.
(no)b_adapt
Автоматически решает когда и в каких количествах использовать B-кадры, вплоть до максимального значения, указанного выше (по умолчанию: включено). Если опция отключена, используется максимальное количество B-кадров.
|
Если, по мнению кодировщика, много В кадров не надо, при включенном b_adapt их количество автоматически уменьшится. А если он использует 16 В кадров, то скорее всего у него есть идеи по их применению. |
|
Вернуться к началу |
|
|
Endymion
Пол: Модератор Рега: 26.03.2007 Сообщения: 566
|
Добавлено: Пт Май 02, 2008 6:37 pm Заголовок сообщения: |
|
|
Бармалино
"Адапт" там и так включен (тоесть НЕ выключен). По данным тестов, прироста качества я не заметил. Конечно от "подопытного зависит", но в АМВ (в отличие от аниме) много Б-фреймов в любом случае не нужно. И на скорости кодирования это точно отражается не в лучшую сторону. Так что кому надо - имеет возможность исправить как ему угодно. Кто не знает что это такое - тем и так сойдет. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|