Az Android terjedése
A HTTP-n (Hypertext Transfer Protocol) keresztül közvetített adaptív streaming formátumok, mint az Apple HLS (HTTP Live Streaming), az MSS (Microsoft Smooth Streaming), az Adobe HDS (HTTP Dynamic Streaming), az MPEG-DASH (Dynamic Adaptive Streaming over HTTP), mára igen népszerűvé váltak. A Google Android operációs rendszerrel kapcsolatosan azonban az adaptív streaming formátumok használata sok problémát vet föl, jóllehet ezek megoldására az utóbbi években számos próbálkozás történt.
Az okostelefonokon futó operációs rendszerek közül jelenleg a legelterjedtebb a Google által kifejlesztett, nyílt forrráskódú Andriod. 2012-ben az Android piaci részesedése az okos telefonok piacán világviszonylatban elérte a 75 %-ot. Az Andriod alapú eszközök száma meghaladja az 500 milliót.
Az Android-verziók közül a legtöbb készüléken (44 %) még a 2.3-as (’Gingerbread’) fut, amelyet 2010 decemberében vezettek be. A 2.2 és az alatti verziók elterjedtsége 10 %. A 3.1-3.2 ’Honeycomb’ részesedése 1 % körüli. A 4.0 és afölötti verziók térnyerése igen gyors, már a 45 % közelében van.
Az Android nyílt jellege, adaptálhatósága elősegítette, hogy a mobil eszközökön túl más eszközökön, laptokokon, notebookokon, netbookokon, okos-tv-ken, digitális televíziós vevődekódereken (set-top-boxokon), digitális fényképezőgépeken, játékkonzolokon és sok más elektronikus eszközön is bevezethető legyen.
Az Android támogatja a weben leggyakrabban alkalmazott A/V (audio/video) formátumokat: H.263, H.264, AAC, HE-AAC (3GP vagy MP4 konténerekben), MPEG-4 SP, AMR, AMR-WB (3GP konténerben), MP3, MIDI, Ogg Vorbis, FLAC, WAV. A streaming formátumok közül a támogatás kiterjed az RTP/RTSP-re és a HTML5 alapú progresszív letöltésre.
Az Androidon az élő videók lejátszása az RTSP-re, a Flash-re és (a Honeycomb-tól kezdve) a HLS-re támaszkodó natív és letölthető alkalmazások segítségével lehetséges.
Az Android-verziók többsége közvetlenül nem támogatja a HTTP-n keresztüli adaptív streaming protokollokat. Csak az Android 3.0-nál vezették be az Apple HLS natív támogatását.
Az MSS és a HDS lejátszása Androidon
Az utóbbi időben több projekt is indult olyan alkalmazások kifejlesztésére, amelyek Android platformon képesek az MSS és az Adobe HDS lejátszására. (Ezek eredményei azonban még nem terjedtek el széles körben.)
A Microsoft 2011-től kezdve Smooth Streaming kliens könyvtárat biztosít iOS és Android alapú terminálokhoz is. A Microsoft tervezte, hogy egy Silverlight böngészőmodul (’plugin’) révén megoldja Smooth Streaming (MSS) támogatását Android-platformon. Azonban ez a gyakorlatban még nem került bevezetésre. A Microsoft Smooth Streaming Client SDK-t biztosít a Silverlight-hoz és a Windows Phone 7-hez. Emellett egy ’Smooth Streaming Porting Kit’ is rendelkezésre áll más operációs rendszerekhez, beleértve az Apple iOS-t, az Androidot és a Linuxot is.
Jóllehet a H.264 szabványú kodeket az Android teljes mértékben támogatja, az MPEG-TS-t (a H.264-hez használható konténerformátumot) csak az Android 3.0-ás afölötti verziói tudják kezelni.
A Flash és az Android
A Flash még ma is az egyik leggyakrabban használt megoldás a web-oldalakon keresztül közvetített A/V streaming alkalmazásokhoz. Androidon az Adobe Flash és a HDS támogatása Flash lejátszó modul (plugin) telepítésével oldható meg.
A Google Play statisztikái szerint a Flash plugint több mint 100 millió androidos eszközre telepítették, és bizonyos lejátszási problémák (időnként akadozó videó, nagy áramfelvételi igény) ellenére a felhasználók nagy többsége elégedett volt vele. Később a video minőség javítása érdekében sok szolgáltató az RTSP (Real Time Streaming Protocol) alapú videotovábbításra tért át, amelyet az Android a 2.3.4 verzió előtt natívan támogatott. Azonban az iOS és a Windows Phone sohasem támogatták a Flash-t. Más operációs rendszerek esetében is tapasztalható tendencia a Flash támogatásának eltűnése.
Az Adobe 2012-ben beszüntette a Flash androidos támogatását (a Flash plugint az Apple Play Store-on keresztül már nem lehet elérni). Az Adobe nem vállal felelősséget azért, ha a Flash alkalmazás nem működik, vagy kárt tesz a készülékben. De a Flash telepítő fájl (APK) elérhető marad (legegyszerűbb közvetlenül az Adobe weboldaláról letölteni).
Az Android 3.0 megjelenésével úgy látszott, hogy a HLS támogatása véglegesen megoldja az adaptív streaming bevezetését az androidos eszközökre. Azonban számos kompatibilitási probléma (pl. pufferelési jelenségek) adódott, ami miatt sok tartalomszolgáltató visszatért a Flash-hez – noha ez az új Android-verziókban már nincs támogatva.
A HLS és az Android
Az Apple HLS támogatása érdekében az Andriod 3.0 alatti verzióihoz a RealPlayer-t kell telepíteni. Az Android 3.0-tól kezdve maga az operációs rendszer képes a HLS lejátszására. Az előrejelzések szerint 2013-ban az Android 4.0 és 4.1 elterjedtsége 50 % fölé nő, amivel sok millió felhasználó kap lehetőséget a HLS formátumú streamek fogadására.
Az WebM és az Android
A Google maga is kifejlesztett egy http fölött működő adaptív streaming formátumot, ez a WebM, amelyet az Interneten való szabad felhasználásra szánt. Ehhez a Google a saját VP8-as videoformátumát ajánlotta. Audiokódolásra a Vorbis formátumot választották. Az ajánlott konténer a ’Matroska’ egyik profilja. A WebM műszaki hátrányok, pl. a multiplexálás és a pufferelés nehézkessége miatt nehezen terjed. A WebM formátumú streamek elsősorban a (Google leányvállalata által üzemeltetett) YouTube-ról érhetők el.
Az Android a 2011-ben megjelent 2.3.3-as verziójától kezdve támogatja a WebM formátumot. A WebM-et a népszerű web-böngészők újabb verziói általában támogatják (más böngészőkhöz plugint biztosítanak). A WebM terjedésének nem tett jót, hogy a Google 2011-ben kilátásba helyezte, hogy egy idő után a saját fejlesztésű Chrome böngészőjében beszünteti a H.264 támogatását (és helyette a teljesen nyílt forrású kodekekre tér át).
Az MPEG-DASH és az Android
Az MPEG (Motion Picture Experts Group) – a jogvédett megoldásokhoz képest jelentős késéssel – szabványos alternatívát dolgozott ki az adaptív streamingre, ez az MPEG-DASH. Ennek működési elve nagyon hasonlít a korábbi jogvédett megoldásokra (HLS, MSS). (Az alkalmazott konténer lehet MPEG-4, MPEG-2 TS vagy 3GP konténer.)
A HLS, a HDS és az MSS jól bevált technikák az adaptív streamingre, azonban az MPEG-DASH előnye velük szemben, hogy egyetlen HTTP alapú adaptív streaming formátum alkalmazása lehetővé tenné a tartalom lejátszását minden platformon. Vagyis az MPEG-DASH rendezné a hozzáférési eszköz és a médialejátszó közötti együttműködés problémáját.
Az MPEG-DASH nemcsak igen sokféle médiafájl-típus továbbítására képes, hanem a DASH szabvány a kódolási, titkosítási és szállítási technikák nagyon széles skáláját támogatja.
Ma már külső alkalmazásokkal megoldható, hogy a PlayReady DRM-mel védett HLS, MSS és MPEG-DASH formátumú streamek Android-platformon is lejátszhatók legyenek.
Az Android és a HTML5
A HTML (HyperText ) szabványcsalád legújabb tagja, a HTML5 lehetővé teszi videotartalom beiktatását egy weboldalba. A video lejátszása érdekében Web-böngészőkhöz video-lejátszási funkciót kell kifejleszteni.
A weboldalakon belüli videolejátszás a böngészőkbe épített modulok (pluginok ) segítségével már eddig is lehetséges volt (így volt ez pl. a Flash Player, a Quicktime és a Silverlight esetében). A HTML5 révén a jövőben a videókat a weboldalakba szabványos módon lehet beilleszteni, a videot minden böngésző és minden felhasználói eszköz esetében azonos módon lehet lejátszani (a pluginokra nem lesz szükség).
A HTML5 videolejátszója, a Video.js, egy olyan JavaScript-könyvtár (metóduskészlet) amely biztosítja, hogy a különféle HTML5 böngészők esetében a video-megjelenítés egységes legyen. Emellett konzisztens JavaScript API-t biztosít a video és a weboldal egyéb komponensei közötti interakciókhoz. Video.js a HTML5-nek megfelelő videolejátszás mellett a korábbi lejátszási technikákat (pl. a Flash-t is) támogatja. A Video.js kompatibilis a legelterjedtebb mobil operációs rendszerekkel (iOS, Android, Windows Phone 7). A Flash és a nem adaptív streaming technikák háttérbe szorulásával a tartalomszolgáltatók részére HTML5 jelentheti a kiutat.