This demo project is inspired by DASH-to-HLS-Playback project. It converts DASH's MPD manifests to HLS's M3U8 manifests. It works by extracting information from MPD files, creating M3U8 master playlist and media playlists, finally plays out with AVPlayer.
It is written with Swift.
Run pod install
and open the xcworkspace
file that is created.
It is using AVAssetResourceLoaderDelegate to modify the behavior when AVPlayer load the HLS playlists. Apple sample code is available here. I also created the demo project that simply manipulates the master and media playlists AVPlayer loading.
- If loading MPD from URL, media segments must locate at the same address of the given MPD file.
- It only supports MPD file with one period. If several periods in the MPD, it only works on the first period.
- It only supports VOD. (I will work on Live soon!)