¿Cómo reproducir video de YouTube usando URL en AVPlayer IOS?

Quiero cargar video en AVPlayer usando la URL de YouTube, pero no muestra nada. Cuando estoy cargando desde un almacenamiento local usando NSBundle, funciona bien. Hay alguna alternativa para cargar video o podemos hacer algo en AVPlayer.

Este es mi código:

- (void)viewDidLoad { [super viewDidLoad]; NSError *setCategoryError = nil; [[AVAudioSession shanetworkingInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError]; AVAsset *asset = [AVAsset assetWithURL:[NSURL fileURLWithPath:@"http://www.youtube.com/watch?v=zPP6lXaL7KA&feature=youtube_gdata_player"]]; avPlayerItem = [[AVPlayerItem alloc]initWithAsset:asset]; self.songPlayer = [AVPlayer playerWithPlayerItem:avPlayerItem]; self.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer: self.songPlayer]; self.avPlayerLayer.frame = self.view.layer.bounds; UIView *newView = [[UIView alloc] initWithFrame:self.view.bounds]; [newView.layer addSublayer:avPlayerLayer]; [self.view addSubview:newView]; [ self.songPlayer play]; } 

Debería usar la biblioteca iOS Helper de YouTube para reproducir videos de YouTube.

https://developers.google.com/youtube/v3/guides/ios_youtube_helper

No sé si puedes usar AVPlayer. He visto algunos ejemplos con MPMoviePlayerController en CocoaControls, como este: https://www.cocoacontrols.com/controls/hcyoutubeparser o este: https://www.cocoacontrols.com/controls/xcdyoutubevideoplayerviewcontroller

Pero no creo que el uso de la URL de YouTube directamente en su reproductor se ajuste al ToS de la plataforma. Por lo tanto, le recomendaré que utilice la Biblioteca de ayuda de YouTube si planea publicar su aplicación.

No creo que puedas usar esto ahora porque acabo de usar esto y encontré el mismo caso.

Leí el documento de Apple, definitivamente se refiere a eso (no se puede crear directamente una instancia de AVAsset para representar los medios en un HTTP Live Stream).

En cambio, aquí está el ejemplo de Apple:

 NSURL *url = [NSURL URLWithString:@"<#Live stream URL#>]; 

// Puede encontrar un flujo de testing en
http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 .

 self.playerItem = [AVPlayerItem playerItemWithURL:url]; 

ver, si no la url local, debería ser playerItemWithURL : ^ _ ^