Videorip.info

Учимся кодировать видео и делимся опытом

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Bookmark and Share
Обсуждаем настройки, проблемы и особенности кодирования.
  • Страница:
  • 1
  • 2

ТЕМА: Как найти оптимальные настройки кодирования для ультра-динамичных видео. Мой метод.

Как найти оптимальные настройки кодирования. Мой метод. 5 года 4 мес. назад #3848

  • Zikfrid3000
  • Zikfrid3000 аватар
  • Не в сети
  • Модератор
  • Век живи, век учись!
  • Сообщений: 292
  • Спасибо получено: 161
Эти штуки используются при кодировании с переменным битрейтом задают потолок максимального битрейта, при превышении которого(во время анализа) энкодер начнёт принудительно повышать квантизеры всех кадров буффера (1 сек), дабы вписаться в ограничение, до тех пор пока ситуация не разрядится. Так же используется для аппаратной совместимости: не все железные декодеры могли обработать кадры полностью, хотябы потому что оперативная память у них не бесконечна - вот тут-то и нужен вбв, он помогет избежать вывода на экран "битых" кадров, а некоторые декодеры так вообще добравшись до высокого битрейта прекращают или даже не начинают воспроизведение.
Последнее редактирование: 5 года 4 мес. назад от Zikfrid3000.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 4 мес. назад #3849

  • maxmister
  • maxmister аватар
  • Не в сети
  • Знаток
  • Сообщений: 395
  • Спасибо получено: 86
так вот как их правильно выбрать?
кодировал динамичный ролик:
- при готовом присете - 17000 / 14000, фаил в итоге получился 150мб. (кодировалось из 1080р в 1080р)
- в ручную VBV уменьшено в 4раза, фаил в итоге получился 49мб.

разницы по качеству файлов нет. картинка тестилось на imax телевизоре.

п.с. может есть какой-то тест-скрипт, чтобы определить нужное значение?!
Последнее редактирование: 5 года 4 мес. назад от maxmister.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 3 мес. назад #3861

  • Bill_Ein
  • Bill_Ein аватар
  • Не в сети
  • Вникает
  • Сообщений: 91
  • Спасибо получено: 46
maxmister пишет:
так вот как их правильно выбрать?
подбирать не надо, для стандартных разрешений уже существуют стандартные ограничения, просто погуглите
maxmister пишет:
разницы по качеству файлов нет. картинка тестилось на imax телевизоре.
ах-ха-хах
Последнее редактирование: 5 года 3 мес. назад от Bill_Ein.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 2 мес. назад #3875

  • maxmister
  • maxmister аватар
  • Не в сети
  • Знаток
  • Сообщений: 395
  • Спасибо получено: 86
Bill_Ein пишет:
maxmister пишет:
разницы по качеству файлов нет. картинка тестилось на imax телевизоре.
ах-ха-хах
и что смешного? - картинка проверялось на артефакты и четкость изображения.
Последнее редактирование: 5 года 2 мес. назад от maxmister.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3888

  • shevach
  • shevach аватар
  • Не в сети
  • Новичок
  • Сообщений: 22
  • Спасибо получено: 21
Bill_Ein, позвольте добавить мои соображения по поводу вашего комментария:
"--direct spatial - ставить всегда при кодировании по CRF"

Мои эксперименты по много-параметрической оптимизации X264 (pass=1) с помощью генетических алгоритмов (the fitness = 1/2performance +1/2bitsize) по достаточно большой DB (data base) или выборке показывают что 'direct spatial' vs. 'direct auto' gives a gain ~0.5% in performance and a negligible penalty ~0.01% in bit-rate.

Oбщий вопрос - мне не очень удобно писать по русски, как в целом форум отнесеться к plain English
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3890

  • shevach
  • shevach аватар
  • Не в сети
  • Новичок
  • Сообщений: 22
  • Спасибо получено: 21
Важно отметить что spatial direct усиливает "сопротивляемость к ошибкам" (to enhance error resilience).
Поэтому если вы ожидаете потерю пакета или bit flip-flop то желательно включать spatial direct.

Indeed, in temporal direct MVs are predicted from previous frames and if the previous frame is lost or corrupted then MVs can't be correctly predicted.
In case of spatial direct, MVs are mainly predicted from neighboring blocks and loss of the previous frame impacts on reference samples only.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3891

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Всю жизнь учусь...
  • Сообщений: 938
  • Спасибо получено: 488
Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.
Гостям запрещено создавать сообщения!
Спасибо сказали: serega6900

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3896

  • Bill_Ein
  • Bill_Ein аватар
  • Не в сети
  • Вникает
  • Сообщений: 91
  • Спасибо получено: 46
В общем последние эксперименты показали, что

1) на crf 30-18 при
--preset placebo --deblock +0:+0 --no-psy
результаты лучше, чем
--direct spatial --deblock +0:+0 --ref 7 --bframes 12 --b-adapt 2 --trellis 2 --me tesa --subme 11 --partitions all --no-mbtree --aq-mode 2 --no-dct-decimate --no-psy
но в тоже время можно абсолютно точно сказать, что
на crf 17-12 ситуация очевидно в пользу второго набора настроек кодирования, а не первого.
Так получается потому что второй набор стремится сохранить больше деталей и точнее их перемещение, чем первый, что хорошо при пониженных CRF и плохо при повышенных, т.к. на повышенных попросту не хватает битрейта для этого.

2) при кодировании по второму набору настроек в подавляющем большинстве случаев оптимальное bframes лежит в диапазоне от (ref*2 - 2) до (ref*2 +2).
Т.к. значение bframes в этом диапазоне сдвигается в большую сторону по отношению к продолжительности видео и ограничивается значением 16, то для ref больше 7 найти оптимальное bframes для видео продолжительностью более 5 минут часто бывает невозможным и не стоит даже пытаться его искать. Проще приравнять к ref или выкрутить на максимум.

3) при кодировании по первому набору настроек в подавляющем большинстве случаев оптимальные ref и bframes ограничиваются лишь необходимым level по отношению к разрешению и терпением рипера/кодера.

4) ограничение кол-ва потоков "threads" (не путать с проходом "pass") до 1 ведёт к сильной блочности на сложных градиентах, а в особенности на чёрно-синих

5) алгоритм mbtree ОЧЕНЬ-ОЧЕНЬ плохо сохраняет как оригинальный шум, так и шум от psy-rd. Это также одна из причин почему первый набор настроек лучше для CRF30-18, а второй (при no-mbtree) для CRF17-12.
Последнее редактирование: 5 года 1 мес. назад от Bill_Ein.
Гостям запрещено создавать сообщения!
Спасибо сказали: admin

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3897

  • Bill_Ein
  • Bill_Ein аватар
  • Не в сети
  • Вникает
  • Сообщений: 91
  • Спасибо получено: 46
Bill_Ein пишет:
2) при кодировании по второму набору настроек в подавляющем большинстве случаев оптимальное bframes лежит в диапазоне от (ref*2 - 2) до (ref*2 +2).
Т.к. значение bframes в этом диапазоне сдвигается в большую сторону по отношению к продолжительности видео и ограничивается значением 16, то для ref больше 7 найти оптимальное bframes для видео продолжительностью более 5 минут часто бывает невозможным и не стоит даже пытаться его искать. Проще приравнять к ref или выкрутить на максимум.
Забыл добавить, что иногда бывают случаи, когда оптимальный bframes лежит в диапазоне близком к ref. В таких случаях даже для ref =13 реально подобрать оптимальное bframes, но для большой продолжительности видео шкурка выделки не стоит, особенно учитывая ограничения на ref для HD и FullHD обусловленные Level 4.1. Так что подбор оптимальных ref и bframes актуален только для SD и HD видео продолжительностью от 30 секунд до 10 минут, в остальных случаях проще выставить максимальный ref по Level и равный ему bframes если имеем дело с HD или Full HD и максимальный (16) если с SD.
Последнее редактирование: 5 года 1 мес. назад от Bill_Ein.
Гостям запрещено создавать сообщения!

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3898

  • shevach
  • shevach аватар
  • Не в сети
  • Новичок
  • Сообщений: 22
  • Спасибо получено: 21
Следует быть осторожным с bframes. Blu-Ray запрещает использования больше трех последовательных (consecutive) bframes.
Ну а если вы все же используете 3 или более bframes тогда лучше строить пирамиду (--b-pyramid)
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv

Как найти оптимальные настройки кодирования. Мой метод. 5 года 1 мес. назад #3909

  • Bill_Ein
  • Bill_Ein аватар
  • Не в сети
  • Вникает
  • Сообщений: 91
  • Спасибо получено: 46
shevach пишет:
Следует быть осторожным с bframes. Blu-Ray запрещает использования больше трех последовательных (consecutive) bframes.
Ну а если вы все же используете 3 или более bframes тогда лучше строить пирамиду (--b-pyramid)
Не 3, а 4 по стандарту 4.1 для внешних "железных" BD-проигрывателей. Т.е. для привода или просто рипа можно хоть 16 впендюрить.

Вообще я вижу только 4 возможных варианта кодирования:
1) old online/old mobile: cabac=none, deblock=none, b-pyramid=none, b-adapt=0, keyint_max</=fps, ref</=2, bframes=0
2) online/mobile/PSP/BD: keyint_max=fps, b-pyramid=1, b-adapt=0, 2</=ref</=4, 2</=bframes</=4
3) online/mobile/PSP: b-pyramid=2, b-adapt=2, ref=2, bframes=2
4) normal/HQ: b-pyramid=2, b-adapt=2, ref>/=4, bframes>/=4
Последнее редактирование: 5 года 1 мес. назад от Bill_Ein.
Гостям запрещено создавать сообщения!
Спасибо сказали: videoDVDkhv
  • Страница:
  • 1
  • 2
Время создания страницы: 0.115 секунд