hardware encoder что это

Intel Quick Sync Video

На официальном форуме появилась интересная ветка, где ТС выложил скрины результатов кодирования: аппаратного и софтового. Внизу скрин, полученный после софтового кодирования (кликабельно):

А этот скрин после аппаратного кодирования (кликабельно).

Encoding Settings > Performance: Software Only (Только ПО).

Encoding Settings > Performance: Hardware Accelerated (С аппаратным ускорением).

Характеристики видео после софтового рендеринга, утилита MediaInfo отображает следующие:

Характеристики видео после аппаратного рендеринга, утилита MediaInfo отображает следующие:

А здесь частота кадров выставлена 60fps. Юзер отметил, что именно изменение частоты кадров, может негативно влиять на качество.

— Rec2020 и HDR не будут аппаратно ускорены.
— 8K UHD не будет аппаратно ускорены.
— Профиль Main10 не будет аппаратно ускорен.
— Уровень 5.1 и ниже будет аппаратно ускорен. (Максимальный уровень/Level для H.264 это 6.2, а разрешение 8192х4320, если нужно больше, то снимаем галку соотношение сторон, выбираем профиль: Высокий и уровень: без ограничений).
— Экспорт только видео не будет ускорен аппаратно (должны быть оба потока: видео и аудио).
— Кодирование битрейта: «CBR» & «VBR, 2 pass» не будет аппаратно ускорено.
— Мультиплексор: None и 3GPP не будут аппаратно кодироваться.
— Аппаратные кодировки часто не соответствуют профилю и уровню, заданным в настройках экспорта, но должны попадать в допустимые диапазоны.

Источник

Рендеринг с ускорением графического процессора и аппаратное кодирование/декодирование

В этой статье говорится об Adobe Insight (с ускорением графического процессора) и аппаратном декодировании/кодировании (Intel® Quick Sync) в Adobe Premiere Pro и Adobe Media Encoder.

Adobe Premiere Pro и Adobe Media Encoder могут использовать имеющиеся в вашей системе графические процессоры для распределения нагрузки между ЦП и ГП для повышения производительности. В настоящее время большая часть обработки выполняется центральным процессором, а графический процессор помогает в обработке определенных задач и функций.

Модуль рендеринга Mercury Playback Engine (с ускорением графического процессора) используется для рендеринга эффектов и функций с ускорением графического процессора.
Здесь представлен список эффектов с ускорением графического процессора в Adobe Premiere Pro. Чтобы найти эффекты с ускорением графического процессора, перейдите на панель Эффекты и найдите значок «Ускоренные эффекты».

Значок эффектов с ускорением графического процессора

Помимо обработки этих эффектов, Mercury Playback Engine (с ускорением графического процессора) используется для обработки изображений, изменения размеров, преобразования цветового пространства, изменения цвета и многого другого. Он также используется для воспроизведения и очистки временной шкалы и полноэкранного воспроизведения с использованием Mercury Transmit.

Здесь представлен список рекомендуемых графических карт для Adobe Premiere Pro.
Рекомендуется использовать графические процессоры с 4 ГБ видеопамяти, но объем памяти может варьироваться в зависимости от типа работы, выполняемой в Adobe Premiere Pro.

Общие требования к объему видеопамяти:

Для ВР необходим объем видеопамяти не менее 6 ГБ. При работе со стереоскопическими кадрами с более высоким разрешением (например, 8K x 8K), вам может понадобиться больший объем видеопамяти. При использовании графических процессоров NVIDIA убедитесь в том, что установлена последняя версия драйвера, поддерживающая CUDA 9.2.

Важно помнить о том, что покупка более старой видеокарты означает, что поддержка драйверов закончится раньше, чем для новой карты.

Установка модуля рендеринга в Adobe Premiere Pro

Установка модуля рендеринга в Adobe Media Encoder

В Adobe Media Encoder Модуль рендеринга также можно установить в правом нижнем углу панели Очередь.

Если параметр Mercury Playback Engine GPU Acceleration недоступен после обновления или переустановки Adobe Premiere Pro, выполните чистую установку драйверов графического процессора для решения этой проблемы.

Adobe Premiere Pro использует один графический процессор во время воспроизведения и нескольких графических процессоров для выполнения других задач, таких как Рендеринг точки входа и выхода и экспорт. Можно настроить CrossFire для представления нескольких графических процессоров в качестве одного логического ГП, и в этом случае Adobe Premiere Pro рассматривает его как один графический процессор.

В случае использования конфигурации с несколькими графическими процессорами (отличной от SLI или CrossFire) рекомендуется отключить функцию автоматического переключения графического процессора или графики на основе системы или драйвера.

