我需要在Windows Phone 8.1(没有Silverlight )上以YUV / YCbCr格式从相机获取原始帧,我没有在互联网上看到任何示例,是否可以使用MediaCapture或者CameraPreviewImageSource(诺基亚SDK)?
由于
答案 0 :(得分:1)
在Windows Phone 8.1上处理原始视频帧的推荐方法是编写自定义MFT插件,然后通过MediaCapture将其添加到AddEffectAsync对象。 MFT充当解码器和XAML丰富合成器之间的DSP滤波器。
您可以选择要在MFT中支持的色彩空间,Media Foundation将自动为您插入色彩空间转换器。请记住,手机上的色彩空间有限。也就是说,NV12是大多数视频设备的标准色彩空间,被认为是4:2:0 YUV色彩空间。
虽然这在理论上听起来很简单,但在实践中它可能相当复杂。 MFT必须用C ++ / MoCom编写。编写MFT确实需要相当深入的C ++和COM知识。我不想吓唬你试试,但确实有学习曲线。
以下是Windows应用商店的示例,其中介绍了如何创建MFT插件并将其添加到MediaCapture对象。遗憾的是,无论出于何种原因,此示例都未转换为通用应用。但是,转换应该很容易。由于这是一个非常开创性的样本,我将要求我们将其作为通用应用程序发布。
Media capture using capture device sample
我希望这有帮助,
詹姆斯