video - 在 Windows Phone 8 应用程序中录制视频时,如何从相机获取每一帧?

标签 video windows-phone-8 camera

我正在开发一个远程呈现应用程序,该应用程序使用 Windows Phone 8 设备将图像传送回台式机/平板电脑。我找到了几个展示如何录制视频的示例,甚至将其保存到文件中,但没有一个展示了如何在流式传输时从相机中获取每一帧。我看到了一个使用 FileSink 对象将视频保存到存储中的示例,但是在生成每一帧时没有类似的方法。我也没有在相机对象中看到每当生成新位图/帧时都会触发的事件。有类似拍照的事件,但是拍照很慢,无法用于流式视频。

在视频录制模式下,如何获取相机生成的每一帧?我当然需要这个,这样我就可以通过台式机/平板电脑的套接字链接发送每一帧。

最佳答案

如果你使用的是 PhotoCaptureDevice 或 PhotoCamera,你可以使用这个

camera.GetPreviewBufferArgb(previewBuffer);

  camera.GetPreviewBufferArgb32(previewBuffer);

其中 previewBuffer 是帧的像素数组。您可以将其分配给 WriteableBitmap.Pixels

或者通过套接字传递原始数组并将其分配给桌面上的图像。

关于video - 在 Windows Phone 8 应用程序中录制视频时,如何从相机获取每一帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23960142/

相关文章:

ios - 使用 Metal/OpenGL ES 在 iOS 中渲染视频

css - Div 中的 HTML5 视频背景 - 需要帮助调整到窗口大小

xaml - 使用 VisualStateManager 对按钮的 ScaleTransform 进行动画处理

c# - 将 async/await 与 void 方法一起使用

android - 如何使用 android.graphics.Camera.rotateX(angle) 在特定点旋转 Canvas

delphi - 网络摄像头支持的视频格式

video - 具有多个 mp4 文件的 ffmpeg 分段到 HLS 流

c# - 在解决方案中拆分 WebApi 项目和 FrontEnd 项目

android - 使用 cameraX 的 PreviewView 捕获叠加层

iphone - 选择多个图像的问题