Модуль Mercury Playback Engine, работающий на выделенном графическом процессоре, не используется для обработки всего, что связано с графическим процессором. Встроенный графический процессор может использоваться для определенных задач, таких как кодирование и декодирование определенных кодеков и действия пользовательского интерфейса, которые могут отображаться при отслеживании использования графического процессора.

Использование графического процессора зависит от нескольких факторов. Использование графического процессора при редактировании или рендеринге может быть максимальным в зависимости от количества используемых эффектов или функций с ускорением графического процессора и его вычислительных возможностей. Таким образом, мощный графический процессор, такой как NVIDIA RTX 2080, может работать быстрее, чем NVIDIA GTX 1060, но при этом показывать менее интенсивное использование. Это происходит потому, что он более мощный и ему может потребоваться меньше аппаратных ресурсов для обработки той же информации, что и NVIDIA GTX 1060 или другим графическим процессорам среднего класса. При использовании нескольких эффектов с ускорением графического процессора интенсивность его работы может сначала быть низкой, но затем увеличиться при использовании большего количества эффектов с ускорением графического процессора.

Читайте также:  confluent kafka что это

Это относится только к эффектам VR. Это сообщение появляется, когда у графического процессора недостаточно видеопамяти для обработки эффекта.

Кодирование с аппаратным ускорением

Intel® Quick Sync — это технология Intel®, которая использует специальные возможности обработки мультимедиа Intel® Graphics Technology для быстрого декодирования и кодирования, позволяя процессору выполнять другие задачи и повышать производительность. В настоящее время поддерживается только кодирование с помощью кодеков h.264 и HEVC (h.265). Эта функция доступна только в том случае, если используется процессор Intel® с поддержкой Intel® Quick Sync.

Здесь представлены системные требования для кодирования с аппаратным ускорением.

Включение и отключение аппаратного кодирования зависит от типа используемого процессора Intel®. Если поддерживаемый процессор не используется или технология Intel® Quick Sync отключена в BIOS, этот параметр может быть недоступен.

Чтобы его включить, выберите H.264/ HEVC из раскрывающегося списка форматов в разделе Настройки экспорта. Затем на вкладке Видео перейдите в Настройки кодирования и установите для параметра Производительность значение Аппаратное кодирование. При выборе Программного кодирования отключится аппаратное кодирование и Adobe Premiere Pro не будет использовать Intel® Quick Sync для кодирования медиафайлов (это может увеличить время рендеринга).

Включить аппаратное кодирование

При использовании аппаратного кодирования графический процессор может интенсивнее работать на встроенном процессоре Intel®, а не на выделенном ГП.

Поддерживаемые платформы кодеков

Кодирование: H.264/AVC, HEVC 4:2:0 до 4096×4096. Начиная с 10-го поколения процессоров Intel® Core™ и более поздних, кодирование HEVC поддерживается до 8192×8192.

Декодирование: H.264/AVC, HEVC 4:2:0 до 4096×4096 (часть содержимого 8K HEVC работает на процессорах Intel® Core™ 7-го поколения и более поздних)

Чтобы эта функция работала, требуется процессор Intel® с поддержкой Intel® Quick Sync. Проверьте, отвечает ли процессор Intel® требованиям для аппаратного кодирования. Если BIOS вашей системы поддерживает включение и отключение графического процессора Intel®, убедитесь, что он всегда включен, чтобы аппаратное кодирование работало. Некоторые системы, такие как Surface Studio, могут не включать графический процессор Intel®, что может привести к тому, что параметр аппаратного кодирования будет недоступен.

При наличии поддерживаемого ЦП Intel® с включенным ГП Intel® и невозможности использования аппаратного кодирования убедитесь, что ГП Intel® указан на вкладке диспетчера задач «Производительность» (только для Windows®). Если графический процессор Intel® отсутствует в списке, проверьте, включен ли он в диспетчере устройств, и обновите графические драйверы Intel® до последней версии.

Графический процессор Intel® указан в диспетчере задач и диспетчере устройств

Источник

Аппаратное кодирование

В статье про тестирование бесплатного плагина Voukoder 3.0 была добавлена следующая информация, цитата «В ближайших апдейтах версии программы видеомонтажа Adobe Premiere Pro CC 2020 также добавят штатное аппаратное кодирование с помощью видеокарт построенных на чипсетах Nvidia (ExporterMPEG4.Feature.Allow_NVidia_HWExport) и AMD (ExporterMPEG4.Feature.Allow_AMD_HWExport)».
И вот в обновлении Adobe Premiere Pro CC 2020 (v14.0.2.104) можно уже протестировать эту бета опцию.
Нажимаем комбинацию клавиш: Ctrl+F12 (Windows) или Cmd+F12 (для MacBook Cmd+Fn+F12) в панели Console (Консоль), переключаемся на режим Debug Database View. Там ставим галки перед пунктами ExporterMPEG4.Feature.Allow_NVidia_HWExport (для видеокарт NVIDIA) и ExporterMPEG4.Feature.Allow_AMD_HWExport (для видеокарт AMD). И снимаем галку перед пунктом ExporterMPEG4.Feature.Allow_Intel_HW_Export (отключаем аппаратное кодирование с помощью интегрированной видеокарты процессоров Intel).

