Software / Hardware zum Aufbau eines Video-Streaming-Servers? [geschlossen]

7

Ich suche nach einer Video-Streaming-Server-Lösung, die so etwas wie ein Online-TV-Server ist und Live-Übertragungen im Internet ermöglicht.

Welche Software könnten Sie dafür empfehlen?

Auf welcher Hardware sollte es laufen, sollte es etwas Besonderes geben?

Ich suche nach einer Lösung, die mit einer guten Videoauflösung auf mindestens 1000 gleichzeitige Benutzer online skaliert werden kann.

Ich denke, es ist gut, eine allgemeine Antwort auf die zu wählende Richtung zu haben. Aber hier mehr Details zu meinem speziellen Fall:

  • Ich suche nur nach einer Lösung fast von Grund auf neu. Wir haben einige Videoinhalte, die wir produziert haben, aber sie werden noch nicht über das Internet geliefert.
  • Wir sind vorerst nicht an einen bestimmten Anbieter gebunden.
  • Wir wollen jeden Tag 24 Stunden lang drei 8-Stunden-Blöcke dämpfen, wobei sich der Inhalt ändert.
  • Wir möchten die Möglichkeit haben, regelmäßig Live-Übertragungen zu machen.
  • Ich denke, wir müssen verschiedene Optionen für die Streaming-Qualität haben (niedrig ~ 56 kb / s, Mitte ~ 273 kb / s).
  • Einige Begriffe, die mir nur fremd sind (wie die Kürzungsrate), wenn Sie darauf hinweisen könnten, welche Parameter wir verwenden sollten, wäre das großartig.
  • Uplink zum Internet ist zu bestimmen. Wir planen, von etwas auszugehen und auf dem Weg zu skalieren.

Wenn Sie bereits einen Media-Streaming-Server haben, beschreiben Sie hier einfach dessen Konfiguration (Hardware, Betriebssystem, Software) und die maximale Anzahl gleichzeitiger Benutzer, die er bedient. Ich denke, es könnte Menschen helfen, sich dieser Aufgabe zu nähern.

Alexander Yanovets
quelle
Da ihr dies außerhalb des Unternehmens ausarbeitet, wäre es schwierig, wenn ihr die Antwort mit dem, was ihr euch ausgedacht habt, aktualisieren oder für ein Löschen markieren könnt. Vielen Dank. :)
Kara Marfia
Klar :) Und ich würde mich über weitere Antworten freuen, wenn jemand anderes etwas zu diesem Thema sagen müsste.
Alexander Yanovets
Guter Punkt Kara, sorry, aber das ist nur ein großes Thema, ich werde versuchen zusammenzufassen, wenn ich kann.
Chopper3
@ Chopper3, können wir noch eine Zusammenfassung erwarten?
John Gardeniers

Antworten:

3

Klingt so, als hätte chopper3 diesen Bereich für meine $ 0,02 ziemlich gut abgedeckt:

Wir streamen On-Demand-Vorträge, die jeweils etwa 12 Stunden dauern (aufgeteilt in einstündige Blöcke). Wir verwenden Flash Media Server (jedoch mit einer Nur-Streaming-Lizenz) von Adobe und eine benutzerdefinierte App, um sie in der Präsentation im Browser des Benutzers anzuzeigen (und Folien / Video / Audio miteinander zu verknüpfen).

Wir betreiben den Server auf einem Dual Quad Core Xeon mit 2,4 GHz und 4 GB RAM und haben nie Skalierungsprobleme festgestellt, außer dass gelegentlich nicht genügend RAM zur Verfügung steht (FMS ist sehr RAM-hungrig). Wir betreiben eine Verbindung mit 2 MB Uplink, aber unsere Medien sind von sehr geringer Qualität (320 x 240, hohe Komprimierung, Mono-Audio). Wir haben uns nie beschwert. Wir verwenden auch das RMTPE-Protokoll, das verschlüsselt ist und einen zusätzlichen CPU-Overhead hat.

Wir können unsere Verbindung mit einem Anruf bei unserem ISP hochskalieren und dies geschieht innerhalb weniger Minuten. Wenn es also jemals zu einer großen Nachfrage kommt, können wir es für ein paar Stunden beschleunigen und es dann wieder zurücksetzen, um Geld zu sparen.

FMS kann von Live-Capture-Karten streamen. Es wird mit einer Beispielanwendung geliefert, die von Ihrer Webcam gestreamt wird. Es ist jedoch nicht schwierig, sie von einer alternativen Live-Quelle (Capture-Karte usw.) zu streamen.

Hoffe das wirft etwas Licht!

Mark Henderson
quelle
Auf welchem ​​Betriebssystem ist Ihr Flash Media Server installiert?
Alexander Yanovets
Windows 2003 R2, aber nach den Geräuschen möchten Sie etwas, das fokussierter ist als Redhat.
Mark Henderson
2

Für Video-Streaming bietet Microsoft eine hervorragende Lösung mit Silverlight für die Clientseite (oder einfach H.264) und IIS Smooth Streaming für die Serverseite, die eine automatische und transparente Qualitätsanpassung (und mehr) ermöglicht. Es ist Standard-HTTP und kann daher mit jedem HTTP-Proxy zwischengespeichert werden

Hier ist ein Schaufenster: http://www.microsoft.com/silverlight/iis-smooth-streaming/demo/

IIS Media Pack: http://www.iis.net/media

Es ist wirklich, wie ich weiß, eine der besten Lösungen für Video-Streaming ...

