2017-01-04 7 views
1

共有リンクからInstagramビデオを再生しようとしていますが、次のコードを使用しましたがストリーミングしません。 Facebook上のグラフAPIのようなソースビデオURLを取得するAPIはどれですか?AVPlayerを使用してInstagramビデオを再生する方法

URLはこれがプレイヤーを開きますが、ビデオを再生しません すべてのヘルプは高く評価され、このhttps://instagram.com/p/BOzamYMA-vb/

let videoURL = NSURL(string: "https://instagram.com/p/BOzamYMA-vb/") 
    let player = AVPlayer(url: videoURL! as URL) 
    let playerViewController = AVPlayerViewController() 
    playerViewController.player = player 
    self.present(playerViewController, animated: true) { 
     playerViewController.player!.play() 
    } 

のようなものです。

+1

は動画URLではありません、1つは、ウェブページのURLで、Webページのデータから動画のURLを解析しようと – NANNAV

+0

はい、まさにそれはInstagramのリンクとして完璧に見える –

答えて

4

AVPlayerのWebページURLを提供していますが、これは機能しません。動画自体のURLを使用する必要があります。

Fuzi HTML解析ライブラリを使用すると、WebページからビデオURLを取得できます。

トリックは、HTML内のURLを見つけることです。

instagramの場合、このxpath:"//meta[@property='og:video']/@content"で見つけることができます。

例:

import Fuzi 

let link = "https://instagram.com/p/BOzamYMA-vb/" 
if let pageURL = URL(string: link), 
    let data = try? Data(contentsOf: pageURL), 
    let doc = try? HTMLDocument(data: data) 
{ 
    let items = doc.xpath("//meta[@property='og:video']/@content") 
    if let item = items.first, 
     let url = URL(string: item.stringValue) 
    { 
     print(url) 
    } 
} 

このページからURLを取得し、「http://scontent-cdg2-1.cdninstagram.com/t50.2886-16/15872432_382094838793088_926533688240373760_n.mp4」、そしてあなたがダウンロードするか、あなたが普通だろうようにビデオをストリーミングするためにそれを使用することができます。 URL上記

+0

感謝を返すものだ、私は客観的に私はこのコードをしたい –

+0

をしようとしますC、私を助けてくれますか? –

関連する問題