2014-03-05 2 views
5

Chromecast unterstützt das Streaming in MPEG-DASH, Smooth Streaming und HLS sowie die Media Player-Bibliothek: https://developers.google.com/cast/docs/player bietet Javascript-Unterstützung für diese Art von Anwendungsfällen.Wie wird CORS für das Streaming von Chromecast mit der Media Player-Bibliothek aktiviert?

Da Streamingprotokolle im Gegensatz zu den meisten dateibasierten Protokollen mit XMLHTTPRequest auf asynchrone Inhalte zugreifen, werden sie vor unangemessenem Zugriff durch den CORS-Header von dem Server geschützt, von dem die Ressource stammt.

Es war eine immer wiederkehrende Frage, wie CORS zum Streamen auf Chromecast in verschiedenen Umgebungen wie Entwicklung, Produktion, CDN, Cloud-Hosting usw. aktiviert werden kann. Es wäre großartig, wenn die SO-Community Einblicke gewähren könnte und teile deine Erfahrungen zu diesem Thema.

Antwort

2

Diese Information ist um http://enable-cors.org/ für die meisten CDNs, aber es wäre toll, Informationen für alle CDNs zu sehen.

3

Um mit diesem Thema zu beginnen, erinnern wir daran, dass alle Anforderungen, die von der Mediaplayer-Bibliothek erstellt wurden: https://developers.google.com/cast/docs/player entweder GET oder POST-Methode verwenden. Die meisten dieser Anfragen fallen in die Kategorie der einfachen Anfragen (im Gegensatz zu den so genannten Preflight-Anfragen), soweit CORS betroffen ist. Weitere Informationen hierzu finden Sie unter folgendem Link: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS.

Zum Einrichten von CORS für alle Medieninhalte, die Manifeste, sekundäre Manifeste, Segmente und Kryptoschlüssel enthalten, können Sie beispielsweise eine .htaccess-Datei hinzufügen, die eine sehr permissive Zeile enthält :

Header gesetzt Access-Control-Allow-Origin "*"

oder Sie können diese Zeile in Ihre Apache-Server-Konfigurationsdatei innerhalb Block und starten Sie Ihren Apache-Server hinzufügen. Sie können überprüfen, ob die entsprechenden Antworten ein Header-Feld wie folgt erhalten werden:

Access-Control-Allow-Origin: · * (CR) (LF)

Wenn Sie mit CDN arbeiten, Sie haben würden arbeiten Sie mit ihnen und erhalten Sie die notwendigen Header-Felder hinzugefügt.

Sobald Sie CORS richtig konfiguriert haben, werden Sie den gefürchteten Netzwerkfehlercode nicht mehr sehen: cast.player.api.ErrorCode.NETWORK.

Im Folgenden sind Beispiele für Ströme, die CORS-Header-Felder bieten:

MPEG-DASH:
- http://commondatastorage.googleapis.com/gtv-videos-bucket/dash/BigBuckBunny/bunny_10s/BigBuckBunny_10s_isoffmain_url_relative_DIS_23009_1_v_2_1c2_2011_08_30.mpd - http://yt-dash-mse-test.commondatastorage.googleapis.com/media/car-20120827-manifest.mpd

Smooth Streaming: - http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest - http://playready.directtaps.net/smoothstreaming/SSWSS720H264PR/SuperSpeedway_720.ism/Manifest

Aber das HLS B. unterhalb des CORS Access-Control-Allow-Origin-Kopfzeilenfelds in seiner Antwort.

http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8

können Sie verwenden, z Dieses Tool: http://web-sniffer.net/ zu schnüffeln Header.

+0

Wenn Ihre CDN-Anbieter Ihre CORS-Anfrage nicht sofort bearbeiten und Sie sofort mit der Entwicklung beginnen müssen, können Sie einen Proxy für Ihren CDN-Inhalt als Workaround einrichten, um Chromecast Streaming zu ermöglichen.Mach es einfach nicht in der Produktion, denn dein Proxy könnte ein Engpass und das schwächste Glied als einziger Fehlerpunkt werden. –

+0

Kennen Sie einen öffentlichen m3u8-Stream, der CORS-Header unterstützt? Ich habe das Googlen ohne Erfolg versucht. –

Verwandte Themen