Media Source Extensions

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Media Source Extensions
Platforma sprzętowa wieloplatformowy
Rodzaj Interfejs programowania aplikacji
Strona internetowa

Media Source Extensions (MSE) jest zestawem interfejsów programowania (API) przeglądarek internetowych, które pozwalają dynamicznie tworzyć multimedia na podstawie danych bajtowych. Bazowym zastosowaniem tej funkcjonalności jest np. obsługa streamingu na żywo, gdzie poszczególne fragmenty relacji są na bieżąco dostarczane do przeglądarki. Media Source Extensions mają także zastosowanie w przypadku usług typu VOD, jako że pozwalają na precyzyjną kontrolę bufora video, a także tego, którą część filmu otrzymuje użytkownik. Interface jest kompatybilny z Encrypted Media Extensions (EME), lecz nie powinien być z nim mylony, jako że są one od siebie całkowicie niezależne.

Media Source Extensions jest częścią standardu HTML5, a jego specyfikacja została opracowana przez W3C.

Wraz z porzuceniem przez wsparcia dla wtyczki Adobe Flash Player zdecydowana większość serwisów streamingowych, takich jak: YouTube, Netflix, Twitch zaczęła wykorzystywać odtwarzacze wideo oparte właśnie o mechanikę MSE.

Wsparcie przeglądarek[edytuj | edytuj kod]

Współcześnie Media Source Extensions jest wspierane na większości przeglądarek. Wyjątek stanowią tylko urządzenia z rodziny iPhone, gdzie API nie jest dostępne. [1]

Wsparcie przeglądarek dla Media Source Extensions
Komputery osobiste Urządzenia Mobilne
Windows, Linux, Mac OS iOS Android
Internet Explorer Edge Chrome Firefox Safari Opera Safari, Chrome, Firefox...[2] Edge Chrome Firefox Opera Samsung Internet
11.0[3][4] 12+ 23-30[5] 25-41[6] 8+[4] 30+[7] iOS 13+[8] 12+ 92+ 90+ 64+ 9.2+
31+[9] 42+[10]

Odtwarzacze wideo[edytuj | edytuj kod]

  • NexPlayer dla HTML5 obsługuje zarówno MSE, jak i EME dla HLS i DASH
  • castLabs PRESTOplay wideo odtwarzacz dla HMTL5 używa MSE/EME do obsługi DASH/HLS
  • Akamai Media Player jako współtwórca grupy Dash Industry Forum i projektu DASH.js
  • Shaka Player, który jest otwarto-źródłową biblioteką odtwarzacza wideo w JavaScript wykorzystuje MSE/EME do obsługi protokołów DASH/HLS[11][12]
  • The Video Player stworzony przez Comcast Technology Solutions
  • THEOplayer od OpenTelly: do obsługi protokołów HLS i MPEG-DASH w środowisku HTML5[13]
  • Viblast Player: odtwarzacze HLS i MPEG-DASH dla HTML5 bazują na MSE i EME[14]
  • bitmovin's bitdash - odtwarzacz MPEG-DASH dla HTML5 bazuje MSE/EME[15]
  • dash-js dla HTML5 MSE[16][17]
  • rx-player dla HTML5 MSE i EME (Streaming na żywo i VOD)[18]
  • hls.js dla HTML5 MSE[19]
  • hasplayer.js dla HTML5 MSE/EME, wsparcie dla DASH, Smooth Streaming i HLS
  • JW Player 7 i późniejsze wersje do obsługi MPEG-DASH przy użyciu HTML5 MSE i EME
  • SLDP HTML5 Player wspiera SLDP poprzez API MSE
  • Azure Media Player wspiera MSE, EME, DASH, HLS, Flash, i Silverlight.
  • Unreal HTML5 player wykorzystuje MSE do streamingu o niskich opóźnieniach poprzez WebSocket'y z wykorzystaniem Unreal Media Server
  • Storm Player jako jeden z trybów wykorzystuje MSE do streamingu o ultra-niskich opóźnieniach z wykorzystaniem Storm Streaming Server[20]

Zobacz także[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. "mediasource" | Can I use... Support tables for HTML5, CSS3, etc, caniuse.com [dostęp 2021-07-29] (ang.).
  2. Wszystkie przeglądarki internetowe oparte o system iOS korzystają z tej samej wersji silnika Webkit
  3. Media Source Extensions (MSE) (Windows), docs.microsoft.com [dostęp 2021-07-29] (ang.).
  4. a b bitdash MPEG-DASH HTML5 Player – The Status of MPEG-DASH today, and why YouTube & Netflix use it in HTML5 & beyond, web.archive.org, 21 lutego 2015 [dostęp 2021-07-29] [zarchiwizowane z adresu 2015-02-21].
  5. API jest dostępne, lecz wymaga prefix'a: webkit
  6. API MSE jest dostępne, lecz wymaga ręcznej aktywacji w ustawieniach przeglądarki
  7. Dev.Opera — Opera 30 released, dev.opera.com [dostęp 2021-07-29].
  8. Pełne wsparcie możliwie jedynie w systemie iPadOS. API MSE nie jest dostępne na telefonach z rodziny iPhone.
  9. Media Source Extensions - Chrome Platform Status, www.chromestatus.com [dostęp 2021-07-29] (ang.).
  10. Firefox 42.0, See All New Features, Updates and Fixes, Mozilla [dostęp 2021-07-29] (ang.).
  11. GitHub - google/shaka-player: JavaScript player library / DASH & HLS client / MSE-EME player, GitHub [dostęp 2021-07-29] (ang.).
  12. Shaka Player Demo, shaka-player-demo.appspot.com [dostęp 2021-07-29].
  13. THEO Technologies NV, #1 Video Player Worldwide - THEOplayer, www.theoplayer.com [dostęp 2021-07-29] (ang.).
  14. Viblast Player, viblast.com [dostęp 2021-07-29].
  15. HTML5 Player for Adaptive Streaming from Bitmovin, Bitmovin [dostęp 2021-07-29].
  16. DASH-JS | ITEC – Dynamic Adaptive Streaming over HTTP [dostęp 2021-07-29] (ang.).
  17. GitHub - Dash-Industry-Forum/dash.js: A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers., GitHub [dostęp 2021-07-29] (ang.).
  18. GitHub - canalplus/rx-player: DASH/Smooth HTML5 Video Player, GitHub [dostęp 2021-07-29] (ang.).
  19. hls.js demo, web.archive.org, 20 listopada 2015 [dostęp 2021-07-29] [zarchiwizowane z adresu 2015-11-20].
  20. Storm Streaming Server, Storm Streaming [dostęp 2021-07-29] (ang.).