2017-07-25 66 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