影片防震登錄設定
VideoStabilization 登錄機碼中的 OEM 集 MaxPixelsPerSecond 值可讓 OEM 在裝置上設定影片防震設定,並在擷取時間將視訊防震套用至視訊。 設定會考慮裝置的錄製解析度,以及其硬體和軟體功能。
概觀
在最佳情況下,VideoStabilization 登錄機碼 MaxPixelsPerSecond 值可用來指定裝置上視訊防震的最大功能。 所有應用程式都可以讀取登錄機碼,並避免嘗試使用不合理的影片防震。
在 MaxPixelsPerSecond 值中輸入的值會設定 MFT 不會嘗試開啟視訊防震的限制,即使應用程式啟用它也一樣。 登錄機碼必須指出裝置可以執行視訊防震的最大解析度和幀速率。 如果未設定 MaxPixelsPerSecond 值,影片防震 MFT 會使用後援值。 最後,如果失敗,視訊穩定也會使用其內部邏輯來關閉,以防止次佳的用戶體驗。
影片防震需求
當下列所有情況都可能發生時,裝置會被視為能夠執行視訊防震:
視訊穩定已開啟,且未處於傳遞模式
錄製已開啟
預覽為使用中
預覽中不會看到雜訊或已卸除的畫面格
錄製的視訊中不會看到雜訊或捨棄的畫面格
設定影片防震登錄機碼
VideoStabilization 登錄機碼格式:
OEM 應該設定 MaxPixelsPerSecond QWORD 值,以定義每秒像素數的截止值,除此之外,即使應用程式啟用視訊防震也會強制以傳遞模式執行。
MaxPixelsPerSecond 的定義如下:
MaxPixelsPerSecond = width * height * frame-rate
例如,針對 30 fps 的 1080p 解析度, MaxPixelsPerSecond 會定義為 1920 * 1080 * 30 = 62208000。
VideoStabilization 登錄機碼位置:
OEM 應該建立並設定 VideoStabilization 登錄機碼,以在下列位置進行影片穩定:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization
若要在 32 位電腦上設定 VideoStabilization 登錄機碼 MaxPixelsPerSecond 值,請在提升許可權的命令提示字元中使用下列命令:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
在 64 位電腦上,OEM 也應該在 Wow6432Node 路徑上建立並設定相同的密鑰:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Media Foundation\Platform\VideoStabilization
若要在 64 位電腦上設定 VideoStabilization 登錄機碼 MaxPixelsPerSecond 值,請在提升許可權的命令提示字元中使用下列命令:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Windows Media Foundation\Platform\VideoStabilization" /v "MaxPixelsPerSecond" /t REG_QWORD /d 62208000 /f
設定時, 影片防震 MFT 和第一方和第三方應用程式會顯示 VideoStabilization 登錄機碼。
如果已設定 MaxPixelsPerSecond 值,影片防震 MFT 永遠不會嘗試穩定超出限制的幀速率或解析度。 相反地,即使應用程式要求影片穩定,它也會進入傳遞模式。 視訊防震 MFT 有一個機制,可針對指定的裝置,建議應用程式使用幀速率和解析度。 應用程式可以選擇建議,以避免在已填入登錄機碼的裝置上進行這類傳遞。
如果未設定 MaxPixelsPerSecond 值,則影片防震 MFT 會嘗試穩定到預設值,但沒有更高的值。
默認值為每秒 62208000 像素,也就是 1920 像素 x 1080 像素 x 30 fps。 當視訊防震嘗試穩定但無法維持視訊畫面的即時穩定時,內部邏輯會將視訊防震切換為傳遞模式(關閉視訊防震),而不會卸除任何畫面。
如果在上一個會話中關閉視訊穩定,MFT 會嘗試在每個新會話的一般模式中啟動視訊穩定,然後再決定切換至傳遞模式。 這是因為它不能依賴上一個模式來做出未來的決策,因為裝置在上次操作時可能處於壓力之下。
影片防震測試需求
OEM 需要確認其裝置的端對端功能,並讓影片防震運作。 他們需要以每秒最大圖元解析度驗證可接受的體驗。
OEM 必須確認下列各項:
視訊穩定內部邏輯會在Microsoft提供的登錄機碼位置停用。 停用內部邏輯可確保在測試期間,如果視訊穩定遇到緊張的情況,將無法進入通過模式。
視訊穩定可以單獨執行,而不需要背景工作或其他功能
已啟用視訊穩定且內部邏輯停用的平滑預覽轉譯
已啟用視訊穩定且內部邏輯已停用的平滑視訊錄製
穩定錄製中達到的每秒所需圖元計數
無過熱
注意 零售系統不應該有登錄機碼來停用本節所述的影片穩定內部邏輯。 不過,零售系統應該具有 VideoStabilization 登錄機碼,且 MaxPixelsPerSecond 值是透過此測試程序決定的。
注意 只有當屬性MF_LOW_LATENCY在效果上設定時,VideoStabilization 登錄機碼 MaxPixelsPerSecond 值才會運作。 當提供的影片防震效果新增至 MediaCapture 管線時,會自動設定 屬性。 不過,如果影片防震效果插入自定義管線或未設定 MF_LOW_LATENCY 屬性的管線中,登錄機碼就不會有任何作用。