Kedare
quelle
1

Ah, endlich eine Frage, die ich beantworten soll :)

Ok, 1000 Benutzer, welcher Codec / Player / Bitrate? wie viel Inhalt? Was ist die durchschnittliche Länge des Inhalts? vermutlich keine QoS / Multicast-Optionen? Was dient Ihrem Frontend? Was ist Ihre erwartete Wiedergaberate? Was ist Ihr Uplink zum Internet (seien Sie so detailliert wie möglich)?

Sind Sie an einen bestimmten Anbieter gebunden?

Beantworten Sie einige dieser Fragen und ich helfe Ihnen gerne weiter.

Chopper3
quelle
1
Schreiben Sie mir bei 'phil at buckley-mellor dot com', dies ist eine große Diskussion, aber ich bin mehr als glücklich zu helfen.
Chopper3
1

Sie müssen Wirecast aus dem Telestream ausprobieren, es ist ein Muss


quelle
1

Dies ist beispielsweise das Setup, das wir zum Streamen (und Aufzeichnen) von Vorlesungen verwenden. Wir haben keine 1000 Benutzer, aber unsere Lösung sollte auf diese Anzahl skalierbar sein.

Videoaufnahme (~ $ 6000):

  • Rollender Rackmount-Wagen mit PC und Touchscreen
  • Consumer-Camcorder (HDMI-Ausgang)
  • HDMI-Aufnahmekarte (Blackmagic Intensity Pro)
  • 4 drahtlose Publikumsmikrofone
  • 1 kabelloses Ansteckmikrofon
  • Audiomischer und Kompressor
  • Wirecast-Software

Streaming Server:

  • CRTMP Server unter Ubuntu 12.04
  • Apache2

CRTMP Server bietet im Vergleich zu einigen Java-basierten Servern für Benutzer eine hervorragende Leistung (insbesondere auf Systemen mit eingeschränkten Ressourcen). Es gibt auch ein kostenpflichtiges kommerzielles Angebot für dasselbe Produkt mit Support.

Ich werde Ihre Stichpunkte nummerieren und sie ansprechen:

  1. Lösung von Grund auf mit vorhandenem Video: Was ich oben skizziert habe, ist so ziemlich die gesamte Lösung (lassen Sie mich wissen, wenn ich etwas ausgelassen habe). Wirecast kann sowohl Live-Videos als auch Videodateien verarbeiten (und nahtlos kombinieren und zwischen beiden wechseln. Ich stimme @don zu - Wirecast ist ein ausgezeichnetes Produkt. Wirecast verfügt zwar über einen integrierten Streaming-Server, aber mit 1000 Benutzern möchten Sie ein externer wie CRTMP-Server.

  2. Nicht an einen bestimmten Anbieter gebunden: Die Kombination von Linux, CRTMP Server und Wirecast ist ein herstellerübergreifender Ansatz. Sie können jedes dieser Teile durch Angebote anderer Anbieter ersetzen.

  3. 24 Stunden Streaming: Ich habe Wirecast nicht auf Speicherlecks getestet, aber es kann per Skript zwischen einer beliebigen Anzahl von Live- und aufgezeichneten Eingaben umgeschaltet werden. CRTMP Server kann seine Eingaben auch von Wirecast (oder anderen Streams) oder statischen Dateien übernehmen.

  4. Regelmäßige Live-Übertragungen: Wirecast bietet sehr professionell aussehende Live-Übertragungen (mit 3D-Effekten, die denen in Apple-Keynote-Präsentationen ähneln).

  5. Mehrere Stream-Qualitäten: Wirecast kann mehrere Streams gleichzeitig bereitstellen (mit unterschiedlichen Qualitäten). Um die Belastung Ihrer Capture-Workstation zu verringern, möchten Sie wahrscheinlich, dass CRTMP Server einen einzelnen Stream von Wirecast in mehrere Streams umcodiert.

  6. Begriffe sind fremd und verwirrend: Ja. Das Streamen von Videos hat eine steile Lernkurve und erfordert Kenntnisse in einigen Disziplinen. Entschuldigung, ich kann diesen Punkt nicht wirklich ansprechen. :) :)

  7. Uplink zum Internet: Der CRTMP-Server kann Verbindungen aus dem Internet herstellen. Stellen Sie einfach sicher, dass Sie Ihren Server sicher eingerichtet haben - das liegt außerhalb meiner Fähigkeiten.

Watkipet
quelle
1

Sie können Live-Streaming mit Amazon EC2 mit dem Wowza Media Server durchführen: http://www.wowzamedia.com/ec2.html

Es ist keine so bequeme Lösung, wie sie CDN bietet (eine URL zum Übertragen von Streams und eine andere zum Abrufen von Streams) und erfordert ein besseres Verständnis der Technologie, ist jedoch für das Streaming von regelmäßigen Live-Ereignissen kostengünstig.

Eine weitere Option ist http://erlyvideo.org/. Der Server ist zuverlässig und die echte Alternative zu Adobe- und Wowza-Servern. Erlyvideo hat sowohl eine kostenlose Open Source-Version (das ist gut genug) als auch eine erweiterte kommerzielle Version.

Eine weitere Open Source Software Server Option ist das nginx rtmp Modul. https://github.com/arut/nginx-rtmp-module Server benötigt viel weniger Hardwareressourcen für das Streaming und unterstützt das sofort einsatzbereite iOS-Streaming.

Alexander Yanovets
quelle