使用自定义相机 UI 录制视频但阻止保存
Record video with custom camera UI but prevent save
我在自定义相机 UI 中使用 AVCaptureFileOutputRecordingDelegate - didFinishRecordingToOutputFileAt,但我不想通过此方法,因为视频是在以下时间保存的它完成录制。
由于遗留原因,我无法在本地保存视频,然后将其放入静态实例中并将其从本地删除。
我该怎么做?
AVFoundation
框架只有以下捕获会话的输出。
AVCaptureMovieFileOutput
- 录制并输出电影文件
AVCaptureVideoDataOutput
- 处理正在捕获的视频中的帧
AVCaptureAudioDataOuput
- 处理正在捕获的音频数据
AVCaptureStillImageOutput
- 捕获静止图像输出
因为您不想将录制的视频保存到文件中。另一个最佳选择是使用 AVCaptureVideoDataOutput
并在连续录制视频上获取每一帧并从图像缓冲区创建视频。请注意,在这种情况下您将没有音频输出。同样,我们可以添加 AVCaptureAudioDataOuput
并将音频单独嵌入到我们录制的视频中。但此解决方法不适用于更高的帧速率。所以最好建议将视频保存到临时文件夹中,稍后再删除。
我在自定义相机 UI 中使用 AVCaptureFileOutputRecordingDelegate - didFinishRecordingToOutputFileAt,但我不想通过此方法,因为视频是在以下时间保存的它完成录制。 由于遗留原因,我无法在本地保存视频,然后将其放入静态实例中并将其从本地删除。 我该怎么做?
AVFoundation
框架只有以下捕获会话的输出。
AVCaptureMovieFileOutput
- 录制并输出电影文件AVCaptureVideoDataOutput
- 处理正在捕获的视频中的帧AVCaptureAudioDataOuput
- 处理正在捕获的音频数据AVCaptureStillImageOutput
- 捕获静止图像输出
因为您不想将录制的视频保存到文件中。另一个最佳选择是使用 AVCaptureVideoDataOutput
并在连续录制视频上获取每一帧并从图像缓冲区创建视频。请注意,在这种情况下您将没有音频输出。同样,我们可以添加 AVCaptureAudioDataOuput
并将音频单独嵌入到我们录制的视频中。但此解决方法不适用于更高的帧速率。所以最好建议将视频保存到临时文件夹中,稍后再删除。