После внесённых изменений перезагружаем программу Adobe Premiere Pro CC 2020 (v14.0.2.104). Идём в Настройки экспорта (Export Settings) (Ctrl+M) и выбираем формат: H.264. Далее, в Видео > Параметры кодирования > Производительность: С аппаратным ускорением (Hardware Encoding). И нажимаем на кнопку: Экспорт (Export).

Загрузка Video Encode Load в утилите мониторинга GPU-Z, говорит о том, что работает NVENC кодирование у видеокарты NVIDIA GeForce GTX 660 (Kepler).

В Диспетчере Задач, видно, что декодирование 4K видео занимается интегрированная видеокарта (iGPU), а кодированием дискретная, загружен блок Video Encode.

1 минута 4K видео UHD (3840x2160p30) H.264 Long-GOP была экспортирована за 77 секунд.

Картинка в квадратах при воспроизведении в медиапроигрывателе MPC, также говорит о том, что эта функция пока сыровата. Но с реализацией Intel Quick Sync Video тоже не всё сразу гладко было.

Источник

Access the power of hardware accelerated video codecs in your Windows applications via FFmpeg / libavcodec

Introduction

FFmpeg is a free open-source software project comprising a large set of libraries for multimedia handling. These libraries functionality is used not by the command-line-based FFmpeg executable only, but also by commercial and free software products via the corresponding FFmpeg libraries API calls.

Note: while FFmpeg has been supporting Intel QSV starting from version 2.8, it is highly recommended to use the latest FFmpeg version because it keeps adding new Intel QSV related features and improving existing ones with each new version.

FFmpeg is a part of the workflow of hundreds of software projects related with video processing and streaming. However not all of them use Intel GPU hardware video processing features leaving significant space for potential performance improvement.

Читайте также:  что делать если дизельный двигатель пошел в разнос

One of applications from this list is 3D Streaming Toolkit – Windows OS based application that has been implemented using:

Let’s add FFmpeg / libavcodec based hardware h264 video decoding and encoding to this application.

Prerequisites

The first step is to ensure the FFmpeg/libavcodec build used by the application supports Intel QSV.

Prebuilt FFmpeg packages available for download already have these options enabled. If you build FFmpeg from sources yourself, please consult FFmpeg Compilation guide.

Hardware video decoding via FFmpeg/libavcodec on Windows – how to.

Hardware video decoding of h264 via DXVA2 API could be described as the following sequence of actions:

Note: we move to each next step only if the current one has been finalized successfully. Otherwise one need to process the corresponding error and exit.

FFmpeg example hw_decode.c that works on Windows as is with » » or » » and » » arguments, could be used as the reference for the steps above with some differences caused by fact that it uses video file as an input not a video frames sequence.

Notice this code will work as is on any GPU capable of hardware video acceleration including 3rd party external GPU based systems.

Hardware video encoding via FFmpeg/libavcodec on Windows – how to.

Hardware video encoding of h264 on Intel QSV supporting systems could be described as the following sequence of actions:

Note: we move to each next step only if the current one has been finalized successfully. Otherwise one need to process the corresponding error and exit.

Create AVCodecContext context using this encoder as an input argument:

Hardware accelerated video encoding for Windows doesn’t have the corresponding FFmpeg example, but the vaapi_encode.c intended for Linux OS family could be modified easily by changing the encoder name and hardware pixel format used.

3D Streaming SDK – hardware video processing on Intel GPUs. Changes and results.

All steps for hardware video decoding and encoding on Intel GPUs by libavcodec described earlier have been introduced by Intel into 3D Streaming SDK open source code. Namely to the Microsoft 3D Streaming SDK WebRTC video coding h264 module, files h264_decoder_impl.cc and h264_encoder_impl.cc correspondingly have been modified.

Then the results have been evaluated on Gen 9 Intel GPU based systems (using 3DStreamingToolkit DirectX based SpinningCubeServer-v2.0 for video encoding and DirectX-NativeClient-v2.0 for decoding) and compared with the original 3DStreamingToolkit results.

The original results of 3DStreamingToolkit on Intel GPU based systems using openh264 library for software video encoding and libavcodec library for software h264 video decoding are the following: While the FPS above 60 is achieved for encoder-decoder pair working on 1280×720 resolution, the video quality is very low as could be seen on the image below and CPU load is about 30%:

