I haven't used storyboard almost for two years and am not familiar with it. But some part of your code doesn't make sense.
In prepareForSegue:sender
if ([[segue identifier] isEqualToString:@"showVideo"])
{
// Here I don't think you were getting a right index path
NSIndexPath *selectedRowIndexPath = [self.tableview indexPathForSelectedRow];
playVideoViewController *destViewController = segue.destinationViewController;
// so maybe you are always getting the first video in the array or one you don't expect
destViewController.video = [videos objectAtIndex:(long)selectedRowIndexPath.row];
}
In playVideoViewController
- (void)showVideo
{
// I got this part from apple's doc and some other SO
// But the idea I want to point out is you should get url from self.video which you assigned on prepareForSegue:sender in the previous controller.
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL URLWithString:self.video.url]];
player.movieSourceType = MPMovieSourceTypeFile;
player.controlStyle = MPMovieControlStyleDefault;
[player play];
[self.view addSubview: player.view];
[player setFullscreen:YES animated:YES];
}