Playing .m3u8 file on iOS

Vip's picture Vip's · Mar 3, 2014 · Viewed 13.6k times · Source

I have .m3u8 link which I need to play on iOS which supports the HLS Protocol.

When I assign URL directly to the MPMoviePlayerController and play, video is not visible but I can hear the audio.

NSURL *movieURL = [NSURL URLWithString:@"http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"];
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[self.view addSubview:self.moviePlayer.view];

if (mp)
{
    // save the movie player object
    self.moviePlayer = mp;
    [self.moviePlayer setFullscreen:YES];

    // Play the movie!
    [self.moviePlayer play];
}

What additional stuff do I need to do on iOS side?

Answer

iCoder picture iCoder · Mar 3, 2014

Import:

#import <MediaPlayer/MediaPlayer.h>

Then do:

NSURL *movieURL = [NSURL URLWithString:@"http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"];
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];

if (mp) {
    mp.view.frame = self.view.bounds;
    [self.view addSubview:mp.view];

    // save the movie player object
    [mp setFullscreen:YES];

    // Play the movie!
    [mp play];

    self.moviePlayer = mp;
}