кодек h264 или h265 какой лучше
ТЕСТ Упаковать и доставить H.265 против H.264, технологий Zipstream и H.264+ Тестирование проведено и предоставлено компанией DSSL
Сначала немного теории.
H.265, или HEVC (англ. High Efficiency Video Coding – высокоэффективное кодирование видеоизображений), – формат видеосжатия с применением более эффективных алгоритмов по сравнению с H.264/MPEG-4 AVC. Рекомендация ITU-T H.265, а также стандарт ISO/IEC 23008-2 MPEG-H Часть 2 – совместная разработка экспертной группы по видеокодированию ITU-T Video Coding Experts Group (VCEG) и экспертной группы по движущемуся изображению MPEG. Рекомендация стандарта разработана в связи с растущей потребностью в более высокой степени сжатия движущихся изображений для самых разных приложений, таких как потоковая передача в Интернете, передача данных, видеоконференцсвязь, цифровые запоминающие устройства и телевизионное вещание.
Честно говоря, мы долго ходили кругами вокруг кодека H.265, не зная, с какой стороны к нему подступиться. Сложностей было много. Основная в том, что камеры, поддерживающие его, можно пересчитать по пальцам. Мы взяли BEWARD B2250 и ActiveCam. К тому же, воспроизвести записанный видеопоток, сжатый новым кодеком, как оказалось, не так просто, поскольку производители используют модифицированные кодеки, и стандартные средства воспроизведения пасовали перед ними. Единственный проигрыватель, который не отказывался крутить полученные файлы, – это VLC Player. Мы стали записывать видео с разными условиями, меняли битрейт, погружали сцену в темноту, но размер видеопотока оставался одинаковым и для H.264, и для H.265. Как и качество картинки, которое нельзя было различить на глаз.
До тех пор, пока не выставили самое низкое качество получаемой картинки с камер – битрейт 200 кбит/с, вот тут-то и стала видна принципиальная разница между двумя кодеками. Новый кодек работает иначе, нежели старый. H.265 способен кодировать блоки размером 64х64 пкс – это повышает эффективность кодирования при одновременном сокращении времени декодирования. На практике видеопоток, закодированный кодеком H.265, при одинаковом битрейте дает большую детализацию по сравнению с H.264. При максимальных выставленных настройках (битрейт от 8000 кбит/с и выше) этого заметить невозможно, а вот при минимальных (200 кбит/с) – разница очевидна.
Где же экономия? А экономии трафика и места в архиве возможно добиться, снижая битрейт кодека H.265 и получая картинку, сопоставимую со сжатой кодеком H.264. Будет ли объем файлов при H.265 на 50% меньше файлов, сжатых кодеком H.264? Это вряд ли.
Скорее всего, кодек H.265 хорошо проявит себя при использовании таких функций видеонаблюдения, как распознавание номеров, поскольку при максимальных настройках картинка получается более детализированной. Однако проверить на практике данную теорию не представляется возможным – на рынке еще нет подобных решений, работающих с видеопотоком сжатым кодеком H.265. И пока новый кодек не стал массово овладевать рынком, вендоры активно внедряют новые технологии, снижающие битрейт видео без существенной разницы в качестве картинки. Все они прекрасно работают со стандартным кодеком H.264.
Технология Zipstream
Технология Zipstream создана компанией Axis Communications и реализует два способа уменьшения видеопотока.
В первом способе – Zipstream Dynamic Region of Interest (ROI) – производится анализ видеопотока, и находятся области, представляющие наибольший интерес. К таковым относятся области с большим количеством деталей и/или области, в которых происходит движение объектов. Обработка этих областей выполняется отдельно от остальной части изображения, как описано ниже.
Во втором способе – Zipstream Dynamic GOP – применяется динамическое регулирование интервала между ключевыми кадрами в соответствии с интенсивностью перемещения объектов в поле обзора камеры. Когда движение в поле зрения почти отсутствует, битрейт видео снижается, и передача ключевых кадров производится реже.
Чтобы проверить работу технологии Zipstream, мы взяли камеру AXIS M1125 и выставили на ней два профиля, с включенной и выключенной функцией. Настроили на сцену и открыли два окна для сравнения битрейта. Полученные результаты видны на скриншотах.
Разница в битрейте была порядка от 100 до 200 кбит/с, на камере был выставлен VBR, а параметр Compression по умолчанию стоял на 30 (этот параметр изменяется от 0 до 100, где 100 – это максимально зажатая картинка). Поскольку различия в размере битрейта не повлияют на значительное уменьшение объема архива и повышение скорости по сети, они не принципиальны. Картинка по качеству также была сопоставима. Если приглядеться, то действительно можно заметить размытость статичного фона, которая вызвана заниженным битрейтом на этом участке, что особо не влияет на качество изображения.
Но если изменить параметр Compression до 10, то тут как раз и проявляет себя Zipstream во всей красе. При выключенной Zipstream камера выдает видеопоток в диапазоне от 12 000–16 800 кбит/с, а с включенной функцией всего 5000–7800 кбит/с. Причем картинка сопоставима, и отличить на глаз практически невозможно.
Технология H.264+
Технология H.264+ от компании Hikvision очень похожа на действие функции Zipstream. Камера анализирует движение в кадре, на участках, где происходит движение, камера завышает битрейт, а сам фон – статичная картинка – кодируется с заниженным битрейтом.
Далее полученный поток кодируется стандартным кодеком H.264/AVC, благодаря чему видеопоток можно просматривать и хранить на любых устройствах, поддерживающих этот кодек. В отличие от Zipstream технология H.264+ не может автоматически добавлять или убавлять ключевые кадры. Чтобы посмотреть, как работает H.264+, мы записали несколько видео одинаковой сцены со включенной и выключенной функцией.
Причем камера Hikvision в режиме переменного битрейта позволяет выбирать качество сжатия, чем мы и воспользовались, выставив максимальный и минимальный порог. В результате при минимальном пороге размер видеопотока отличался так же, как и у Zipstream, на незначительные 100–200 кбит/с.
А вот при максимальном пороге битрейта в 16 384 кбит/с разница была большая. С включенной функцией H.264+ битрейт не превышал 5900 кбит/с, а при выключенной колебался от 13 000 до 16 300 кбит/с.
Причем качество картинки остается приблизительно одинаковым, в некоторых местах при включенной функции H.264+ можно заметить размытость статичного фона, но на полное понимание происходящего в кадре это никак не влияет.
Покорит ли H.265 рынок?
Многие авторы аналитических статей в Интернете не ожидают, что новый кодек H.265 покорит рынок в ближайшее время. Причина – высокая эффективность распространенного кодека H.264 и отсутствие на данное время общих стандартов для внедрения H.265. Такое мнение имеет место, и его нельзя не учитывать.
Но большинство китайских производителей и такие гиганты, как Hikvision и Dahua, начали переход на новые процессоры от HiSilicon H3516A и 3516D (бюджетная версия). А в них поддержка кодека H.265 заложена, дешево и сердито. Новый чип заявлен с поддержкой H.265 и разрешения 4K. Китайские производители сделают кодек H.265 настолько массовым, что он станет стандартом де-факто уже завтра, и к этому надо быть готовым. Новые технологии Zipstream и H.264+, безусловно, являются рабочими и выдают результат.
Но, на наш взгляд, нельзя рассматривать их как конкурентов новому кодеку H.265, они являются методом улучшения кодирования видео, который после небольшой адаптации можно применять к различным стандартам сжатия. Надеемся, что время, когда такие технологии, как Zipstream и H.264+, будут работать с кодеком H.265, уже не за горами.
H.265 vs H.264 сравнение форматов видео. Что такое HEVC и AVC
Опубликовано admin в 24 октября, 2019 24 октября, 2019
H.265 vs H.264 – сравнение современных форматов сжатия видео.
H.265 (HEVC), в отличии от H.264 (AVC), становится наиболее часто используемым форматом для сжатия видео и записи контента 4K / 8K UHD, не говоря уже о видео HD / SD. Увеличение количества видео 4K и 8K бросает вызов текущему стандарту сжатия H.264, поскольку ему больше не удается кодировать видео Ultra HD с удовлетворительной скоростью передачи данных, чем контент HD.
Вследствие этого, стандарт сжатия видео HEVC следующего поколения получает преимущество над AVC благодаря лучшей эффективности сжатия. Это позволяет на 50% снизить скорость передачи, но обеспечивает такое же качество видео.
Этот пост показывает различия между двумя стандартами, основанные на размере файла, использовании полосы пропускания, скорости передачи данных, качестве и совместимости.
Что такое H.265 (HEVC)?
H.265 также называется высокоэффективным кодированием видео (HEVC). Данный формат в два раза более эффективен, чем H.264 при кодировании. Он вдвое снижает скорость передачи при том же уровне качества по сравнению со своим предшественником. Предназначен для дисплеев HDTV следующего поколения и систем захвата контента, которые имеют прогрессивную частоту кадров и разрешение, а также улучшенное качество изображения с точки зрения уровня шума, цветовых пространств и динамического диапазона.
Что такое H.264 (AVC)?
H.264 или MPEG-4 AVC – это формат кодирования видео, который в настоящее время является одним из наиболее часто используемых для сжатия и доставки видеоконтента. AVC экономит битрейт на 50% и более по сравнению с его предшественником MPEG-2. Имеет более широкий спектр приложений, охватывающих все сжатое видео, начиная от потоковых приложений с низким битрейтом (YouTube, iTunes, Vimeo, Facebook, Instagram) для различных передач HDTV по наземному, кабельному и спутниковому телевидению. Он также широко используется для дисков Blu-ray, DVD, IP-сетей и приложений для цифрового кино с кодированием, практически без потерь.
Сравнение форматов сжатия видео
Эффективность сжатия
H.265 отличается от H.264 эффективностью сжатия. HEVC удваивает эффективность кодирования по сравнению со своим предшественником. Это означает, что кодек H.265 экономит около 50% битрейта при том же качестве кодирования. В частности, среднее уменьшение битов для H.265 составляет 64% при 4K UHD, 62% при 1080p, 56% при 720p и 52% при 480p. Таким образом, если загрузить фильм в H.265 и воспроизвести его на устройстве iPhone Android, то будет сохранено 50% памяти мобильного устройства. И качество фильма не пострадает!
Сравнение форматов видео и эффективность сжатия
Полоса пропускания
H.265 превосходит H.264 и в отношении использования полосы пропускания. Поскольку алгоритм HEVC использует эффективное кодирование, он обещает приблизительно 40-50% уменьшения полосы пропускания передачи, необходимой для сжатия видео (например, в формате 720p), с тем же качеством. Как правило, для потоковой передачи 4K H264 (AVC) требуется полоса пропускания 32 Мбит / с, а для передачи видео 4K HEVC – всего 15 Мбит / с. Таким образом, можно наслаждаться 4k видео без проблем даже при перегруженном сетевом соединении.
H.264 и H.265 – полоса пропускания
Качество видео
Большая разница между рассматриваемыми кодеками заключается в качестве видео при одинаковой скорости передачи данных. В AVC границы областей блока, вероятно, будут искажены, потому что каждый макроблок является фиксированным, а данные независимы друг от друга. В то время как H.265 предлагает более четкие детали на гранях и сглаживает градиентные области с меньшим количеством артефактов.
Таким образом, H.265 лучше, чем H.264, когда речь идет о сжатии видео с лучшим качеством изображения.
Размер файла
Высокая степень сжатия также тесно связана с требованием цифрового хранения видеопотоков и передачи. Уменьшенная пропускная способность приводит к уменьшению размера файла. Тесты показывает, что видео, закодированное с помощью H.264, в 1-3 раза больше, чем H.265. Это выгодно для хранения информации на жестком диске или устройствах с ограниченным пространством хранения, необходимого для размещения видеоданных. В этом отношении большое преимущество H.265 перед H.264.
H.265 vs H.264 сравнение форматов – размер файла
Совместимость форматов
Ничто не совершенно. Так же, как и HEVC. Все, сказанное выше, является преимуществом HEVC перед H264. Но есть и недостаток – плохая совместимость. В настоящее время новый формат далеко не так популярен, как H264. Современные устройства и платформы, поддерживающие кодек H264, составляют 99%. Поддержка кодека H265, может составлять около 30-40%.
Преимущества и недостатки
H.265 имеет много преимуществ перед H.264. Например, он поддерживает до 8K UHDTV (разрешением, максимум 8192 × 4320), скорость передачи данных составляет несколько ГБ / с, а размер файла вдвое меньше, и это с лучшим качеством! H.265 имеет большое влияние на увеличение спроса и продажи экранов 4К, предлагая более высокое качество видео даже в сети с ограниченной пропускной способностью.
Но есть и обратная сторона. HEVC требует больше времени для кодирования по сравнению с AVC. Во-вторых, поскольку перспективный кодек, который сейчас широко не используется, просмотр видео H.265 не так прост. Поэтому преобразование H.265 в H.264 по-прежнему очень востребовано в наши дни.
Пишите в комментариях ниже какую информацию добавить или убрать для форматов сжатия видео – H.264 (AVC) vs H.265 (HEVC). Открыт для предложений по оформлению и наполнению страницы.
Видеокодеки H.264, H.265 и H.265+. Плюсы и минусы
Видеокодеки H.264, H.265 и H.265+. Плюсы и минусы
Первые версии кодеков видеосжатия H.264 появились еще в 2013 году. Сегодня формат Н.265 уверенно вошел на рынок видеонаблюдения и диктует свои условия. Многие производители выпускают оборудование с поддержкой видеосжатия данного формата.
Формат сжатия H.264, в отличие от предыдущих кодеков MJPEG и MPEG-4 позволяет с высокой эффективностью решить задачу передачи большого количества видеопотоков высокого разрешения.
Использование в системах IP-видеонаблюдения формата H.264 обеспечивает высокое качество изображения при меньшем объеме данных, требует меньшую пропускную способность сети и меньший объем жестких дисков для хранения видеоархива. Однако есть и жирный минус. Использование Н.264 приводит к высоким нагрузкам на вычислительное оборудование.
Для того, чтобы увеличить экономичность использования вычислительных ресурсов, разработчики применяют различные методы. Например, перенос части операций на видеокарту. Благодаря этому видеокарта способна брать на себя выполнение части вычислений по декодированию. Применение этой функции обеспечилоснижение загрузки процессора до двух раз, и возможность использования процессоров меньшей мощности, а значит, и стоимости.
Перенос операций декодирования на видеокарту также позволяет сэкономить не только на серверной, но и на клиентской части системы видеонаблюдения. Для того, чтобы воспользоваться этой функцией, в настройках клиентской части программного обеспечения необходимо указать, где производить обработку – на центральном процессоре или на видеокарте.
Для снижения нагрузки на вычислительное оборудование также применяется технология видеоанализа сжатых видеопотоков от IP-камер без их полного декодирования. Применение этой технологии приводит к увеличению скорости обработки данных, за счет чего загрузка на центральный процессор снижается. Причем снижение может достигать в среднем в 4 раза.
Благодаря этому появляется возможность подключить к одному серверу в 4 раза больше видеокамер. Еще один вариант экономии — это использование менее мощных, а значит, и более бюджетных процессоров, и снижение стоимости серверного оборудования.
Еще один минус кодека H.264 заключается в том, что большинство мобильных и web-клиентов для систем видеонаблюдения не поддерживают данный формат, и для того, чтобы получить видеоизображение, требуется процедура перекодирования видеопотока в MJPEG. Такая операция очень ресурсоемка и приводит к дополнительным нагрузкам на вычислительные ресурсы.
Обработка формата H.264 возможна при достаточно мощных вычислительных ресурсах мобильного устройства. Если ресурсов не хватает, видеопоток автоматически переключается в формат MJPEG. Да и сам пользователь может самостоятельно выбирать формат видеопотока.
Как видим плюсов и минусов у кодека H.264, применяемого для видеонаблюдения, достаточно много. Однако большая нагрузка на вычислительные ресурсы зачастую сводит все плюсы на нет.
Еще большую нагрузку несет новый формат Н.265. Он использует в своей работе более сильные и совершенные алгоритмы сжатия видео. При одинаковом визуальном качестве новый кодек Н.265 предполагает примерно двукратное уменьшение размера файла по сравнению с его предшественником Н.264. Это серьезно экономит место на дисковом пространстве регистраторов и видеосерверов. А вдвое меньший битрейт уменьшает трафик в сетях передачи видеоданных.
Благодаря более мощным механизмам компрессии, кодек Н.265 отлично справляется с кодированием видео высокого и высочайшего разрешения более 8K UHD (8192×4320). Причем для качественного воспроизведения видеоинформации разрешением 4К кодека необходим поток со скоростью всего 50 МВ/с.
Что немаловажно, Н.265 сжимает видео практически без потерь, качество сжатого видео остается на высоком уровне. Специальные алгоритмы компрессии устраняют присущие Н.264 артефакты, такие как зернистость или размытые края движущихся объектов.
Но самое главное преимущество кодека Н.265 заключается в том, что объем видео, обработанного по новому стандарту, оказался почти на 85% меньше, чем при использовании Н.264. Однако кодеку Н.265 требуется более мощные по производительности элементы и процессоры в оборудовании.
Двигаясь в направлении увеличесния сжатия видеоданных на рынке не так давно появился кодек H.265 + Он позволяет уменьшить битрейт с видеокамер, что в свою очередь снижает стоимость внедрения и использовать меньше дисковых массивов для хранения видеоархива.
H.265+ улучшает степень сжатия за счет трех ключевых технологий: технологии кодирования с предсказанием, технологии подавления фонового шума и технологии долгосрочного управления видеопотоком.
Как известно, камеры видеонаблюдения умеют различать моменты, когда на выделенном участке наблюдения ничего не происходит и в это время снижают качество, чтобы уменьшить нагрузку на сеть и место на жестком диске. Это может делать кодек Н.265, значения при этом все равно держатся около установленного максимума, в то время как Н.265+ может снизить его вдвое. Такая функция называется управление длительным битрейтом.
Н.265+ может также определять на видео движущиеся объекты и отделять их от фона. В то время, как эти объекты передаются в максимально хорошем качестве, на сжатие повторяющегося фона уходит меньше ресурсов. Что также является большим плюсом и снижает нагрузку на вычислительные ресурсы.
В этой статье мы не стремились рассказать подробно о всех современных видеокодеках, используемых в видеонаблюдении. Наша цель заключалась в том, чтобы показать различия форматов сжатия, а также плюсы и минусы каждого из них.
Влияние пресетов кодирования x.264 и x.265 на качество видео
Видео-версия этой статьи
Зачем нам кодеки и почему есть разное качество кодирования
Современные реалии, а именно широкое распространение видео в интернете, требуют быстро и качественно производить компрессию данных, и желательно, с минимальными требованиями к железной части как во время кодирования, так и во время декодирования уже на клиентском устройстве.
Для реализации этой идеи внедряются специальные алгоритмы (программы), называемые кодеками, которыми и совершается компрессия данных. Но, к сожалению, компрессия происходит с потерей информации, то есть после декомпрессии видео оно становится менее качественным, появляются разнообразные проблемы среди которых:
Однако распространённые сейчас кодеки способны в очень малый объём данных скомпрессировать видео практически без потерь, но достигается это значительным увеличением требований к производимым расчётам. Иными словами — сжатие происходит очень долго.
Для сжатия видео, когда оно производится заранее, то есть не в масштабах реального времени воспроизведения — эта проблема не так велика. Ведь если не важно передавать сжатый поток в реальном времени, то можно и поток сделать более широким, то есть выделить для сжатия больший битрейт видео, либо сжимать видео настолько долго, насколько это возможно. И в том и в другом случае получая высокое качество, правда с разной компрессией данных.
Однако такой сценарий доступен не всегда. Если требуется передавать поток в режиме реального времени, то скорость кодирования должна быть равна или выше, чем скорость воспроизведения видео. В таком случае гипотетически можно увеличить битрейт и тем самым использовать упрощённые методы сжатия, теряя меньше деталей при компрессии. И это было бы так, если бы современные стриминговые площадки не ограничивали доступный битрейт для видеопотока.
Иными словами — для того чтобы терять меньше качества при стриминге видео неизбежно надо применять более реусурсозатратные алгоритмы сжатия данных.
Какие есть пресеты настроек
И для кодека x.264 и для более современного кодека x.265 есть масса параметров которые влияют на качество кодирования. Десятки опций имеющих возможность переключения множества параметров, которые образуют десятки тысяч комбинаций настроек. И чтобы пользователю не приходилось тратить своё время на подбор оптимальных конфигураций были введены готовые пресеты настроек. И для кодека x.264 и для кодека x.265 этих пресетов 10.
Названия пресетов передают их суть. А если точнее характеризуют скорость кодирования видео. То есть пресет «Ultra Fast» позволяет кодировать видео ультрабыстро, «Slow» — кодировать медленно, а самый «прожорливый» — «Placebo» и вовсе придуман был просто «чтобы было» и чтобы показать, что такое качество тоже возможно, но возможность его реального применения — это скорее самовнушение, чем действительность.
С пресетами разобрались. Теперь надо разбираться с методикой тестирования и критериями и оценками качества.
Методика тестирования
И это сейчас самое важное. В целом — тестов пресетов кодеков и так много, но есть проблемы с методикой, а вернее с тем, что обычные методики не предполагают контроля того насколько сложная сцена. А именно сложность сцены влияет на качество кодирования.
Суть сжатия заключается в выборе опорного кадра и анализе изменений в последующих или соседних кадрах, и если этих изменений мало, то и описание изменений будет занимать мало места, а значит эти описания изменений могут поместится и в малый битрейт без значительного ухудшения качества. А если изменений в соседних кадрах будет много и они будут сложные как по цветам, так и по геометрии, то описать такие изменения будет либо сложно с точки зрения алгоритмов, либо сложно с точки зрения требований по объёму этих записей. Напомню, что мы рассматриваем случай когда в объёме мы ограничены.
В итоге для каждой из сложности кодирования нужно составить своего рода зависимость качества кодирования от сложности сцены для кодирования при неизменном битрейте.
Задача не тривиальная и, забегая вперёд, оценки будут субъективными, так как оценки я буду ставить… умозрительно, на основе визуальных дефектов. Тем не менее — даже чтобы глазами посмотреть на разницу эту разницу надо как-то сгенерировать и выбрать точные метрики для отслеживания качества.
Оценивать предлагаю по вот этому тестовому кадру:
Нажмите для увеличения
В нём есть довольно много интересных мест, которые будут меняться при сжатии.
Для наглядности вот GIF анимация нескольких этапов ухудшения качества. Естественно и сама GIF анимация использует сжатие, так что она не всецело отражает разницу, но все исходники будут размещены в самом низу статьи, и с ними может ознакомится любой желающий.
Нажмите на изображение чтобы открыть анимацию (2,6 МБ)
Основные отличия можно рассмотреть в чёткости сеток, в чёткости сложной спиральной формы скруглённой сетки, в равномерности и плавности градиентов цветов и цветовых переходов, в качестве градиентов серого цвета, в пиксилезации и замылинности текстур высокой контрастности и текстур низкой контрастности, в чёткости отображения текста.
Показанные выше изображения — это стоп кадры видео. Вы уже можете увидеть, что кроме тестовой сцены присутствую ещё разнообразные геометрические фигуры. Для видео они изменяются каждый кадр, именно они и создают разницу между кадрами, которую, меняя число фигур, можно регулировать. То есть чем больше фигур, тем выше сложность кодирования и тем хуже удаётся кодеку воспроизвести оригинал при ограниченном битрейте.
Видео состоит из 11 градаций изменений сложности кодирования от 0-ой, самой простой сложности, до 10-ой, самой сложной. При переходе на каждую следующую градацию в картинку добавляется 100 дополнительных фигур, таким образом на 0-ой сложности число фигур — 0, а на 10 сложности число фигур — 1000.
Однако говорить о строгой линейности прироста сложности я бы не стал. Фигуры пересекаются друг с другом и трудно судить — становится сложнее кодировать из-за этого или проще при увеличении числа фигур. Тем не менее — приращение энтропии близко к линейному.
Остаётся только учесть последний фактор — а именно то, что нельзя оставлять тестовую часть картинки статичной. При кодировании статические объекты лучше сохраняются неизменными, а мы хотим получить данные не по сохранению статических объектов при кодировании, мы хотим получить проявление дефектов в общем случае.
Поэтому в видео не просто мелькают фигуры, меняясь каждый кадр, но и тестовая сцена для каждого из 11 уровней сложности один раз проезжает в стороны, и в «зачёт» мы берём последний кадр движения.
Итого у нас выходит 20 пресетов кодирования, по 10 на x.264 и x.265, и в каждом из 20 пресетов по 11 результатов тестирования по одному для каждого уровня сложности. То есть в сумме — 220 изображений. Ссылки на оригиналы находится в конце статьи.
Чтобы сжать видео первоначально было получено несжатое видео (55 секунд объёмом примерно в 20 ГБ) в Vegas Pro 15. Само видео я передать не могу в силу его размера, но проект видео в Vegas Pro можно скачать «тут«.
Далее это несжатое видео было сжато в программе MeGUI (скачать можно тут). Программа выполняет скрипт программы AviSynth, которую можно скачать тут. Самый простой скрипт будет если поместить видео и сам скрипт формата *.avs и программу MeGUI в одну папку и скрипт можно создать текстовым редактором (например блокнотом), вписав:
С соответствующими настройками кодирования с постоянным ограниченным битрейтом в 10 Мбит/с.
Результаты
Далее нам надо оценить результаты. И я хочу остановится на сложностях 6 и 10. Сложность 6 отражает довольно высокую нагрузку, реально достижимую в видео. Сложность 10 просто самая большая.
Нам необходимо заполнить таблицу:
Учитывая методику тестирования появляется одна проблема, связанная с объёмом видеофайла более 20 ГБ. С быстрыми кодированиями производительность ограничивалась скоростью чтения с SSD накопителя, а не Intel Core i9 9900k в стоке, на котором проводилось кодирование, поэтому говоря про скорость кодирования, она на «быстрых» пресетах идентичная и время заполнено в таблице ниже:
В виде графика эти данные выглядят так:
Видно, что время требующееся на сжатие — стремительно увеличивается с изменением пресета качества, по вертикали измерения в секундах.
Далее я дал субъективные оценки качества изображения для сложности 6 и сложности 10.
Приоритеты при оценке были следующими:
Если для вас лично приоритеты иные, то сравнительные оценки для вас лично будут другие. Рекомендую самостоятельно провести оценку используя исходные стоп кадры или сэмплы видео с разными пресетами сжатия.
Я дал оценки от 1 (наихудший результат) до 10 (неотличимый от оригинала) с градациями в 0,5 балла. Баллы выше 1 я ставил за удовлетворительный результат, оценку 1 я ставил за неудовлетворительный результат. То есть 1 балл — это не оценка качества, а отсутствие оценки (в сортах …. пиксельной каши не разбираюсь).
Оценки проводились для сложности 6 и 10.
Сложность сцены 6
Для сложности 6 результаты занесены в таблицу:
Эти же данные в виде графиков представлены ниже:
Графики зависимости качество кодирования от пресета настроек кодирования
Стоит отметить, что пресеты для x.264 очень нелинейно прирощают качество. Между качествами Slower и Very Slow кодека x.264 находятся все результаты для x.265 кроме Ultra Fast. При этом до пресета Fast в x.264 я результаты счёл неудовлетворительными. В то время как пресеты Very Slow и Placebo на x.264 оказались лучшими по качеству, чем Very Slow и Placebo на x.265.
Также предлагаю провести расчёт удельного качества в зависимости от потраченного времени. Но предупреждаю, что я хоть и пытался оценивать качество линейно, но в реальности субъективной оценкой линейности не добиться, так что графики представленные ниже имеют примерный характер. Результаты для кодирования выполненного с ограничением в SSD не учитываются.
Чем величина по вертикали больше, тем выше показатель удельного качества. То есть оценивается оправданность временных затрат.
Удельное качество зависимое от времени
С точки зрения математики, при анализе субъективных оценок качества, наиболее выгодным является пресет настроек Medium кодека x.265. То есть пресет позволяет получить приемлемое качество с приемлемыми затратами производительности.
Также видно для x.265, что дальнейший рост времени кодирования плохо компенсирует возрастающее качество.
Для x.264 ситуация иная. Качество приростает примерно с той же «скоростью», что и затрачиваемое на кодирование время (за исключением Placebo).
Сложность сцены 10
Далее оценим аналогичные параметры для максимальной сложности видео.
На максимальной сложности нелинейность качества на x.264 становится ещё выше, и расслоение качества на x.265 так же становится больше. При этом стоит отметить, что для placebo x.265 я поставил оценку 7,5, что ниже, чем Very Slow для x.264.
Удельное качество зависимое от времени кодирования
Полученные изменения привели к тому, что при увеличении сложности самого видео ситуация с x.264 становится лучше, и пресет Slower позволяет добиться хорошего соотношения качества/производительности, но этот пресет всё равно не обходит по этому показателю Medium x.265.
Выводы
В тесте не затронут вопрос производительности в реальном времени, а именно этот параметр важен для стрима, где и применяется софтверное кодирование. В настоящее время для старших процессоров intel на сокете 1151 v.2 с одновременной игрой в саму игру — достижим пресет medium для кодека x.264. Для старших процессоров AMD на сокете AM4 достижим пресет Slow для кодека x.264. В реальных задачах (уровень сложности 6) разница между пресетами есть, и достаточно ли она велика для того чтобы на основе неё делать выбор для стримменогового компьютера — решать только вам. Также стоит сказать, что существенно более высокое качество видео способен обеспечить пресет Slower, но для работы с ним в 1080p 60 FPS в реальном времени процессоров пока нет.
Ещё стоит отметить существенно большую чёткость изображения на средних пресетах x.265 в сравнении с x.264. Изображение полученное с пресетом x.265 Ultra Fast сопоставимо с изображением с пресетом slow x.264.
x.265 Ultra Fast требует существенно меньших затрат ресурсов, но поддержки кодека x.265 популярными стриминговыми сервисами нет.
Гипотетически достижимый сейчас пресет medium x.265 для кодирования в реальном времени и стриминга обеспечивал бы существенно более качественную картинку, чем технически недостижимый сейчас x.264 Slower.
Всё вышеописанное справедливо только для софтверного кодирования которое имеет лучшие характеристики качества/битрейт. При использовании аппаратного ускорения и кодировании в h.264 и h.265, при возможности выбора динамического битрейта и более высоких значений среднего битрейта кодирование видеокартой будет существенно лучше по соотношению качества/производительности, но хуже по соотношению качество/битрейт.
Тем не менее для монтажа видео и его вывода не в масштабах реального времени целесообразно применять аппаратное кодирование.
Для сравнения в архиве с оригиналами сжатых видео находится видео полученное RTX 2070 с динамическим битрейтом и средним битрейтом в 20 Мб/с, с объёмом в 133 МБ, против 93 для Placebo h.264.
Кодирование видео заняло около 24 секунд и для 6-ой сложности получено качество
8 баллов (примерно как x.265 medium и существенно лучше x.264 Slower).
Соотношение качество/производительность. Зелёный треугольник — результат RTX 2070 в сравнении с i9 9900k
Для 10-ой сложности качество при аппаратном кодировании RTX 2070 примерно соответствует x.265 Very Slow.
Соотношение качества/производительность. Зелёный треугольник — результат RTX 2070.
При этом производительность в кодировании/декодировании видео у видеокарт RTX 20** и GTX 16** (за исключением GTX 1650 не Super) — идентичная.
Вышеуказанная разница, естественно, получена с различным битрейтом, исходя из различных задач. Для расчётов процессором исходя из требований битрейта для стримов видеопотока, а для расчётов аппаратным кодированием видеокартой исходя из достаточности качества, то есть для получения качества сравнимого с обычными не стрим видео на Youtube. Пример тестового видео сжатого в VP9 после загрузки видео на Youtube имеется в архиве с видео.
Ссылки для скачивания исходных файлов:
Проект для Vegas Pro для создания не сжатого видео: тут (12 МБ)
Стоп кадры из тестовых видео: тут (502 МБ) (упаковано в архив 7-zip)
Видео зарендеренные с разными пресетами кодеков: тут (1,76 ГБ) (упаковано в архив 7-zip)