DASH-Videos bestehen wie jedes andere Video aus zwei Teilen: Ein Serve dient den Videos und ein Spieler konsumiert sie und präsentiert sie dem Benutzer. Ich werde erklären, was auf beiden Seiten benötigt wird.
Serving DASH Videos
Stücke von DASH-Videos können über HTTP oder HTTPS von jedem modernen Web-Server geliefert werden - Apache, ngnix, IIS und andere. Auf der Serverseite wird kein Plugin oder zusätzliche Software benötigt, um DASH-Videos zu liefern - es sind nur Dateien und jeder Webserver weiß, wie Dateien zu bedienen sind. Möglicherweise müssen Sie jedoch eine Konfiguration vornehmen.
Die meisten Webserver haben eine Liste der MIME-Typen der Dateien, die sie bedienen dürfen. Normalerweise müssen Sie dieser Liste DASH-Videos hinzufügen, da die Standardeinstellungen aus Sicherheitsgründen restriktiv sind und DASH nicht zulassen Videos werden gestreamt. Hier
ist ein Beispiel web.config für IIS, die DASH-Videos ermöglicht bedient werden:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".m4s" />
<mimeMap fileExtension=".m4s" mimeType="video/mp4" />
<remove fileExtension=".mpd" />
<mimeMap fileExtension=".mpd" mimeType="application/dash+xml" />
<remove fileExtension=".m4f" />
<mimeMap fileExtension=".m4f" mimeType="video/mp4" />
<remove fileExtension=".m4a" />
<mimeMap fileExtension=".m4a" mimeType="video/mp4" />
</staticContent>
</system.webServer>
</configuration>
Die verschiedenen video/mp4
Elemente gibt es da verschiedene DASH-Geber ihre Dateien anders nennen.
Einige DASH-Player, insbesondere webbasierte, erfordern möglicherweise auch die Unterstützung des Servers cross-origin resource sharing (CORS). Dies ist ein Sicherheitsmechanismus, der dazu beiträgt, dass bösartige Websites nicht funktionieren, indem Sie auswählen, auf welchen Websites Ihr Inhalt angezeigt werden kann. Die genauen CORS-Header, die Ihr Server bereitstellen muss, hängen auch vom Player ab - in einigen Situationen werden zusätzliche Header verwendet und müssen explizit aktiviert werden. Ich werde die Einzelheiten von CORS aus dem Rahmen dieser Antwort herauslassen. Hier ist ein einfaches Beispiel IIS-Konfiguration, die jede Website, die servierten Videos zu konsumieren erlaubt:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Spiele DASH Videos
Sie einen Spieler benötigen, offensichtlich. Es gibt verschiedene Arten von Spielern: eigenständige Desktop-Apps (z. B. VLC), Player-SDKs für Android/iOS-Apps (z. B. ExoPlayer und Microsoft PlayReady Client SDK) und Player für Websites (z. B. dash.js und Bitdash). Unter Windows 10 enthält der Internet Explorer sogar einen integrierten Player für DASH-Videos.
Hier kommt dash.js rein - es ist ein Spieler. Sie legen es in Ihre Website, wenn Sie möchten, dass Ihre Website Videos abspielen kann. Es sind auch verschiedene Spieler verfügbar.
Je nachdem, wie Sie dem Endnutzer Inhalte anbieten möchten, wählen Sie einen Player aus und binden ihn, falls kein eigenständiger Player ist, in Ihre App oder Website ein. Sie stellen dem Spieler die URL zur Verfügung und es wird seine Sache machen. Einfach.
Website-basierte Player erfordern, dass der Server CORS unterstützt, aber Standalone- oder App-gehostete Player benötigen sie nicht.
sehr detailliert und gute Antwort! Nur ein kurzer Kommentar: Für adaptive Streaming-Inhalte unterstützen HTML5-Browser das Dekodieren und Rendern über die HTML5-Medienquellenerweiterungen. Das Parsen der Manifest-Datei (MPD) und das Herunterladen der Mediensegmente (z. B. DASH-Segmente) muss jedoch über JavaScript erfolgen. Diese Segmente werden über die Schnittstellen des MSE an den Browser übergeben. Das ist die Hauptaufgabe von Spielern wie dash.js oder bitdash. –