Ich versuche, RTP-Pakete (die ein Audio streamen) von der RTP-URL z. rtp: //@225.0.0.0 Nach so viel Nachforschungen habe ich die URL in meinem Gerät gestreamt und mit Ссылка abgespielt. Dies spielt nur die gestreamten Daten, hat aber keine Funktion zum Speichern der Daten.
Aus Forschung und anderen Quellen finde ich viel Inhalt und einfache Informationen, die hilfreich sein sollten, um das Paket über RTP zu streamen und es in iOS-Gerät zu speichern.
Ich habe es mit folgendem Link versucht.
Diese beiden kompilieren nicht einmal aufgrund von POD. Andere Projekte oder Anleitungen geben mir lediglich einen Verweis auf RTSP Stream anstelle von RTP Stream.
Wenn uns jemand eine Anleitung oder eine Idee geben kann, wie wir solche Dinge umsetzen können, dann wird es geschätzt.
Zuerst müssen Sie verstehen, wie das funktioniert.
Der Sender, d. h. der Ersteller des RTP-Streams, macht wahrscheinlich folgendes:
Protokolle wie RTSP stellen die notwendige Signalisierungsinformation bereit, um bessere Strominformationen bereitzustellen. Normalerweise ist RTP selbst nicht genug, da Dinge wie Staukontrolle, Feedback, dynamische Bitrate mit Hilfe von RTCP gehandhabt werden.
Um den eingehenden Stream zu speichern, müssen Sie Folgendes tun:
Verwenden Sie einen RTP-Entpacker, um die codierten Audio-Frames daraus zu entfernen. Sie können Ihre eigenen schreiben oder eine Implementierung eines Drittanbieters verwenden. In der Tat ist ffmpeg ein großes Framework, das den gesamten Code für die meisten Codecs und Protokolle enthält. Finden Sie jedoch für Ihren Fall einen einfachen RTP-Entpaketierer. Es könnte Header geben, die einem bestimmten Codec entsprechen, um sicherzustellen, dass Sie auf einen korrekten RFC verweisen.
Sobald Sie Zugriff auf codierte Frames haben, können Sie dieselben in einen Mediencontainer wie m4a oder ogg schreiben, abhängig vom Audio-Codec, der im Stream verwendet wird.
Um den Stream abzuspielen, müssen Sie Folgendes tun:
Verwenden Sie einen RTP-Entpacker, um die codierten Audio-Frames daraus zu entfernen. Sie können Ihre eigenen schreiben oder eine Implementierung eines Drittanbieters verwenden. In der Tat ist ffmpeg ein großes Framework, das den gesamten Code für die meisten Codecs und Protokolle enthält. Finden Sie jedoch für Ihren Fall einen einfachen RTP-Entpaketierer.
Sobald Sie auf codierte Frames zugreifen können, verwenden Sie einen Audio-Decoder (als Bibliothek verfügbar), um die Frames zu decodieren oder zu überprüfen, ob Ihre Plattform diesen Codec direkt für die Wiedergabe unterstützt
Sobald Sie Zugriff auf entschlüsselte Bilder haben, können Sie in iOS AVFoundation verwenden, um dasselbe zu spielen.
Wenn Sie nach einer einfachen Methode suchen, verwenden Sie möglicherweise eine Implementierung von Drittanbietern wie Ссылка
Tags und Links objective-c ios swift audio-streaming rtp