我正在 Windows Phone 7 中开发 IP 摄像机应用程序。我的要求是录制视频并将其保存到本地路径。我已经可以通过 IP Camera API 访问图像,现在我想将图像转换为视频。我该怎么做?
1 回答
我不确定这个确切任务的示例代码是否存在。您可以先查看System.Windows.Media文档,尤其VideoRecorder
是CaptureSource
和FileSink
. How to : Record Video in a Camera Application for Windows Phone文章和Video Recorder Sample也可能有用。我知道您并没有尝试对来自相机的视频进行编码,但这些示例展示了如何访问手机上可用的编码器,您只需要弄清楚如何为它们提供您自己的视频帧。我可以看到的一个问题是CaptureSource
,FileSink
并且VideoCaptureDevice
都是密封类。通常FileSink
调用CaptureSource.CaptureImageAsync并将下一帧作为 aWriteableBitmap
中的属性获取CaptureSource.CaptureImageCompleted事件处理程序。这是您想要提供您拥有的框架的地方,但是如何提供?您不能从CaptureSource
...继承,如果可以的话,您只需将其设置为文件接收器的源并提供您自己的框架。因此,乍一看还不清楚您是否可以使用 Windows Phone 上的内置编解码器对自己的视频进行编码。
如果您可以使用开源编解码器,另一种方法是编译 ffmpeg(或 gstreamer、或 xuggler 或 x264,...)。您可以查看ffmpeg4pocketpc,我对此了解不多,但看起来很有希望。或者,选择一个商业编解码器库,例如 CoreCodec。