嵌入Youtube视频: - 包含来自*的内容,限制在特定网站上播放

时间:2012-09-14 18:52:46

标签: ios cocoa-touch ipad youtube embed

如何嵌入包含受版权保护内容的Youtube视频。

例如,当您尝试在UIWebView中播放此视频(http://www.youtube.com/embed/ADBKdSCbmiM)时,它会说

 This Video Contains content from Vevo. It is restricted from playback on certain sites

我如何才能将这样的视频用于嵌入式播放器或我使用MPMoviePlayer等制作的自定义播放器。我知道这是可能的,因为下面的应用程序这样做。 (http://itunes.apple.com/us/app/audioviz-view-your-songs-on/id547001249?mt=8

修改 很少有视频在浏览器中播放,但在iOS模拟器中显示

This video contains content from SME . It is restricted from playback on certain site

感谢您的帮助!

3 个答案:

答案 0 :(得分:8)

初始化youtube sdk时可以使用player vars

NSDictionary *playerVars = @{
                             @"origin" : @"http://www.youtube.com",
                             };
[self.playerView loadWithVideoId:@"KOvoD1upTxM" playerVars:playerVars];

享受!

答案 1 :(得分:3)

使用uiwebview播放YouTube视频:

  1. 首先检查您的YouTube是否在浏览器中播放了您的YouTube网址。如果视频无法在浏览器中播放,则无法在设备中播放

  2. 您只需检查设备;视频无法在模拟器中播放

    - (void) displayGoogleVideo
    
        {
    
        CGRect rect = [[UIScreen mainScreen] bounds];
    
        CGSize screenSize = rect.size;
    
        UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,screenSize.width,screenSize.height)];
    
        webView.autoresizesSubviews = YES;
    
        webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
    
        NSString *videoUrl = @"http://www.youtube.com/v/oHg5SJYRHA0"; // valid youtube url
    
    
        NSString *htmlString = [NSString stringWithFormat:@"<html><head><meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head><body style=\"background:#F00;margin-top:0px;margin-left:0px\"><div><object width=\"320\" height=\"480\"><param name=\"movie\" value=\"%@\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"%@\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"320\" height=\"480\"></embed></object></div></body></html>",videoUrl,videoUrl]    ;
    
    
    
        [webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];
    
    
        [window addSubview:webView];
    
        [webView release]; 
    
    }
    

答案 2 :(得分:2)

如果您要在移动应用中嵌入,则需要在视频的请求标题中设置Referer否则,如果您的Referer字段,Youtube会自动将您列入黑名单留空。

我详细解答了这个here。我自己也遇到了这种情况,我在我的情况下修复了它(使用React Native的iOS应用程序)。我现在可以玩Vevo,WMG和所有其他限制内容。