Pregunta

Estoy escribiendo una aplicación cliente Smooth Streaming. En el lado del servidor (IIS 7 con extensiones Media Services), tengo un montón de archivos ISMV y ISMA codificado utilizando Expression Encoder Pro 4 con la definición de "H.264 IIS Smooth Streaming iPhone Wi-Fi". En pocas palabras, se utiliza el códec de vídeo "H.264 línea de base", y el códec de audio AAC-LC.

En el lado del cliente, sin embargo es donde yo estoy teniendo problemas, especialmente con los trozos de audio. Si bien he sido capaz de dar sentido a la secuencia de vídeo H.264 (se trata esencialmente de una secuencia de unidades NAL primas prefijadas por su longitud, sin la unidad NAL "comenzar código" 0, 0, 0, 1), todavía refugio 't sido capaz de descifrar lo que está dentro de la LC AAC flujo de audio, es decir, lo que viene en el 'mdat'(Media Data Box) átomo. Es más es definitivamente no un contenedor MP4, pero ¿qué es entonces?

Estoy pegando por debajo de la primera 128 (número elegido arbitrariamente) bytes de un fragmento de AAC-LC (porción MDAT solamente) obtenida desde el servidor, en caso de que cualquier persona puede averiguarlo desde allí.

unsigned char data[128] = {
 0x21, 0x09, 0x0A, 0xBF, 0xBF, 0xFF, 0xFF, 0xD5, 0xB1, 0x8D, 0xC4, 0xA1,
 0x18, 0x0D, 0x25, 0xC9, 0x2E, 0x49, 0x2E, 0x10, 0x88, 0x91, 0x10, 0x01,
 0x13, 0x23, 0x2C, 0x36, 0x25, 0x60, 0x6B, 0x94, 0x8C, 0x74, 0xD7, 0x4A,
 0x95, 0xD3, 0x03, 0x91, 0x5B, 0x76, 0xDE, 0x27, 0xC5, 0xB2, 0x4C, 0xCF,
 0xEB, 0x3E, 0xDD, 0xFF, 0x22, 0xAF, 0xC3, 0xF8, 0x60, 0x36, 0x49, 0xBC,
 0xAE, 0x4D, 0x10, 0x31, 0xC6, 0x28, 0x2A, 0xEB, 0xCA, 0x94, 0x51, 0xD8,
 0x61, 0x1B, 0xC6, 0x2A, 0x91, 0x71, 0xE4, 0x8C, 0xF8, 0x19, 0x2C, 0xDE,
 0x71, 0xBB, 0xE3, 0xBD, 0x36, 0xB4, 0x45, 0x37, 0x02, 0x61, 0x48, 0x8E,
 0x19, 0x80, 0xD5, 0x24, 0x97, 0x24, 0x92, 0x44, 0x08, 0x89, 0x12, 0x00,
 0xB3, 0xF8, 0x1E, 0xE2, 0xBD, 0xCD, 0x4E, 0xF7, 0xA9, 0xE2, 0x0E, 0xD8,
 0xEA, 0xFA, 0xCF, 0xDB, 0x4E, 0x69, 0x6F, 0xEE
};
¿Fue útil?

Solución

Después de una larga investigación y este consejo he recibido en el IIS foros, que era capaz de entenderlo. Básicamente se trata de una corriente AAC prima, que debe ser envuelto con cabeceras antes de que pueda ser reproducido. El formato de cabecera simple y más común parece ser ADTS , que consiste en añadir un href="http://www.hydrogenaudio.org/forums/lofiversion/index.php/t21617.html" rel="nofollow"> encabezado 7-byte muestra .

scroll top