我在想办法避开这件事。我想用AVAssetWriterInput在OSX上用Swift录制现场视频。
我创建了一个名为input的AVAssetWriterInput实例,希望将数据附加到输入,然后将其写入文件。
我将expectsmediadatinrealtime设置为true就像文档中所说的那样。当我运行应用程序时,出现以下错误:

Cannot append sample buffer: Cannot call method when status is 0

我使用captureOutput从相机获取数据。
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!) {
   // defined on load
   // var input:AVAssetWriterInput

   // Here I get an error
   input.append(sampleBuffer)
}

AVAssetWriterInput将处理视频的编码吗?如果我还想流式传输数据,我应该使用2个写入程序吗?
谢谢

最佳答案

确保在input.append(sampleBuffer)之前调用AVAssetWriter.startWriting()

08-28 18:00