我试图从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流,我必须为高清视频做额外的部分吗?
谢谢!
答案 0 :(得分:1)
我检查了YTVimeoExtractor
&它使用正确的技术来提取vimeo视频,上面的网址似乎是正确的。
我不确定为什么MPMoviePlayerViewController
没有播放视频,但我建议您尝试使用AVPlayer
播放它(它不像MPMoviePlayerViewController
那么简单,但它是更强大的)&检查你是否得到相同的结果。
关于5MB限制,您不必担心,您的应用将获得批准:)