据我所知,您希望在发送视频数据之前以及实时应用过滤器.这里没有简单的源代码,但我可以告诉你路径.
对于实时视频过滤器,您可以使用GPUImage框架.它已准备好使用相机GPUImageVideoCamera类.因此,您需要创建实现的类GPUImageInput(它是GPUImage的目标),它将OTVideoFrame从输入生成帧并将其添加到管道.
像这样的东西:
videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
videoCamera.horizontallyMirrorFrontFacingCamera = NO;
videoCamera.horizontallyMirrorRearFacingCamera = NO;
// filter
filter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:filter];
// frame producer for OTVideoCapture
frameProducer = [[FrameProducer alloc] init];
[filter addTarget:frameProducer];
// camera view to show what we record
[filter addTarget:filterView];
Run Code Online (Sandbox Code Playgroud)
您还需要OTVideoCapture为OpenTok本身自定义协议实现.你可以使用TBExampleVideoCapture由让-建设- OTPublisher样本为起点.您需要使用上述GPUImageVideoCamera摄像头代码替换摄像头代码才能实时使用滤镜.
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |