Tag: http live streaming

HTTP live streaming with encryption

I am trying to understand how the HTTP Live Streaming protocol that Apple supports on their iOS devices as well as on Safari protects the key that unlocks the content. The way I understand it, the .m3u8 file holds the whole thing together and references the content (in MPEG2 TS container, AES 128 encrypted) and […]

Playing .m3u8 file on iOS

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 […]

Can AVFoundation be coerced into playing a local .ts file?

Clearly, AVFoundation (and Quicktime X) can demux and play properly encoded .ts containers, because .ts containers underly HTTPS live streaming. Short of setting up a local web service to serve the .m3u8 and associated .ts files, I’d really like to be able to either: convince AVURLAsset and/or URLAssetWithURL to accept a local file .m3u8 URI […]

Is it possible to cache HLS segments with AVPlayer?

Root Problem​ Our video buffers a lot when seeking in iOS. It buffers quite a bit more than our web player which saves copies of the already watched segments in temp storage. ​Desired Solution​ Caching the video segments locally on the device’s disk. We’re fine with caching a single quality and always replaying it. ​Blocker​ […]

How to play m3u8 encrypted playlists by providing key file separately?

I have a m3u8 playlist file(lets call it prime), which points to another playlist file which in turn has the ts URLs with the key file URL. Using MPMoviePlayer I can currently play the prime m3u8 file. The segments are encrypted with AES-128 bit encryption and the key file is in the final m3u8 file. […]

How to use Media Segmenter for split video?

I have read many documents still very confused about HTTP Live Streaming. But i am still trying for solution.. and i have convert my video in .ts format with ffmpeg. Now i know that i have to split my video and have to create playlist with the use of mediasegmenter. But i don’t know where […]

HTTP live streaming server on iPhone

I am trying to run a HTTP live streaming server on iPhone, which captures the video stream from the camera and feed it to the HTML5 client (which supports HTTP Live Streaming). So far, I’ve got following working. HTTP Live streaming server on iOS (written in Node.js), which dynamically updates the index file from the […]

Http Live Streaming for iPhone and why we use .m3u8 file

I have done all that from This I have also made .ts and m3u8 file. In local server and live server i can play mp4 file like <video width=”320″ height=”240″ controls=”controls” autoplay=”autoplay”> <source src=”movie.mp4″ type=”video/mp4″ /> </object> </video> But i have problem with playing .m3u8 file <video width=”320″ height=”240″ controls=”controls” autoplay=”autoplay”> <source src=”movie.m3u8″ type=”video/m3u8″ /> […]

HTTP Live Streaming with AVPlayer in iOS 4.0?

Is it possible to use HTTP Live Streaming with AVPlayer on iOS 4.0? This was clearly a documented feature of 4.0. However, if I run Apple’s SitchedStreamPlayer sample code on my 3GS running iOS 4.0.1, clicking “Load Movie” does not play the stream, but gives an error: 2011-06-21 13:14:49.428 StitchedStreamPlayer[680:307] The asset’s tracks were not […]

How to let AVPlayer retrieve playlist secured by SSL?

We´re developing a HTTP-streaming iOS app that requires us to receive playlists from a secured site. This site requires us to authenticate using a self signed SSL certificate. We read the credentials from a .p12 file before we use NSURLConnection with a delegate to react to the authorization challenge. – (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { […]