Domanda

Sto scrivendo un'applicazione Smooth Streaming Client. Sul lato server (IIS 7 con estensioni Media Services), ho un gruppo di file ISMV e ISMA codificati usando Expression Encoder Pro 4 con il preset "H.264 IIS Smooth Streaming iPhone WiFi". In poche parole, si utilizza il codec video "H.264 linea di base", e il codec audio AAC-LC.

Sul lato client, tuttavia, è dove sto avendo dei problemi, in particolare con i pezzi audio. Mentre ho potuto dare un senso del flusso video H.264 (è essenzialmente una sequenza di unità NAL prime preceduti dalla loro lunghezza, senza che l'unità NAL "codice start" 0, 0, 0, 1), ancora rifugio 't stato in grado di decifrare ciò che si trova all'interno del LC AAC flusso audio, vale a dire ciò che viene nel 'MDAT'(media Box Data) atomo. E 'sicuramente non un contenitore MP4, ma che cosa è allora?

sto incollando sotto del primo 128 (numero scelto arbitrariamente) byte di un frammento AAC-LC (porzione MDAT solo) ottenuto dal server, in caso chiunque può capire da lì.

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
};
È stato utile?

Soluzione

Dopo una lunga ricerca e questo suggerimento ho ricevuto sul IIS forum, sono stato in grado di capirlo. Fondamentalmente questo è un flusso AAC grezzo, che deve essere avvolto con intestazioni prima di poter essere riprodotto. Il formato più semplice e comune di intestazione sembra essere ADTS , che consiste nell'aggiungere un href="http://www.hydrogenaudio.org/forums/lofiversion/index.php/t21617.html" rel="nofollow"> un'intestazione 7 byte .

scroll top