【问题标题】:How to get NSData from AVCaptureSession?如何从 AVCaptureSession 中获取 NSData?
【发布时间】:2014-02-17 17:32:45
【问题描述】:

我正在使用 AVCaptureSession 在 iOS 中录制视频。

-(id)init 
{
   if ((self = [super init])) 
   {
    [self setCaptureSession:[[AVCaptureSession alloc] init]];
   }
   return self;
}


-(void)addVideoPreviewLayer 
{
   [self setPreviewLayer:[[[AVCaptureVideoPreviewLayer alloc] initWithSession:[self captureSession]] autorelease]];
   [[self previewLayer] setVideoGravity:AVLayerVideoGravityResizeAspectFill];
}

如何在录制的同时创建 NSData 录制的视频?

【问题讨论】:

标签: ios objective-c record video-capture avcapturesession


【解决方案1】:

访问编码帧?你不能单独使用 iOS SDK 来做到这一点。您可以记录一点到文件,访问文件中的编码帧,记录一个新文件,访问更多...如果您需要这样做。

但是,如果您在尝试获取原始帧的同时还要进行写作,那是相当简单的。不要将输出捕获到文件,而是在 AVCaptureAudioDataOutputSampleBufferDelegate 上使用 –captureOutput:didOutputSampleBuffer:fromConnection:。只需确保将数据路由到正在编码/写入缓冲区的东西,否则您将失去“...同时记录”方面。

这不是 NSData,而是 CMSampleBufferRef,根据缓冲区是音频还是视频,可以通过多种方式转换为 NSData。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2016-06-09
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多