Posts Tagged ‘Win2D’

在 UWP 视频处理相关的开发任务中,有时候我们会通过 IBasicVideoEffect 接口和 Win2D 组件来实时地对视频应用一些效果。一般情况下,我们会将 IBasicVideoEffect.SupportedEncodingProperties 设置为 MediaEncodingSubtypes.Argb32 ,这样我们拿到视频帧的 surface 后,可以直接使用 CanvasBitmap.CreateFromDirect3D11Surface 方法来将它转换为 CanvasBitmap ,然后做其他处理(比如保存为图片文件)。然而在大部分情况下,视频流都是用 H.264 编码的,这时候如果不将 IBasicVideoEffect.SupportedEncodingProperties 设置为 MediaEncodingSubtypes.Nv12 的话,播放高码率视频的时候会卡得你怀疑人生;但是设置了 NV12 格式后,你又会发现 Win2D 不支持直接将 NV12 格式的 IDirect3DSurface 转为 CanvasBitmap (目前 Win2D 只支持 ARGB 类的格式)。本文提供将 NV12 格式的 IDirect3DSurface 转换为 CanvasVirtualBitmap 并保存为图片文件的方法。

Read the rest of this entry »

World Line
Time Machine
Online Tools