【问题标题】:Cannot play facebook Live Video in UIWebView无法在 UIWebView 中播放 Facebook 实时视频
【发布时间】:2016-07-01 18:19:57
【问题描述】:

我正在快速阅读来自 facebook Api 的实时视频。请求地址为:

https://graph.facebook.com/miPageID/live_videos

我得到的答案是一系列视频,每个视频都有这样的内容。

{ description = "视频描述"; "embed_html" = "https://www.facebook.com/video/embed?video_id=1041870252579934\" 宽度=\"400\" 高度=\"400\" 边框=\"0\">"; ID = 1041870255905313; "permalink_url" = "/1040317772727228/videos/1041870252571980/"; 状态=直播; }

然后我在 UIWebView 中加载视频。如果视频已经发布,我可以毫无问题地看到它,但是当它处于实时模式时,我就看不到它了。

在 Safari 中,我得到与在 UIWebView 中相同的行为。这是一张图片,您可以看到我得到了什么。

Safari vs Chrome(在 chrome 中我可以看到,但在 safari 中看不到) https://c2.staticflickr.com/8/7425/27407837763_92d61270f2_b.jpg

有谁知道我该如何解决这个问题?也许是某个第三方库之类的。

对不起我的英语,非常感谢。

【问题讨论】:

    标签: ios swift facebook-graph-api uiwebview


    【解决方案1】:

    视频直播是逐块流式传输的。任何块都是.ts 文件,其中TS 代表传输流。

    在 iOS 中要像播放普通视频一样播放实时视频,你需要做更多的工作。

    Here 您可以阅读所有关于 HTTP Live Streaming 的 Apple 文档,以更好地了解它在 iOS 上的工作原理。 这不是一个简单的话题,确实有像this one 这样的付费框架可以用于此目的。

    【讨论】:

      【解决方案2】:

      您可以在 iOS 中使用 https://github.com/jgh-/VideoCore 进行 Facebook Live

       self.vcSession = [[VCSimpleSession alloc] initWithVideoSize:CGSizeMake(854, 480) frameRate:30 bitrate:1000000 useInterfaceOrientation:NO];
       [self.view addSubview:self.vcSession.previewView];
       self.vcSession.previewView.frame = CGRectMake(40, 40, 320, 240);//self.view.bounds;
       self.vcSession.delegate = self;
       [self.vcSession startRtmpSessionWithURL:@"your rtmp:URL "andStreamKey:@"your stream key"];
      

      其中 vcSeesion 是在 .h 文件中创建的 VCSsimpleSession 类的对象。

      【讨论】:

      • 虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2012-10-27
      相关资源
      最近更新 更多