2012-12-14 13 views
5

Ich habe AAC-LC Audiostream kommt direkt von Audio-Encoder.So finden Sie AAC-LC (nicht-ADTS) Audiopaketlänge

Es ist ein roher Stream, keine ADTS-Header, keine Container-Daten, wie ich codierte Audio direkt streamen will, wie es ankommt (bevor Datei gespeichert wird).

Ich möchte die Rahmengrenzen/Rahmenlängen/Paketlängen im eingehenden encodierten Roh-AAC-Stream bestimmen. (AAC hat variable Paketlängen.)

Kann ich nach festen Frame-Headern/Mustern suchen, damit ich Rahmengrenzen festlegen kann?

Ist es mit AAC möglich?

Vielen Dank im Voraus für Ihre wertvollen Eingaben.

Antwort

2

Wenn Sie AAC-kodierte Daten direkt vom Encoder nehmen, ist es an dem Encoder, Frame für Frame zu senden. Es sollte nicht "Pakete", sondern einzelne Frames senden. Sonst sehe ich keine Möglichkeit, wie man Frames analysieren kann.

Ich würde zuerst überprüfen, ob es wirklich mehr als ein Bild auf einmal sendet?

Wenn ja, dann wäre eine Lösung, dem Encoder mitzuteilen, dass er den ADTS-Header senden soll, dann Informationen aus ADTS analysieren und schließlich ADTS aus dem Frame entfernen und als Rohdaten streamen soll.

Hilft das?

+1

Danke Danijel. Ich habe keine Kontrolle über den Encoder, daher kann ich ihn nicht anweisen, Roh-Bitstream zusammen mit ADTS-Headern zu senden. Eigentlich möchte ich AAC-Frames per RTP in Echtzeit streamen. aber ohne Rahmengrenzen zu finden, kann ich sie nicht mit der richtigen Rahmen- und Zeitstempelung senden. – mrsatish

+0

Ich bin mir wirklich nicht sicher, wie ich das machen soll ... du solltest ein paar Infos vom Encoder haben, sonst sehe ich keinen Weg. Guter Ort, um diese Art von Fragen zu stellen, ist Hydrogen Audio: http://www.hydrogenaudio.org/forums/index.php?showforum=54 – Danijel

+1

Danke Danijel, ich habe die Frage dort gepostet. http://www.hydrogenaudio.org/forums/index.php?showtopic=98395 – mrsatish