Ich schreibe eine Smooth Streaming Client-Anwendung. Auf der Serverseite (IIS 7 mit Media-Services-Erweiterungen) habe ich eine Reihe von ISMV- und ISMA-Dateien mit Expression Encoder Pro 4 mit der Voreinstellung "H.264 IIS Smooth Streaming iPhone WiFi" codiert. Kurz gesagt, es verwendet den Videocodec "H.264 baseline" und den Audiocodec AAC-LC.Smooth Streaming und AAC-Low Complexity Audio-Codec. Datei Format?
Auf der Client-Seite ist jedoch, wo ich Probleme habe, speziell mit den Audio-Chunks. Während ich in der Lage war, den H.264-Videostream (es ist im Wesentlichen eine Sequenz von rohen NAL-Einheiten mit ihrer Länge vorangestellt, ohne die NAL-Einheit "Startcode" 0, 0, 0, 1), habe ich immer noch Port Es ist mir nicht gelungen zu knacken, was im AAC LC Audio Stream steckt, also was im "mdat" (Media Data Box) Atom steckt. Es ist definitiv nicht ein MP4-Container, aber was ist es dann?
Ich schreibe unterhalb der ersten 128 (Anzahl willkürlich gewählt) Bytes eines AAC-LC-Fragments (nur MDAT-Teil) vom Server erhalten, falls jemand es von dort herausfinden kann.
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
};
So '.isma' Datei kann in reguläre Audiodatei durch Hinzufügen solcher Header umgewandelt werden? Können Sie mir bitte ein Tool oder einen Code empfehlen, mit dem '.isma' und' .ismv' Dateien in Dateien konvertiert werden können, die von einigen gängigen Spielern gespielt werden können? –
Vielleicht möchten Sie eine separate Frage zu diesem Thema erstellen, da es ein ziemlich komplexes Thema ist. Die Antwort in kurzen Worten ist jedoch, dass nein, Sie können nicht nur den 7-Byte-Header hinzufügen; Sie müssten zuerst die Metadaten der ISO-Datei analysieren ("tfhd" -Box, "trun" -Box usw.), um herauszufinden, wo sich die Samples-Grenzen befinden. Aber wenn ich mich richtig erinnere, können Sie (unverschlüsselte) ISMA-Dateien mit Windows Media Player abspielen? –