【问题标题】:AVPlayerView shows video locally, but not from IP Camera - OS XAVPlayerView 在本地显示视频,但不是来自 IP 摄像机 - OS X
【发布时间】:2016-05-27 11:09:43
【问题描述】:

我在这里尝试做的是连接到 IP 摄像机并使用 AVPlayView 显示流/馈送。

如果我播放本地视频,一切正常:

 let path = NSBundle.mainBundle().pathForResource("video-bg", ofType: "mp4")
 let url = NSURL.fileURLWithPath(path!)
 playerItem = AVPlayerItem(URL: url)
 player = AVPlayer(playerItem: playerItem!)
//Display Stream on AVPlayerView 
self.avPlayerView.player = player

但是当我尝试使用以下代码连接到相机时,它不起作用:

let url = NSURL.fileURLWithPath("http://96.10.1.168/")
playerItem = AVPlayerItem(URL: url)
player = AVPlayer(playerItem: playerItem!)
//Display the stream       
self.avPlayerView.player = player
  • 这是一个从 Google 找到的公共 IP 摄像头,它可以在我的浏览器上运行。
  • info.plist 被编辑以允许连接:

    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>http://96.10.1.168/</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>
    </dict>
    

我似乎在接近这个错误,所以有人可以指出我正确的方向并告诉我正确的方法是什么?

【问题讨论】:

  • 同样的问题,你解决了吗?

标签: swift macos rtsp ip-camera avplayerview


【解决方案1】:

http://96.10.1.168/ 的页面返回 HTML,它不返回视频流。

页面的 HTML 中有 JavaScript,这个 JavaScript 就是在你的浏览器中加载视频的。

您不能将http://96.10.1.168/ 直接与 AVPlayer 一起使用。

【讨论】:

  • 那么当我想访问我知道它的IP地址的IP摄像机并且我想使用AVPlayerView播放它时该怎么办?谢谢你的回答。
  • 只有知道视频流的URL才能使用AVPlayer。在这里,你不知道,因为Web Camera根本不生成视频流,都是在页面中用JavaScript完成的:你就是不能用AVPlayer。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多