2017-07-25 68 views
1

我使用AVCaptureFileOutputRecordingDelegate - didFinishRecordingToOutputFileAt我的自定义相机UI里面,但我并不想通过这种方法,因为视频被保存,当它完成录制。 由于遗留原因,我无法在本地保存视频,然后将其放入静态实例并从本地删除。 我该怎么做?定制UI摄像头录制视频,但防止保存

+0

在Bluewings的回复之后,我试着从UIImage数组中制作视频(使用这个帖子中的例子:https://stackoverflow.com/questions/40788480/how-do-i-export-uiimage-array -as-a-movie-in-swift-3),我从方法** captureOutput(_ captureOutput:AVCaptureOutput!,didOutputSampleBuffer sampleBuffer:CMSampleBuffer !,来自连接:AVCaptureConnection!)**,但它始终保存视频临时文件夹,然后删除它。如何从[UIImage]创建视频而不将其保存在临时文件夹中? – Ridney

回答

1

AVFoundation框架仅具有捕获会话的以下输出。

  • AVCaptureMovieFileOutput - 录制和输出电影文件
  • AVCaptureVideoDataOutput - 从视频中被处理帧捕获
  • AVCaptureAudioDataOuput - 处理音频数据被捕获
  • AVCaptureStillImageOutput - 拍摄静态图像输出

由于您不想将录制的视频保存到文件中。另一个最佳选择是使用AVCaptureVideoDataOutput,并在连续录制的视频上获取每帧,并从图像缓冲区创建视频。要做笔记,在这种情况下你将不会有音频输出。我们再次可以添加AVCaptureAudioDataOuput,并将音频分别嵌入到我们录制的视频中。但是这种解决方法不适用于更高的帧速率。因此,最好的建议是将视频保存到临时文件夹并稍后删除。

+0

非常感谢这个回复。 – Ridney