在UWP中,从设备摄像头看起来很容易在视频捕捉上使用FaceTracker。但我需要在视频播放中使用它。任何人都有任何建议如何完成或任何替代路径,以实现类似的结果?
然而,我想让代码在本地运行(在同一台机器上或本地网络服务器上),而不是调用Web服务并不停地发送数千帧。
*最简单的方法是: 1.将视频播放转换为捕获流 2.使用跟踪器检测面部并绘制矩形 3.将结果显示为视频
我理解第2步完全由微软处理。我认为3很容易。所以任何人都知道如何实现第1步?*
答案 0 :(得分:0)
您无法将视频播放转换为捕获流,但您可以通过使用MediaPlayer的AddVideoEffect方法注册MediaPlayer,从custom video effect获取VideoFrame。
自定义视频效果是一个实现IBasicVideoEffect的类。它的ProcessFrame方法将传递一个ProcessVideoFrameContext对象,其中包含一个可以传递给FaceTracker的InputFrame和一个可以使用FaceTracker中的矩形修改的OutputFrame。
有关在应用中创建和注册效果的演练,请参阅custom video effects文档。例如,它演示了如何将效果应用于MediaComposition剪辑而不是运行的MediaPlayer,但可以在两个位置使用相同的效果类。