ios swift image opentok tokbox

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.