9

我正在尝试使用 AVCaptureSession 从相机捕获视频,然后我想使用 AVAssetWriter 将结果写入文件(具体来说,使用多个 AVAssetWriters 将捕获写入块视频,但我们不需要复杂化这个问题与那个)。但是,我无法确定数据实际需要传递到 AVAssetWriter 的位置。在 Apple Developer 文档中,我只看到 AVCaptureSession 数据被传递给 AVCaptureFileOutput。也许我只是错过了一些东西。AVAssetWriter 可以仅用作捕获会话的输出吗?将不胜感激相关示例或代码位(虽然不是必需的)。非常感谢!

4

2 回答 2

6

看看http://www.gdcl.co.uk/2013/02/20/iOS-Video-Encoding.html。这显示了如何将捕获输出与资产写入器连接,然后从资产写入器中提取数据以进行流式传输。

G

于 2013-04-09T20:33:29.910 回答
4

你的目标到底是什么?因为您要求(使用 AVAssetWriter 作为 AVCaptureSession 的输出)是不可能的。

基本上,一个AVCaptureSession对象具有输入(例如:相机,由某个AVCaptureInput子类表示)和输出(以AVCaptureOutput's 的形式)。而且 anAVAssetWriter不是AVCaptureOutput子类,因此无法直接从 AVCaptureSession 中使用它。

如果要使用 AVAssetWriter,则必须使用AVCaptureFileOutput实例将数据写出,然后使用 . 读回,以AVAssetReader某种方式修改数据,然后通过AVAssetWriter.

最后要记住的事情:AVAssetReader记录在案以不保证实时操作。

于 2013-04-09T03:24:36.623 回答