Support for Apple's new HLS file format

Hi -

With Apple rolling out a new file format “HLS” for delivery of it’s Lossless (and I think Dolby sound) content for new albums (and updated versions of old purchased albums, for example Lady Gaga’s Chromatica got “updated” to support Lossless) will Roon be able to support playback of this file format in the future? I presume this is possible for at least playback?

This questions impacts a lot of iTunes content (that I have purchased) that is now only downloadable in HLS format, I just want to be able to playback the content through Roon, nothing more.

2 Likes

Not another proprietary file format. Apple keeps building walls around it eco system.

3 Likes

Yep, fun times, not! It is what it is, adapt or change I guess.

1 Like

Hi @cmward_nyc
Thanks for the request, I concur

Just an ignoramus here posting questions, but according to the webz HLS is HTTP Live Streaming which implies it’s intended for streaming content over the internet. In other words a streaming protocol, not a file format. Are we sure downloaded files will be HLS?

Hi - Yeah, it is odd that it uses (at least appears to) the same approach. But they are definitely HLS files.
Screen Shot 2021-07-02 at 11.42.28 AM

Probably have to look more closely at the file to see just what you’ve got there.

For all we know it’s just a sequence of links to point to the parts of the actual music files to download.

1 Like

My quick Google results says HLS downloads are not a thing and the fact they landed in your library is an Apple bug. Recommendation seems to delete the local file, make sure you’re at latest Apple Music app, and re-download to get the proper file.

HLS is a streaming method. It is not intended to be a file container. There is no reason for Roon to support this until / if Apple Music integration happens as it appears Apple Music may use this streaming “technology” to feed the stream.

Hi - Thanks for the response. I didn’t get the files from Apple Music, I purchased them directly through the iTunes Store and then downloaded them that way. I’ve tried changing settings (i.e. turn lossless off, set for AAC, turn dolby off) and it will only download (via the MacOS “Music” App) the HLS version. The file size does change if I change the “quality” or bit rate.

It would seem foolish to not support it (unless it is somehow prohibited as outlined in the Apple Music API discussion) as it seems likely that this new version of “lossless” (i.e. free) could draw in subscribers from Tidal, etc.

There are a bunch of what look like FMP4 files that are .frag. I believe the file is “there”, but to your point we have no idea how it processes them.

If you look at section 3.3 of the RFC, do you see a structure as specified there?

1 Like

Some ones dropped the ball at Apple if you getting those. You don’t distribute audio in a HLS streaming package unless your streaming it over the web.

1 Like

Hmm - Not sure, I think so. What I “see” looks like what is described in either 3.3. or 3.4.

Hi - Hmm I’m not sure about that, for one album or artist maybe, but this is multiple artists and albums that have the same HLS file format. It seems like this is the vehicle for Apple to offer Lossless versions of iTunes content. I say that as only content that is available in “Lossless” downloads as HLS.

The following was interesting from WWDC (hopefully it works)

2020https://developer.apple.com/videos/play/wwdc2020/10158/

That’s still all about web streaming and nothing to do with playing local files. HLS is not file format it’s a package that contains audio or video streams in the standard audio and video codecs. It’s not a general file format for local playback and you won’t get support for it in other apps Reading up on it Apple does seem to have adopted it for purchases on iTunes for movies to and looks like they have done this to keep it within the Apple ecosystem and looks to be a form of DRM.

Maybe it’s just a local cache. But the “trick” with HLS is to present the stream as a sequence of M4A segments served over HTTP. No reason a conforming client implementation couldn’t load those segments from local files if the url specified in the “playlist” is “file:” instead of “http:”, I suppose. Is there an obvious playlist file that references the .frag files?

HLS is not an apple only codec. I used to need an HLS plugin to be able to stream certain BBC radio programs via LMS. Very odd that purchased files are showing up as HLS, as this is a streaming format rather than a file container.

Web browsers can also open local files. So a Web client for HLS might be able to play local content, given an appropriate playlist.

The sceptic in me would say a form of DRM so it’s not available to play outside of your Apple account. Why else would they use it, it serves no purpose at all for locally stored files.

1 Like

True all possible I suppose