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 na mechanice MSE.
Wsparcie przeglądarek 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. +Wsparcie przeglądarek dla Media Source ExtensionsKomputery osobisteUrządzenia MobilneWindows, Linux, Mac OSiOSAndroidInternet ExplorerEdgeChromeFirefoxSafariOperaSafari, Chrome, Firefox...Wszystkie przeglądarki internetowe oparte na systemie iOS korzystają z tej samej wersji silnika WebkitEdgeChromeFirefoxOperaSamsung Internet11.012+23-30API jest dostępne, lecz wymaga prefix'a: webkit25-41API MSE jest dostępne, lecz wymaga ręcznej aktywacji w ustawieniach przeglądarki8+30+iOS 13+Pełne wsparcie możliwie jedynie w systemie iPadOS. API MSE nie jest dostępne na telefonach z rodziny iPhone.12+92+90+64+9.2+31+42+
Odtwarzacze wideo 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 The Video Player stworzony przez Comcast Technology Solutions THEOplayer od OpenTelly: do obsługi protokołów HLS i MPEG-DASH w środowisku HTML5 Viblast Player: odtwarzacze HLS i MPEG-DASH dla HTML5 bazują na MSE i EME bitmovin's bitdash - odtwarzacz MPEG-DASH dla HTML5 bazuje MSE/EME dash-js dla HTML5 MSE rx-player dla HTML5 MSE i EME (Streaming na żywo i VOD) hls.js dla HTML5 MSE 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
Zobacz też HTML5 video WebRTC WebSocket RTMP
Przypisy
Kategoria:Interfejsy programistyczne