2012-12-14 11 views
5

Mam strumień audio AAC-LC pochodzący bezpośrednio z kodera audio.Jak znaleźć długość pakietu audio AAC-LC (nie ADTS)

Jest to strumień nieprzetworzony, bez nagłówków ADTS, bez danych kontenera, ponieważ chcę przesłać zakodowany dźwięk bezpośrednio po jego nadejściu (przed zapisaniem pliku).

Chcę określić granice ramek/długość ramek/długości pakietów w przychodzącym zakodowanym surowym strumieniu AAC. (AAC ma różne długości pakietów.)

Czy mogę wyszukać wszystkie ustalone nagłówki/wzory ramek, aby móc określić granice ramek?

Czy to możliwe z AAC?

Z góry dziękujemy za cenne informacje.

Odpowiedz

2

Jeśli korzystasz z zakodowanych danych AAC bezpośrednio z enkodera, to do enkodera jest wysyłane klatka po klatce. Nie powinien wysyłać "pakietów", ale pojedynczych ramek. W przeciwnym razie nie widzę sposobu, w jaki można analizować ramki.

Najpierw sprawdzam, czy rzeczywiście wysyła więcej niż jedną klatkę na raz?

Jeśli tak, to jednym z rozwiązań byłoby poinformowanie enkodera o wysłaniu nagłówka ADTS, następnie przeanalizowanie informacji z ADTS, a na koniec rozebrać ADTS z ramki i przesłać ją jako surową.

Czy to pomaga?

+1

Dzięki Danijel. Nie mam kontroli nad koderem, dlatego nie mogę skierować go do wysyłania strumienia bitów razem z nagłówkami ADTS. Właściwie chcę przesyłać strumieniowo ramki AAC przez RTP w czasie rzeczywistym. ale bez odnajdywania granic klatek nie mogę ich przesłać z odpowiednim kadrowaniem i znacznikiem czasu. – mrsatish

+0

Naprawdę nie jestem pewien, jak to zrobić ... powinieneś mieć jakieś informacje z kodera, w przeciwnym razie nie widzę sposobu. Dobrym miejscem do zadawania tego rodzaju pytań jest Hydrogen Audio: http://www.hydrogenaudio.org/forums/index.php?showforum=54 – Danijel

+1

Dzięki Danijel, zamieściłem tam pytanie. http://www.hydrogenaudio.org/forums/index.php?showtopic=98395 – mrsatish

Powiązane problemy