使用CVPixelBuffer创建RTCVideoframe

3

需要帮助创建 RTCVideoframe

这是 RTCVideoframe 的初始化方法:RTCVideoFrame(buffer: RTCVideoFrameBuffer, rotation: RTCVideoRotation, timeStampNs: Int64)

我能够获得 CVPixelBuffer 作为输入缓冲区

如何将 CVPixelBuffer 转换为 RTCVideoframeBuffer

谢谢,任何帮助都非常感激。


你找到解决方案了吗? - Ogulcan Orhan
@OgulcanOrhan 请查看我的答案。如有进一步问题,请随时发布。谢谢。 - MacDeveloper
@Dutt你能告诉我如何获得时间戳吗?我使用了CMSampleBufferGetPresentationTimeStamp(sampleBuffer),但WebRTC视频在一段时间后冻结了:( - Aboulfouz
1个回答

7
使用从 cmSampleBuffer 接收到的内容
sharedRecorder.startCapture(handler: { (cmSampleBuffer, rpSampleType, error) in
   switch rpSampleType {
  case RPSampleBufferType.video:

{
 let pixelBuffer = CMSampleBufferGetImageBuffer(cmSampleBuffer)!
 let rtcpixelBuffer = RTCCVPixelBuffer(pixelBuffer: pixelBuffer)
 videoFrame = RTCVideoFrame(buffer: rtcpixelBuffer, rotation: RTCVideoRotation._0, timeStampNs: Int64(timestamp))
}
} )}

`


嗨,有什么方法可以转换回来吗? - famfamfam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接