Po pierwsze, musisz zrozumieć, jak to działa.
Nadawca czyli twórcy strumienia RTP jest prawdopodobnie następujący sposób:
- Wykorzystuje źródło danych: W przypadku dźwięku, może to być mikrofon lub odtwarzacz próbek lub plik
- Koduje dźwięk za pomocą kodeku audio, takiego jak AAC lub Opus.
- Używa RTP pakietyzator do tworzenia pakietów RTP z zakodowanych ramek akustycznych
- wykorzystuje warstwę transportową, takich jak UDP wysłać te pakiety
protokoły takie jak RTSP dostarcza niezbędnych informacji w stanie zapewnić lepszą informację strumienia. Zwykle samo RTP nie jest wystarczające, ponieważ takie rzeczy jak kontrola przeciążenia, sprzężenie zwrotne, dynamiczna przepływność są obsługiwane za pomocą RTCP.
W każdym razie, w celu zapisania strumienia przychodzącego, należy wykonać następujące czynności:
Użyj depacketizer RTP do uzyskania zakodowanych ramek audio z niego. Możesz napisać własną lub skorzystać z implementacji strony trzeciej. W rzeczywistości ffmpeg jest dużą strukturą, która zawiera wszystkie niezbędne kody dla większości kodeków i protokołów. Jednak w twoim przypadku znajdź prosty depekser RTP. Mogą istnieć nagłówki odpowiadające konkretnemu kodekowi, aby upewnić się, że odwołujesz się do poprawnego dokumentu RFC.
Po uzyskaniu dostępu do zakodowanych ramek, można zapisać to samo w pojemniku mediów, takim jak m4a lub ogg w zależności od kodeku audio używanego w strumieniu.
Aby odtworzyć strumień, należy wykonać następujące czynności:
Użyj depacketizer RTP do uzyskania zakodowanych ramek audio z niego. Możesz napisać własną lub skorzystać z implementacji strony trzeciej. W rzeczywistości ffmpeg jest dużą strukturą, która zawiera wszystkie niezbędne kody dla większości kodeków i protokołów. Jednak w twoim przypadku znajdź prosty depekser RTP.
Gdy masz dostęp do zakodowanych klatek, użyj dekoder audio (dostępny jako biblioteki) do dekodowania ramek lub sprawdzić, czy platforma obsługuje ten kodek bezpośrednio do odtwarzania
Gdy masz dostęp do zakodowanych ramek , w iOS możesz użyć AVFoundation, aby grać tak samo.
Jeśli szukasz w łatwy sposób to zrobić, może być użycie realizacji przez osoby trzecie, takie jak http://audiokit.io/