jjzjj

cmsamplebuffer

全部标签

ios - 将 CMSampleBuffer 转换为 UIImage

这是一个将CMSampleBuffer转换为UIImage的函数(来自Apple文档的代码)funcimageFromSampleBuffer(sampleBuffer:CMSampleBuffer)->UIImage{//GetaCMSampleBuffer'sCoreVideoimagebufferforthemediadatavarimageBuffer=CMSampleBufferGetImageBuffer(sampleBuffer)//LockthebaseaddressofthepixelbufferCVPixelBufferLockBaseAddress(imageBu

ios - 将 CMSampleBuffer 转换为 UIImage

我正在尝试将sampleBuffer转换为UIImage并使用colorspaceGray在ImageView中显示它。但它显示如下图。我认为转换有问题。如何转换CMSampleBuffer?funccaptureOutput(_captureOutput:AVCaptureOutput!,didOutputSampleBuffersampleBuffer:CMSampleBuffer!,fromconnection:AVCaptureConnection!){print("buffered")letimageBuffer:CVImageBuffer=CMSampleBufferGet

ios - 设置 CMSampleBuffer 样本附件(Swift)

我正在尝试设置kCMSampleAttachmentKey_DisplayImmediately对于我在CMSampleBuffer中的每个样本.到目前为止,我已经尝试获取字典(Dictionary、NSDictionary、CFDictionary),并调用了CMSetAttachment在两个CMSampleBuffer及其附件。为了检索附件,我使用CMSampleBufferGetSampleAttachmentsArray.我知道如何在Swift中设置这些标志吗? 最佳答案 这是适用于Swift4(应该适用于3)的解决方案(

ios - 从 CMSampleBuffer 播放音频

我在iOS中为群组创建了一个视频聊天应用程序。我一直在寻找一些方法来分别控制不同参与者的音量。我找到了使用RemoteAudioTrack中的isPlaybackEnabled静音和取消静音的方法,但无法控制音量。我也想过我们是否可以在AVAudioPlayer中使用它。我找到了addSink。这是我从here中尝试过的:classAudio:NSObject,AudioSink{vara=1funcrenderSample(_audioSample:CMSampleBuffer!){print("audiofound",a)a+=1varaudioBufferList=AudioBu

ios - 音频 CMSampleBuffer 的深拷贝

我正在尝试创建由AVCaptureAudioDataOutputSampleBufferDelegate中的captureOutput返回的CMSampleBuffer副本.我遇到的问题是我的框架来自委托(delegate)方法captureOutput:didOutputSampleBuffer:fromConnection:在我将它们保留在CFArray中后被删除很长一段时间。显然,我需要创建传入缓冲区的深拷贝以供进一步处理。我也知道CMSampleBufferCreateCopy只创建浅拷贝。关于SO的相关问题很少:PullingdatafromaCMSampleBufferin

ios - 从 CMSampleBuffer 中提取数据以创建深拷贝

我正在尝试创建CMSampleBuffer的副本,由AVCaptureVideoDataOutputSampleBufferDelegate中的captureOutput返回。由于CMSampleBuffers来自预先分配的(15)个缓冲区池,如果我附加对它们的引用,它们将无法重新收集。这会导致所有剩余的帧被丢弃。Tomaintainoptimalperformance,somesamplebuffersdirectlyreferencepoolsofmemorythatmayneedtobereusedbythedevicesystemandothercaptureinputs.Th

AV Foundation ⑯ 视频处理与CMSampleBuffer

视频处理    使用AVCaptureMovieFileOutput虽然可以便捷的捕捉视频数据,但是它无法同视频数据进行交互,而交互又是许多场景所需要的功能。当需要使用底层控制时,就会用到框架提供的最底层的视频捕捉输出AVCaptureVideoDataOutput。    AVCaptureVideoDataOutput是一个AVCaptureOutput的子类,可以直接访问摄像头传感器捕捉到的视频帧。这是一个强大的功能,因为这样我们就完全控制了视频数据的格式、时间和元数据,可以按照需求操作视频内容。大部分情况下,处理过程都是使用OpenGLES或CoreImage,有时,Quartz也可以

AV Foundation ⑯ 视频处理与CMSampleBuffer

视频处理    使用AVCaptureMovieFileOutput虽然可以便捷的捕捉视频数据,但是它无法同视频数据进行交互,而交互又是许多场景所需要的功能。当需要使用底层控制时,就会用到框架提供的最底层的视频捕捉输出AVCaptureVideoDataOutput。    AVCaptureVideoDataOutput是一个AVCaptureOutput的子类,可以直接访问摄像头传感器捕捉到的视频帧。这是一个强大的功能,因为这样我们就完全控制了视频数据的格式、时间和元数据,可以按照需求操作视频内容。大部分情况下,处理过程都是使用OpenGLES或CoreImage,有时,Quartz也可以