If higher encoding quality for openh64 is set in programmatically, CPU load goes up to 100% and the FPS goes down:

Meanwhile for the newly implemented libavcodec library based hardware video decoding and encoding the FPS over 60 is seen with the high-quality picture while the CPU load is

The following table summarizes results obtained:

Источник

GPU Accelerated Rendering & Hardware Encoding/Decoding

This article provides Adobe Insight into Mercury Playback Engine (GPU Accelerated) and Hardware Decoding/Encoding (Intel® Quick Sync) in Adobe Premiere Pro and Adobe Media Encoder.

Adobe Premiere Pro and Adobe Media Encoder can take advantage of available GPUs on your system to distribute the processing load between the CPU and the GPU to get better performance. Currently, most of the processing is done by CPU and GPU assists in processing certain tasks and features.

Читайте также:  какой международный договор является основанием для выдачи патента действующего в ряде государств

The Mercury Playback Engine (GPU Accelerated) renderer is used to render GPU accelerated effects and features.
Here is the list of GPU accelerated effects in Adobe Premiere Pro. To identify the GPU accelerated effects, navigate to the Effects panel and look for the Accelerated Effects icon.

GPU Accelerated effects icon

Apart from processing these effects, the Mercury Playback Engine (GPU Accelerated) is used for image processing, resizes, color space conversions, recoloring and more. It is also used for timeline playback/scrubbing and full-screen playback using Mercury Transmit.

Here is the list of recommended graphics card for Adobe Premiere Pro.
It is recommended to have GPUs with 4GB of VRAM but this may vary depending on the type of work you are doing in Adobe Premiere Pro.

A general guideline to VRAM requirements:

For VR, 6GB of VRAM would be a good starting point. In case you are working with higher resolution stereoscopic frames (like 8K x 8K) you may need more VRAM. While using NVIDIA GPUs, ensure that you have the latest driver installed and it supports CUDA 9.2.

An important aspect to keep in mind is that purchasing an older graphics card means driver support will end sooner than a newer card.

Set Renderer in Adobe Premiere Pro

Set Renderer in Adobe Media Encoder

In Adobe Media Encoder you can also set the Renderer at the lower-right corner of the Queue panel.

If the Mercury Playback Engine GPU Acceleration is not available as an option after updating or reinstalling Adobe Premiere Pro, then perform a clean installation of GPU drivers to solve the issue.

Adobe Premiere Pro uses a single GPU during playback and multiple GPUs for other tasks such as Render In to Out and for export. CrossFire can be set up to present multiple GPUs as a single logical GPU and for that case, Adobe Premiere Pro treats it as a single GPU.

In case multi-GPU (non-SLI or non-CrossFire) configuration is used, it’s recommended to disable system or driver-based automated GPU/graphics switching functionality.

The Mercury Playback Engine running on the dedicated GPU isn’t used to process everything related to the GPU. The integrated GPU can be used for specific tasks such as encoding/decoding certain codecs and User Interface (UI) activity which can show up while monitoring the GPU usage.

GPU utilization depends on several factors. GPU usage while editing or rendering may or may not be maxed out depending on the number of GPU accelerated effects/features used and the GPU’s computational capability. So, a powerful GPU like NVIDIA RTX 2080 may perform faster than NVIDIA GTX 1060 but it may show a lower usage because it is more powerful and may require lesser percentage of hardware resources to process the same information as compared to NVIDIA GTX 1060 or other mid-range GPUs. In case a few GPU accelerated effects are used, then the GPU usage may not be high and it might increase when more GPU accelerated effects are used.

This only applies to VR effects. This message shows up when the GPU does not have sufficient VRAM to process the effect.

Hardware-accelerated encoding

Intel® Quick Sync is a technology by Intel® which utilizes the dedicated media processing capabilities of Intel® Graphics Technology to decode/encode fast, enabling the processor to complete other task and improve performance. Currently, this only supports encoding h.264 and HEVC (h.265) codecs. This feature is only available if an Intel® CPU with Intel® Quick Sync support is used.

Here are the system requirements for Hardware-accelerated encoding.

Enabling/disabling hardware encoding is dependent on the type of Intel® CPU used. If a supported CPU is not used or if Intel® Quick Sync is disabled from BIOS, then the option might be unavailable.

To enable this option, select H.264/HEVC from the Format drop-down under Export Settings. Then under the Video tab, go to Encoding Settings and set the Performance to Hardware Encoding. Setting it to Software Encoding will disable hardware encoding and Adobe Premiere Pro won’t use Intel® Quick Sync to encode the media (this may increase the rendering time).

Источник

Сказочный портал