Wie schreibe ich ein C++/MFC-Programm, um einen Server als Brücke für Clients zu erstellen, um ihre Audiodaten zu streamen? Mir wurde gesagt, dass ich das UDP- und RTP-Protokoll verwenden sollte, aber aufgrund meines Mangels an Medien-Streaming konnte ich es nicht funktionieren lassen. Was ist die Beziehung zwischen UDP und RTP und die Schritte, die der Server benötigt, um die Paketübertragung zwischen Client und Client zu überwachen, zu akzeptieren und zu verarbeiten.Wie kann ich sowohl RTP- als auch UDP-Protokolle anwenden, um Audio-Streaming zu erreichen?
Antwort
Wie gesagt, im Allgemeinen läuft RTP auf UDP. Es nennt sich ein nahtloses Protokoll.
Dies ist die Spezifikation von UDP: http://www.ietf.org/rfc/rfc768.txt
Eine dieser die Spezifikation von RTP ist: http://www.ietf.org/rfc/rfc1889.txt
Sie können auf this Website sehr nützliche Informationen über RTP finden. Es gibt verschiedene Bibliotheken und Dokumente.
Es ist möglich, eine "RTP forwarder" -Anwendung zu schreiben.
RTP läuft im Allgemeinen über UDP, um TCPs Streaming-Verhalten zu umgehen, liefert TCP immer Daten in der richtigen Reihenfolge, was für Echtzeitanwendungen nicht optimal ist.
Es könnte möglich sein, eine "dumme" Weiterleitung zu machen, die nicht RTP-fähig ist, sondern stattdessen z. Akzeptieren von UDP-Paketen an Port X und Weiterleiten des gesamten Datenverkehrs an Host: Y, Paket für Paket. Nicht sicher, ob das in der Praxis funktioniert.
Vielen Dank für Ihr informatives Feedback. –
- 1. Wie kann ich CSS sowohl vertikal als auch horizontal ausrichten?
- 2. Überladen * Operator, um sowohl rechts als auch links zu arbeiten
- 3. InternalResourceViewResolver, um sowohl jsp als auch html zusammen zu lösen
- 4. kann ich sowohl DFD als auch ERD verwenden
- 5. Brauche ich sowohl jdk als auch jre?
- 6. Wie kann ich eine Regex schreiben, um sowohl alphanumerische Zeichen als auch Leerzeichen auszuschließen?
- 7. wie konfigurieren, um eine lib zu erlauben, kann sowohl in src als auch test verwendet werden?
- 8. Numpy Argmax. Wie berechne ich sowohl max als auch argmax?
- 9. Wie installiere ich sowohl java7 als auch java 8?
- 10. Sowohl Dns.GetHostAddress als auch Dns.GetHostEntry geben nur die IPv4-Adresse zurück. Wie bekomme ich sowohl ipv4- als auch ipv6-Adressen?
- 11. DOMPDF Seitenausrichtung sowohl Querformat als auch Hochformat
- 12. Kann ich die Google Maps Javascript API verwenden, um sowohl Punkte als auch Polylinien anzuzeigen?
- 13. Macht es Sinn, sowohl zu verkleinern als auch zu egglifizieren?
- 14. VBA: Ich muss sowohl eine Funktion als auch eine aufrufende Unterstelle schreiben, um folgendes zu tun
- 15. Kann ein App-Dienst sowohl Mobilgeräte als auch Websites unterstützen?
- 16. Zu meinem MAC sind sowohl Ethernet als auch WLAN verbunden. Wie kann ich wissen, woher ich Internet bin
- 17. kann eine Programmiersprache sowohl Client- als auch Serverseite sein?
- 18. Wie konfigurierst du Qt Creator, um sowohl Qt4 als auch Qt5 zu benutzen?
- 19. C# wpf - kann nicht sowohl DisplayMemberPath als auch ItemTemplate setzen
- 20. Wie benutze ich scapy um sip/rtp Paket zu analysieren?
- 21. Kann Hyperlinktext sowohl Wörter als auch dekorative Bilder enthalten?
- 22. Wie kann ich Gebäudebibliotheksprojekte verwalten, die sowohl eine statische Bibliothek als auch eine DLL erzeugen?
- 23. Wie kann ich eine Zeichenfolge in XPath ausgeben, die sowohl Apostrophe als auch Anführungszeichen enthält?
- 24. Wie Sie sowohl String als auch Double in Java
- 25. jQuery: Benötige ich sowohl keyUp als auch Ereignisse?
- 26. Wie kann ich sowohl die Artefaktdatei als auch die Artefaktmetadaten aus Abhängigkeiten abrufen?
- 27. Mit libgdx, wie kann ich einem ScrollPane sowohl Text als auch Bilder hinzufügen?
- 28. Wie subtrahiere ich eine IP-Adresse? (sowohl IPv4 als auch IPv6)
- 29. Wie kann ich mit Flask sowohl HTML- als auch JSON-Inhalte bereitstellen?
- 30. Python FTP Server: Wie kann ich unterstützen sowohl sichere als auch unsichere
Vielen Dank für Ihr informatives Feedback. –