Frage

Ich versuche, vom Konzept her die beste Art und Weise zu liefern echten Streaming-Audio- und Video-Inhalte zu verstehen. Ich möchte es mit einem Web-Browser verbraucht werden, die geringste Menge an proprietäre Technologie. Ich würde nicht statische Dateien werden zu dienen und die progressiven Download verwenden, würde dies echter Audio-Streams sein Live gefangen zu werden. Wie kann man einen Stream übertragen, die vernünftigerweise synchron mit der Quelle sein wird? Welche Art von Protokoll ist geeignet?

Edit:

In der Forschung habe ich festgestellt, dass es ein paar Protokolle: RTSP, HTTP-Streaming, RTMP und RTP.

HTTP-Streaming ist wenig geeignet, wenn Sie eine Live-Performance / Kommunikation irgendeine Art Streaming werden, weil es auf TCP basiert (wie die HTTP-basiert) und Sie keine Pakete verlieren. In einer geringen Bandbreite Situation kann der Client in der Wiedergabe deutlich hinter bekommen. ref

RTMP ist eine proprietäre Technologie, Flash-Media-Server erforderlich ist. Mist, dass auf. Der Grund, warum ich bei Blitz sah, weil sie extrem flexibel sind so weit wie User Experience geht. SoundManager2 bietet eine hervorragende Javascript-Schnittstelle für Medien mit Flash-Spielen. Dies ist, was ich in einer Client-Anwendung aussehen würde.

RTSP / RTP ist, was Microsoft zu verwenden geschaltet, ihr MMS-Protokoll ironischen. RTSP ist das Steuerprotokoll. Sein ähnliches mit wenigen deutlichen Unterschied HTTP - Server kann auch an den Client, und es gibt zusätzliche Befehle, wie PAUSE sprechen. Es ist auch ein Stateful-Protokoll, das mit einer Session-ID beibehalten wird. RTP ist das Protokoll zum Liefern der Nutzlast (codiertes Audio oder Video). Es gibt ein paar Open Source-Projekte, von denen einer von Apple unterstützt wird, hier . Es so scheint, könnte das tun, was ich will, und es sieht aus wie ziemlich viele Spieler es unterstützen . Es klingt wie es für eine „live“ übertragen auf dieser Seite passen würde hier .

Danke, Josh

War es hilfreich?

Lösung

Lassen Sie mich zunächst schnell zwei falsche Punkte abschlagen. Details folgen unten:

  • RTMP können über andere Server als Flash Media Server
  • erfolgen
  • TCP ist für Live-Ordnung. Es gibt zu viel F.U.D. von den UDP-liebend Leuten da draußen. Apple hat soeben einen Spezifikationsentwurf zu tun, einfach, Live-Streaming veröffentlicht über HTTP (und damit TCP) für das iPhone. Ich erwarte, dass es wird auch in Browsern enden. Außerdem hat TCP den Bonus zu bekommen durch Unternehmens-Firewalls viel häufiger und einfach.

Meine Lese ist, dass komplexe und UDP-basierte Streaming-Verjüngung ausgeschaltet ist. Ich bin nicht der Tod prognostiziert, um nur immer weniger Anteil am Markt. UDP-basierter Streaming-Server verbraucht enorme Ressourcen, bezogen auf TCP-basierten Lösungen (wie 10x oder mehr), und die Vorteile sind einfach nicht greifbar.

Sie sagen, dass Sie nicht proprietäre Technologie wollen, und „Mist auf [Blitz]“, , aber Sie wollen immer noch Echt Streaming zu tun? Hass, es Ihnen zu brechen, aber beide RealAudio- und RealVideo- beide proprietär sind.

Wenn Open Source geht wirklich so wichtig für Sie, was ich verstehen kann, dann werden Sie die überwiegende Mehrheit der Streaming-Media-Markt ignorieren müssen. Werfen Sie einen Blick auf

  • Theora : ein unentgeltliches, offener Standard, verlustbehaftete Video Kompressions-Technologie
  • Vorbis : eine freie Software / Open-Source-Projekt, das ein Audio produziert Formatspezifikation und Software-Implementierung für verlustbehaftete Audiokompression.
  • Ogg : ein freier, offener Standard-Container-Format

Wenn Pragmatismus das Beste von dir bekommt, dann wird Ihre Abneigung Produkte zu Adobe überdenken. Denken Sie daran, Flash-weiter verbreitet als jeder andere Browser-basierten Player (nämlich Windows Media Player, Quick Time und Real Players.)

Sie können nach wie vor RTMP verwenden, um mit Open Source: Red5 ist wahrscheinlich von größtem Interesse - es Live to Flash streamen -fähigen Browser.

Ich würde empfehlen, um Ihre Prioritäten zu denken. Buchstabieren sie heraus für uns in Frage.

Andere Tipps

würde ich Stu Antwort hinzufügen, dass UDP-basierte Streaming-Protokolle oft zusätzliche Komplexität, wenn hinter Firewalls oder NATs zu arbeiten. Zum Beispiel, wenn Sie WLAN-Zugangspunkte außerhalb des Hauses nutzen wollen, viele von ihnen unterstützen RTP nicht UDP Lieferung verwenden. Viele Kunden einen Failback Mechanismus haben, wo, wenn keine Pakete vor einem Timeout empfangen werden, versucht der Client-TCP-Lieferung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top