如何在 iOS 上通过安全连接流式传输视频

Posted

技术标签:

【中文标题】如何在 iOS 上通过安全连接流式传输视频【英文标题】:How to stream video over secure connection on iOS 【发布时间】:2012-09-04 16:28:17 【问题描述】:

我可以从本地资源(在设备上)播放视频。 我可以从不受保护的互联网流式传输视频。 我无法从公司的 Intranet(从内部或外部)流式传输

典型的安全公司网络。视频存储在 SharePoint 2007 列表中(但我有视频文件的 url)。

我试过了:

MPMoviePlayerController MPMoviePlayerViewController UIViewView(使用<video>标签和视频url动态创建html

我什么也做不了。哎呀,我什至无法让它直接进入 iPad 上 Safari 中的链接。我唯一没有尝试过的是将其下载为文件然后在本地播放。由于存在许多可用性问题,这不是首选。

【问题讨论】:

【参考方案1】:

有 2 个问题。

    MPMoviePlayerController 不支持NSURLConnection 中存在的所有质询身份验证。解决方案是在您的安全区域内的某处做一个“虚拟”NSURLConnection,让它处理所有挑战并将其设置为存储会话信息。从现在开始,MPMoviePlayerController 或其他不支持 SSL 请求的输入和输出的连接将使用现有会话。 必须在服务器上安装有效的中间证书。我自己永远也想不通的东西。它作为一个小项目存在于安全连接下的指南之一中。

【讨论】:

第二个问题,或修复,通过使用中间证书,是回答SSL挑战的解决方案。不是流媒体本身..对吗?我的意思是,您可以通过与使用中间证书不同的方式来回答 SSL 挑战,不是吗? 或许你可以用另一种方式来应对挑战。一旦我有了可以使用的答案,我就停止了挖掘。主要问题是MPMoviePlayerController 没有提供回答挑战的系统。因此,您需要使用其他一些连接来导航挑战并将会话设置为MPMoviePlayerController 不必处理任何问题。只要你做到了,如何清除挑战并不重要。 您介意添加为 MPMoviePlayerController 提供虚拟 NSURLConnection 的代码吗?我有类似的问题,不知道从哪里开始。 伙计们,您有任何示例如何在 MPMoviePlayercontroller 之外对这些挑战进行排序吗?还是有人解决了这个问题? @nhenrique - 是的。使用NSURLConnectionNSURLSession 这是一个相当直接且有据可查的过程。在委托协议中查找didReceiveChallenge 方法。

以上是关于如何在 iOS 上通过安全连接流式传输视频的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 RTMP 将视频流式传输到 iOS?

在iOS上通过WiFi和蓝牙流式传输视频

从 URL 流式传输视频,标题中带有授权

如何仅流式传输来自 YouTube 的视频的声音? [关闭]

如何使用 C# 流式传输网络摄像头视频? [关闭]

如何使用 MPEG-DASH 流式传输实时视频? [关闭]