One of the most sought-after features of JW6 is support for Apple HTTP Live Streaming (HLS), built into the new premium player. This feature enables publishers to have a single set of video files that can be streamed to both the desktop and mobile devices – vastly simplifying life and expanding publishers’ reach to even more audiences.
In an interview with Streaming Media’s Jan Ozer, Jeroen talks about how HLS support works in the JW Player, on desktops, iOS, and Android.
Streaming Media Post by Jan Ozer
SMM: Does the player provide native H.264 playback capability or does it rely on H.264 playback provided by other modules, like Internet Explorer or Safari, or the Flash Player?
JW: The player relies on the Adobe Flash plug-in to provide HLS support on desktops and on the HTML5 < video > element to provide HLS support on devices (iOS). On Safari for Mac, we have two options, since it has both Flash and HTML5 HLS support. We there use Flash, for consistency across desktops and additional features we can supply (like a menu for manual bitrate selection).
SMM: So, if a Firefox user doesn’t have the Flash Player installed, they can’t play HLS (or H.264 in general).
JW: That’s correct. The browser (or Flash) has to provide support for H.264.
SMM: What’s the status of HLS playback on the Android platform?
JW: Officially, Android supports HLS as of Honeycomb. In practice, we see a number of critical bugs in the current iterations of Android that break in-browser HLS playback:
On Honeycomb, HLS playback crashes a tablet quite consistently. The version is of little concern though, since it has 2 percent market share and is shrinking.
On Ice Cream Sandwich (26 percent share), HLS plays, but VOD streams cannot be seeked. The aspect ratio is also not detected, leading to deformed images. When going full-screen, a video is re-started from the beginning (again with no support for seeking).
On Jelly Bean (3 percent share, but growing), the aspect ratio issue is fixed but the no-seek issue remains. Additionally, the new default browser (Chrome) does not understand HLS, leading to broken mimetype detection and an error message plus crash of the stream when taking it full-screen.
Taking into account that Gingerbread (54 percent share) does not support HLS, the only solution to streaming HLS on Android is building your own app.
Read the full Interview
Jan asks Jeroen about the impact of increased HLS support on the Dynamic Adaptive Streaming over HTTP (DASH) spec, which was supposed to deliver the same capability as HLS. Read the full interview on Streaming Media for JW’s take on how DASH support might come into the marketplace, the pluses and minuses of DASH vs. HLS support, and more. And please join the conversation on Streaming Media’s website, the LongTail blog, or both!