AVPlayerView показывает видео локально, но не с IP-камеры-OS X

То, что я пытаюсь сделать здесь, это подключиться к 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
  • Это публичная IP-камера, найденная в Google, и она работает в моем браузере.
  • информация.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>
    

Кажется, что я подхожу к этому неправильно, поэтому может ли кто-то указать мне правильное направление и сказать, какой правильный подход?

1 ответ

  1. Страница at http://96.10.1.168/возвращает HTML, она не возвращает видеопоток.

    Есть JavaScript в HTML страницы, и этот JavaScript является то, что загружает видео в вашем браузере.

    Вы не можете использовать http://96.10.1.168/напрямую с AVPlayer.