Usando VTCompressionSession como en WWDC2014

La documentation de esta biblioteca es básicamente inexistente, por lo que realmente necesito tu ayuda aquí.

Objetivo: Necesito la encoding H264 (preferiblemente con audio y video, pero solo el video está bien y voy a jugar unos días para que el audio funcione también) para poder transmitirlo a un flujo de transporte MPEG.

Lo que tengo: tengo una camera que graba y emite buffers de muestra. Las inputs son camera trasera y micrófono incorporado.

Algunas preguntas: A. ¿Es posible hacer que la camera emita CMSampleBuffers en formatting H264? Quiero decir, el 2014 se ha producido a partir de VTCompressionSessions, pero mientras escribo my captureOutput, veo que ya obtengo un CMSampleBuffer … B. ¿Cómo configuro una VTCompressionSession? ¿Cómo se usa la session? Alguna discusión general de alto nivel sobre esto podría ayudar a las personas a comprender lo que realmente está sucediendo en esta biblioteca apenas documentada.

Codifique aquí (solicite más si lo necesita; solo estoy poniendo captureOutput porque no sé cuán relevante es el rest del código):

func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) { println(CMSampleBufferGetFormatDescription(sampleBuffer)) var imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) if imageBuffer != nil { var pixelBuffer = imageBuffer as CVPixelBufferRef var timeStamp = CMSampleBufferGetPresentationTimeStamp(sampleBuffer as CMSampleBufferRef) //Do some VTCompressionSession stuff } } 

¡Gracias a todos!