嵌入Youtube和Vimeo视频

时间:2014-03-03 09:26:42

标签: ios objective-c video youtube vimeo

我试图从youtube和vimeo嵌入视频,在片刻我做了以下事情:

    if([item.source  isEqual: @"youtube"])
    {
        UIView *videoContainerView = [[UIView alloc]initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 320.0f)];


        XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:item.videoId];
        [videoPlayerViewController presentInView:videoContainerView];
        [videoPlayerViewController.moviePlayer play];
        videoPlayerViewController.moviePlayer.shouldAutoplay = NO;

        [self addSubview:videoContainerView];

    } else if ([item.source isEqual:@"vimeo"]) {

           [YTVimeoExtractor fetchVideoURLFromURL:item.url quality:YTVimeoVideoQualityMedium completionHandler:^(NSURL *videoURL, NSError *error, YTVimeoVideoQuality quality) {
            if (error) {
                NSLog(@"Error : %@", [error localizedDescription]);
            } else if (videoURL) {
                NSLog(@"Extracted url : %@", [videoURL absoluteString]);

                self.playerView = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
                [self.playerView.view setFrame:CGRectMake(0, 0, 320, 320)];
                self.playerView.view.backgroundColor = [UIColor grayColor];

                [self addSubview:self.playerView.view];
            }
        }];

    }

对于youtube视频即时通讯使用XCDYouTubeVideoPlayerViewController,而对于Vimeo我正在使用YTVimeoExtractor。现在我有两个问题

第一个问题:

youtube Part就像魅力一样,但Vimeo部分不起作用。从我的网络服务器,我得到以下网址:

http://vimeo.com/85004906

并且在YTVimeoExtractor提取网址后,我有以下代码段:

http://pdl.vimeocdn.com/85824/823/226049076.mp4?token2=1393842513_dd8e4d573f67656c80b91b3130d42824&aksessionid=ac7102b713f0b2c0

这是我在MPMoviePlayerViewController中设置的videoUrl。但我只得到一些灰色的背景框架,根本没有显示视频

第二个问题:

Apples doc说:如果你的应用通过蜂窝网络传送视频,并且视频在五分钟内持续超过10分钟或5 MB数据,则需要使用HTTP直播。

所以,如果我不使用这个,我的应用程序将被拒绝?如果我必须使用http流,我必须为高清视频做额外的部分吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我检查了YTVimeoExtractor&它使用正确的技术来提取vimeo视频,上面的网址似乎是正确的。

我不确定为什么MPMoviePlayerViewController没有播放视频,但我建议您尝试使用AVPlayer播放它(它不像MPMoviePlayerViewController那么简单,但它是更强大的)&检查你是否得到相同的结果。

关于5MB限制,您不必担心,您的应用将获得批准:)