Параметры реестра стабилизации видео
Значение maxPixelsPerSecond в разделе реестра VideoStabilization позволяет изготовителям оборудования настраивать параметры стабилизации видео на устройстве и применять стабилизацию видео к видео во время захвата. Конфигурация учитывает разрешение записи устройства вместе с его аппаратными и программными возможностями.
Обзор
Значение реестра VideoStabilization MaxPixelsPerSecond используется для указания максимальных возможностей стабилизации видео на устройстве при оптимальных обстоятельствах. Все приложения могут читать раздел реестра и не пытаться использовать неразумную стабилизацию видео.
Значение, введенное в значении MaxPixelsPerSecond , задает ограничение, за пределами которого MFT не будет пытаться включить стабилизацию видео, даже если приложение включает его. Раздел реестра должен указывать максимальную скорость разрешения и частоты кадров, с которой устройство может запускать стабилизацию видео. Если значение MaxPixelsPerSecond не задано, MFT для стабилизации видео будет использоваться резервное значение. Наконец, если это не удается, стабилизация видео будет использовать свою внутреннюю логику для отключения, чтобы предотвратить неоптимальным взаимодействием с пользователем.
Требования к стабилизации видео
Устройство считается способным выполнять стабилизацию видео, если все из следующих способов может произойти:
Стабилизация видео включена и не находится в режиме сквозной передачи
Запись включена
Предварительная версия активна
В предварительной версии не отображаются шумовые или удаленные кадры
В записанном видео не видно шум или снятые кадры
Настройка раздела реестра стабилизации видео
Формат раздела реестра VideoStabilization:
Изготовители оборудования должны задать значение QWORD MaxPixelsPerSecond , определяющее значение отсечения для количества пикселей в секунду, за пределами которого стабилизация видео будет вынуждена выполняться в сквозном режиме, даже если оно включено приложением.
MaxPixelsPerSecond определяется следующим образом:
MaxPixelsPerSecond = width * height * frame-rate
Например, для разрешения 1080p в 30 кадров в секунду maxPixelsPerSecond будет определен как 1920 * 1080 * 30 = 62208000.
Расположение раздела реестра VideoStabilization:
Изготовители оборудования должны создавать и задавать раздел реестра VideoStabilization для стабилизации видео в следующем расположении:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization
Чтобы задать значение реестра VideoStabilization MaxPixelsPerSecond на 32-разрядном компьютере, используйте следующую команду в командной строке с повышенными привилегиями:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
На 64-разрядных компьютерах изготовители оборудования также должны создавать и задавать тот же ключ в пути Wow6432Node:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation\Platform\VideoStabilization
Чтобы задать значение реестра VideoStabilization MaxPixelsPerSecond на 64-разрядном компьютере, используйте следующую команду в командной строке с повышенными привилегиями:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
Если задано, раздел реестра VideoStabilization будет отображаться для MFT видео и сторонних приложений.
Если задано значение MaxPixelsPerSecond, MFT для стабилизации видео никогда не будет пытаться стабилизировать частоту кадров или разрешение выше предела. Вместо этого он перейдет в режим сквозной передачи, даже если приложение запрашивает стабилизацию видео. MFT для стабилизации видео имеет механизм, позволяющий рекомендовать частоту кадров и разрешение приложению для данного устройства. Приложения могут выбрать рекомендацию, чтобы избежать такой сквозной передачи на этих устройствах с заполненным разделом реестра.
Если значение MaxPixelsPerSecond не задано, MFT для стабилизации видео будет пытаться стабилизировать до значения по умолчанию, но не выше.
Значение по умолчанию — 62208000 пикселей в секунду, что составляет 1920 пикселей x 1080 пикселей x 30 fps. Когда стабилизация видео пытается стабилизировать, но не может поддерживать стабилизацию видео в режиме реального времени, внутренняя логика переключит стабилизацию видео на сквозный режим (отключение стабилизации видео) без удаления кадров.
Если стабилизация видео отключена в предыдущем сеансе, MFT попытается начать стабилизацию видео в регулярном режиме для каждого нового сеанса, прежде чем решить переключиться на режим сквозной передачи. Это связано с тем, что он не может полагаться на предыдущий режим для принятия будущих решений, так как устройство, возможно, было под стрессом, когда он был последней эксплуатации.
Требования к тестированию стабилизации видео
Изготовители оборудования должны проверять комплексные возможности своих устройств с помощью стабилизации видео. Они должны проверить приемлемый интерфейс при заданном максимальном разрешении пикселей в секунду.
Изготовители оборудования должны проверить следующее:
Внутренняя логика стабилизации видео отключена в расположении раздела реестра, предоставленном корпорацией Майкрософт. Отключение внутренней логики гарантирует, что стабилизация видео не будет переходить в сквозной режим во время тестирования, если возникает стрессовая ситуация.
Стабилизация видео может выполняться в одиночку без фоновых задач или других функций
Плавная предварительная версия отрисовки с включенной стабилизацией видео и отключенной внутренней логикой
Гладкая запись видео с включенной стабилизацией видео и отключенной внутренней логикой
Требуемое количество пикселей в секунду, достигнутое при стабилизации записи
Нет перегрева
Обратите внимание , что системы розничной торговли не должны иметь раздел реестра, чтобы отключить внутреннюю логику стабилизации видео, описанную в этом разделе. Однако розничные системы должны иметь раздел реестра VideoStabilization с значением MaxPixelsPerSecond , определенным с помощью этого тестового процесса.
Обратите внимание, что раздел реестра VideoStabilization MaxPixelsPerSecond имеет функции значений, только если атрибут MF_LOW_LATENCY задан в эффекте. При добавлении предоставленного эффекта стабилизации видео в конвейер MediaCapture атрибут автоматически устанавливается. Однако если эффект стабилизации видео вставляется в настраиваемый конвейер или конвейер, который не задает атрибут MF_LOW_LATENCY , раздел реестра не действует.