Sto tentando di eseguire un GCDWebServer locale per servire un file M3U8 che ho memorizzato localmente da un server. Ho analizzato il file e salvato ogni file .ts nella memoria locale. Ora sto cercando di servire quel file attraverso un server web locale, ma non riesco a far funzionare il file utilizzando MPMoviePlayerController o AVPlayerViewController.Come riprodurre file M3u8 locali su iOS tramite GCDWebServer
Ecco il mio codice del server:
webServer = [[GCDWebServer alloc] init];
[webServer addDefaultHandlerForMethod:@"GET"
requestClass:[GCDWebServerRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];
NSString *textPath = [docDirectory stringByAppendingPathComponent:@"localPlaylist.m3u8"];
return [GCDWebServerDataResponse responseWithData:[NSData dataWithContentsOfFile:textPath] contentType:@".m3u8"];
}];
[webServer startWithPort:8080 bonjourName:nil];
e il mio successivo tentativo di riprodurre il codice:
AVPlayerViewController *newPlayer = [[AVPlayerViewController alloc] init];
newPlayer.player = [[AVPlayer alloc]initWithURL:webServer.serverURL];
[self presentViewController:newPlayer animated:YES completion:nil];
C'è qualcosa che sto facendo male nel modo in cui sto servendo il file m3u8 locale? Inoltre, l'esecuzione di un server Web locale è un modo sicuro per ospitare i contenuti?
Hai avuto successo nel riprodurre file m3u8 salvati localmente e blocchi crittografati/decodificati? Attualmente sto lavorando sullo stesso flusso, ho bisogno di una guida. –