Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Общая методика расчёта битрейта проста: Битрейт видео считаем по общей формуле T=K*(H*W*F*A*N) [Kbps], где T - битрейт видео H - высота кадра, пиксел W - ширина кадра, пиксел F - частота кадров A - число бит на цвет N - число цветовых каналов (в бытовых и полупрофессиональных камерах обычно 3, в профессиональных и студийных 4) K - зависящий от свойств кодека поправочный коэффициент (для популярных алгоритмов) равный "1/степень сжатия": Кодек,имя | K | H.262 | 0,17 | H.263 | 0,16 | H.264 | 0,043 | H.265 (HEVC) | 0,035 | MPEG2 DVD | 0,047 | MPEG2 | 0,065 | DivX/XviD | 0,16 | это с запасом гарантирует отсутствие искажений движущейся картинки в любых условиях. Брать Т больше нет смысла так как при Т равной расчётному мы передадим всю доступную камере информацию, меньше - часть информации потеряем и тут стоит смотреть динамичность сцен: для статических типа диктор читает текст хватит Т равного 1/3 от номинального, для движущихся - чем выше скорость изменения сцены тем ближе нужно подбираться к полной величине Т, и главное для создания визуального эффекта плавности движения частота кадров должна быть большей 21 - 22 кадра в секунду, вариант принятый в кино (24 кадра в секунду) достаточен для снятия большинства сцен, но там где объект движется быстро (к примеру самолёт есть смысл использовать частоту кадров около 30 кадров в секунду. Частота кадров 50, 60, 100, 120 и более кадров в секунду нужна только в двух случаях - создание стерео изображения или использование чересстрочной (полукадровой, Interlithe) схемы развёртки для передачи сигнала по каналу с ограниченной полосой пропускания (обычно это радио каналы), особенно в условиях сильных помех. В других случаях такая схема вещания не только не нужна, а просто вредна из-за вносимых ей специфических искажений картинки (например "гребёнка"). Суммарный битрейт который нам надо выставить при кодировании равен сумме битрейта видео и аудио дорожек плюс запас 5% и больше ставить не нужно! Берём данное или ближайшее большее значение и "влезаем" с любым видео. Настройка кодека Н.264 (берём вариант "вручную" - робот это большой железный дурак и кроме как башкой кирпичи крошить ничего не умеет, а если понятен смысл настроек то ничего сложного - страшного, даже для новичка в них нет): на вкладке Квантизатор ставим Допустимый средний битрейт : 65% - 67%, я обычно выбираю 65% и в итоге получаю постоянный битрейт и кадровую частоту видео. На вкладке Общий ставим: Предустановка: fast, Настройка: film, Профиль: high или high10 (выше не надо, для работы с ними нужна профессиональная студийная аппаратура) , Уровень IDC: auto, в управлении битрейтом выбираем средний битрейт (2 прохода). Вкладка Движение: метод оценки Нечётный мультигексанальный поиск, 7 (больше не поддерживается), увеличивать число типов блоков используемых для обнаружения движения не имеет смысла так это увеличит шансы ложного срабатывания алгоритма на помеху, да и время кодирования существенно возрастёт. Предсказание для Р-кадров: взвешенные отсылки + дубликаты. Вкладка Кадр: Максимум кадров как ссылок: 8, Максимум последовательных В-кадров: 3, В-кадры как ссылки: строгая иерархическая пирамида, Если снят, поставить флаг CABAC. I-кадр, размер GOP ставим по правилу "частота кадров" =< GOP =< 10* "частоту кадров", но обычно диапазона значений GOP по умолчнию равного 25 =< GOP =< 250 хватает. Вкладка Выход1: Обязательно ставим флаг совместимости с BluRay. Остальные настройки не трогаем. Для H.265 (HEVC) настройки схожи, только выставляемый битрейт будет примерно на треть ниже т.к. у него выше степень компрессии, но аппаратной поддержки этого кодека в GPU NVIDIA младше GM200 (Marvell второго поколения)/Pascal нет, а программно он считает значительно дольше чем Н.264 при том же качестве выводимой картинки (сравнивали в оптической лаборатории по приборам). У использующих GPU кодеков настроек меньше, но значения битрейта считаем аналогично и ставим верхнее значение примерно 1,5Т, а нижнее 0,5Т - им хватит, но ими лучше кодировать простые ролики ибо любой робот это большой железный дурак который без человека не может и А плюс Б сложить...
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
| Всего записей: 33201 | Зарегистр. 31-07-2002 | Отправлено: 00:36 07-01-2018 | Исправлено: Victor_VG, 10:53 07-01-2018 |
|