ios - ¿Cómo puedo agregar filtros de imágenes centrales a OpenTok video?
swift image (1)
Cuando publico una transmisión en iOS, TokBox usa la cámara predeterminada. ¿Hay alguna manera de agregar filtros en vivo al editor?
Solo quiero un código de ejemplo sencillo sobre cómo crear un filtro y adjuntarlo al objeto editor de opentok (OTVideoCapture).
O, si esa no es la forma correcta de hacerlo ... también es conveniente colocar el filtro en el lado del suscriptor.
¿Cómo se puede hacer esto fácilmente?
Según tengo entendido, desea aplicar filtros antes de enviar datos de video y también en tiempo real. No hay un código fuente fácil aquí, pero podría decirte la ruta.
Para los filtros de video en tiempo real puede usar el marco GPUImage . Tiene lista para usar la cámara de la clase GPUImageVideoCamera
. Por lo tanto, debe crear una clase que implemente GPUImageInput
(es el objetivo en términos de GPUImage) que producirá el marco OTVideoFrame
partir de la entrada y lo agregará a la canalización.
Algo como esto:
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];
También necesita la implementación personalizada del protocolo OTVideoCapture para OpenTok. Podría usar TBExampleVideoCapture
de la TBExampleVideoCapture
Lets-Build-OTPublisher como punto de inicio. GPUImageVideoCamera
reemplazar el código de la cámara con el código de la cámara GPUImageVideoCamera
anterior para usar los filtros en tiempo real.