{"id":2940,"date":"2016-02-03T05:00:00","date_gmt":"2016-02-03T05:00:00","guid":{"rendered":"http:\/\/jwplayer.com\/jw-player-mobile-sdks-now-featuring-avplayer-and-id3-timed-metadata\/"},"modified":"2023-02-06T14:28:22","modified_gmt":"2023-02-06T19:28:22","slug":"jw-player-mobile-sdks-now-featuring-avplayer-and-id3-timed-metadata","status":"publish","type":"post","link":"https:\/\/jwplayer.com\/blog\/jw-player-mobile-sdks-now-featuring-avplayer-and-id3-timed-metadata\/","title":{"rendered":"JW Player Mobile SDKs Now Featuring AVPlayer and ID3 Timed Metadata"},"content":{"rendered":"
\n

The JW Mobile team is excited to bring you our latest update to the JW Player Mobile SDKs. Version 2.1 of the JW Player SDK for iOS now uses Apple\u2019s AVPlayer as its native media playback engine. Not only does this give iOS developers some valuable features right out of the gate, but this will speed up the JW Mobile team\u2019s delivery of future HLS updates & iOS features.<\/p>\n

Both our iOS and Android SDKs now support ID3 timed metadata, a frequently requested feature that will provide developers more power and flexibility to build functionality on top of HLS live streams.<\/p>\n

Read on for more details!<\/p>\n

\"\"<\/p>\n

AVPlayer<\/h2>\n

In 2015 the JW Mobile team switched our Android SDK\u2019s native media playback engine to Google\u2019s open-source ExoPlayer<\/a>. We were able to keep all of JW Player\u2019s rich features (e.g. UI customization, captions, and advertising) and still maintain a fully native Java API library for Android developers. Since switching to ExoPlayer, we\u2019ve measured vast improvements in HLS speed<\/a>, performance, and feature support. A diagram and explanation of this approach can be found here<\/a>.<\/p>\n

Based on the success of this architecture, the JW Mobile team decided to similarly redesign the JW Player SDK for iOS to use Apple\u2019s iOS AVFoundation AVPlayer<\/a> as its native media playback engine. Once again, by keeping our JW Player core features intact and switching to AVPlayer we are able to quickly introduce new features in version 2.1 such as DVR live streaming, HLS multiple track audio, picture-in-picture, and ID3 timed metadata. All the while, iOS developers still get our fully native Obj-C \/ Swift APIs and the media playback performance of AVPlayer.<\/p>\n

Furthermore, as Apple releases updates to HLS and new features to iOS through AVPlayer, the JW Mobile team will be able to pass on these benefits to our customers more swiftly than before.<\/p>\n

ID3 Timed Metadata<\/h2>\n

As part of this release, our mobile SDKs will support ID3<\/a> timed metadata in HLS streams.<\/p>\n

Traditionally, ID3 has been used for MP3 music metadata such as title, artist, year, cover art, etc. But more recently, another valuable use case for ID3 has been for Timed Metadata for HTTP Live Streaming<\/a> (HLS).<\/p>\n

An excerpt from Eric Boyd\u2019s blog post<\/a> on ID3 support in the JW Player for Web:<\/p>\n

ID3 tags are keyed to a specific moment in time within a video. When the JW Player plays that video frame, it will let the client-side know the metadata. This opens up the possibility to implement some really powerful applications. Here are a few that are top of mind:<\/em><\/pre>\n