Convertir AAC en LPCM a través de AudioConverterFillComplexBuffer
Frecuentes
Visto 991 veces
0
Estoy tratando de hacer uso del 'Servicio de conversión de audio' - AudioConverterFillComplexBuffer
Estoy golpeando bastantes problemas. En primer lugar, no sé cómo llenar el ioOutputDataPacketSize
. Analicé mi descriptor SDP y obtengo 8000 Hz, 1 canal AAC-LC.
a=fmtp:98 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1588
Recibo algunos datos listos para la conversión a través de RTP (de varios tamaños), elimino los encabezados como se muestra a continuación, y lo que espero es un campo de longitud de encabezados AU de 16 bits, luego tendría los encabezados AU que deberían permitir yo para determinar el tamaño del marco/paquete, etc. Sin embargo, lo que estoy viendo es solo un cero para la longitud del encabezado ...
Recibo AAC-LC/AAC-hbr a través de RTP, el paquete recibido se ve así:
0x24 0x00 - unknown framing
0x05 0x84 - rfc4571 - 2bytes packet length
0x80 0x61 0x00 0x00 - 12bytes rtp header - rfc3016
0x00 0x00 0x05 0xA0
0x05 0x5F 0xEB 0x2E
0x00 0x00 0x01 0xB0 - rtp payload ie. start of AAC header??
0x03 0x00 0x00 0x01
0xB5 0x09 0x00 0x00
0x01 0x00 0x00 0x00
0x01 0x20 0x00 0x84
0x40 0x06 0x68 0xA0
0x21 0xE0 0xA3 0x1F
0x00 0x00 0x01 0xB6 ...
Obtengo el 'encabezado' anterior cada dos segundos, y entre varios paquetes que comienzan con:
0x00 0x00 0x01 0xB6
Entonces parece un encabezado consistente, pero tal vez estoy malinterpretando rfc3640.
Entonces dos preguntas realmente:
¿Cómo puedo determinar el valor de
ioOutputDataPacketSize
.¿Está el encabezado AAC sobre los datos AAC reales que podría pasar directamente a la función de conversión? o necesito quitar el encabezado (una vez que pueda decodificar y calcular su tamaño)
Realmente no he encontrado ningún ejemplo para hacer esta conversión de una entrada de NSData a otra salida de NSData. Algunos ejemplos usan conversiones basadas en disco, pero no ofrecen mucha ayuda para la conversión en memoria.
1 Respuestas
0
Mi error, esto no son datos de audio lo que estoy viendo, ¡sino datos de video! ahora puedo extraer los paquetes del tamaño correcto.
contestado el 25 de mayo de 12 a las 21:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ios rtp aac or haz tu propia pregunta.
El encuadre desconocido es RFC2326 Binary Interleaved. - Jay