修改后发送给服务器,ios - 如何修改(添加过滤器)WebRTC发送给其他对等/服务器的摄像机流 - 堆栈内存溢出...

博客作者正尝试在使用WebRTC进行视频通话时,从相机捕获帧并预处理这些帧以添加滤镜效果(如棕褐色或黑白)。他们已经成功设置了一个RTCCameraPreviewView来显示本地相机流,并创建了音频和视频轨道。目前,他们寻求指导以了解如何捕获这些帧,应用滤镜,然后将处理后的帧传递回WebRTC流。
摘要由CSDN通过智能技术生成

范围

我正在使用RTCCameraPreviewView来显示本地相机流

let videoSource = self.pcFactory.avFoundationVideoSource(with: nil)

let videoTrack = self.pcFactory.videoTrack(with: sVideoSource, trackId: "video0")

//setting the capture session to my RTCCameraPreviewView:

(self.previewView as! RTCCameraPreviewView).captureSession = (videoTrack.source as! RTCAVFoundationVideoSource).captureSession

stream = self.pcFactory.mediaStream(withStreamId: "unique_label")

audioTrack = self.pcFactory.audioTrack(withTrackId: "audio0")

stream.addAudioTrack(audioTrack)

var device: AVCaptureDevice?

for captureDevice in AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo) {

if (captureDevice as AnyObject).position == AVCaptureDevicePosition.front {

device = captureDevice as? AVCaptureDevice

break

}

}

if device != nil && videoTrack != nil {

stream.addVideoTrack(videoTrack)

}

configuration = RTCConfiguration()

configuration.iceServers = iceServers

peerConnection = self.pcFactory.peerConnection(with: configuration, constraints: RTCMediaConstraints(mandatoryConstraints: nil, optionalConstraints: ["DtlsSrtpKeyAgreement": "true"]), delegate: self)

peerConnection.add(stream)

事情正如预期的那样正常。

问题

现在我想抓住相机中的帧并预处理它们以添加一些滤波器(棕褐色,黑白等),然后将帧中继到WebRTC。 在通过webrtc文档挣扎之后,我仍然无法找到从哪里开始和做什么。

任何形式的抬头都将受到高度赞赏!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值