smart significado ps4 has example error iphone ios html5 video http-live-streaming

iphone - significado - Implementación de HTTP Live Streaming en iOS



hls streaming server (2)

Si apuntas a un UIWebView en esa URL objetivo de m3u8, simplemente funcionará.

Quiero escribir un pequeño cliente de video de iOS y tengo que usar HTTP Live Streaming. Los videos provienen de un Wowza Media Server que admite HTTP Live Streaming, por lo que la implementación del servidor no es mi problema. Ya he visto los videos de WWDC y he leído la documentación de Apple sobre HTTP Live Streaming.

Pero en ningún lugar se explica cómo reproducir los videos en un dispositivo iOS. En una WWDC-conversación se mencionó que hay 3 possebilties para mostrar los videos:

  • UIWebView
  • MPMoviePlayerController
  • AVPlayerItem

¿Cuál es el mejor?

¿Y cómo puedo leer las URL de video de una página HTML como esta, que el servidor proporciona?

<html> <head> <title>HTTP Live Streaming Example</title> </head> <body> <video src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" height="300" width="400" > </video> </body> </html>

(Fuente: Apple HTTP Live Streaming Overview )

Realmente no sé por dónde empezar con la codificación ... Tal vez alguien conozca mejor código de ejemplo que el molesto "Stitched Stream Player" o pueda escribir un pequeño tutorial ...


Una implementación corta y al punto. La URL incluida indica una transmisión válida (a partir del 15/12/2015), pero puede reemplazarla con su propia URL en un archivo .m3u8.

C objetivo:

#import <MediaPlayer/MediaPlayer.h> @interface ViewController () @property (strong, nonatomic) MPMoviePlayerController *streamPlayer; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL *streamURL = [NSURL URLWithString:@"http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"]; _streamPlayer = [[MPMoviePlayerController alloc] initWithContentURL:streamURL]; // depending on your implementation your view may not have it''s bounds set here // in that case consider calling the following 4 msgs later [self.streamPlayer.view setFrame: self.view.bounds]; self.streamPlayer.controlStyle = MPMovieControlStyleEmbedded; [self.view addSubview: self.streamPlayer.view]; [self.streamPlayer play]; } - (void)dealloc { // if non-ARC // [_streamPlayer release]; // [super dealloc]; } @end

Rápido:

import UIKit import MediaPlayer class ViewController: UIViewController { var streamPlayer : MPMoviePlayerController = MPMoviePlayerController(contentURL: NSURL(string:"http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8")) //Let''s play override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. streamPlayer.view.frame = self.view.bounds self.view.addSubview(streamPlayer.view) streamPlayer.fullscreen = true // Play the movie! streamPlayer.play() } }

Respuesta actualizada para ambos idiomas. También MPMoviePlayerController está en desuso en iOS 9, pero puede usar AVPlayerViewController en AVPlayerViewController lugar. Happy Coding !!!