¿Cuál es la mejor manera de reproducir video en UITableViewCell?

Estoy tratando de hacer una reproducción automática de video enUITableViewCell dependiendo de la posición de la celda.

Estoy usando elAVPlayer

Aquí está mi código:

    __weak typeof(self)this = self;

    NSString* videoPath = @"http://test.com/test.mp4";
    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:videoPath] options:nil];
    NSArray* keys = [NSArray arrayWithObjects:@"playable",nil];

    [asset loadValuesAsynchronouslyForKeys:keys completionHandler:^(){
        AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset];
        this.avPlayer = [AVPlayer playerWithPlayerItem:playerItem];
        this.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:this.avPlayer];
        this.avPlayerLayer.frame = _videoContent.frame;

        dispatch_async(dispatch_get_main_queue(),^{
            [this.videoContent.layer addSublayer:this.avPlayerLayer];
            [this.avPlayer play];
        });
    }];

Pero mi UITableView se congela cuando desplazo la tabla. Creo que hay mucho trabajo que lleva mucho tiempo, pero lo más importante es

[this.avPlayer play]

¿Entonces mi pregunta es que AVPlayer es la mejor manera en esta situación? ¿Y hay alguna forma de mejorar el rendimiento?