天天看點

關于ZFPlayer內建播放 rtmp 視訊流的總結

最近公司項目需要能夠播放 rtmp 格式的直播流位址的播放器,安卓那邊是買了人家的三方庫,EasyPlayer,但是不想再買一個 ios 的了是以需要自己去找免費的合适的播放器去內建,終于在 github 上找到一個合适的了,那就是 強大的IJKPlayer 播放器;但在內建的時候出現了一些問題,朋友推薦我用 ZFPlayer,也是基于 IJKPlayer 開發的已經內建好的 demo,于是我就改用了更加友善快捷的 ZFPlayer,下面是我內建的步驟;

ZFPlayer 下載下傳位址

  1. 因為我的項目是老項目,沒有使用 pod,是以我是下載下傳 demo 之後把 ZFPlayer 的庫檔案直接拉進項目裡面的,一定要勾選Copy items if needed,再把 ZFPLayer 項目下面的 IJKMediaFramework導入到項目裡去;
  2. 使用 pod 的 也可以 pod ‘ZFPlayer’, ‘~> 3.0’ 導入進去;
  3. 導入進去之後編譯會報錯,是因為沒有添加相應的依賴庫
    關于ZFPlayer內建播放 rtmp 視訊流的總結

這是根據官方文檔內建 IJKPlayer 需要內建的依賴,但是在我添加之後發現項目依然報錯,并且是确定我把以上的庫都添加進去了,

關于ZFPlayer內建播放 rtmp 視訊流的總結

看錯誤确定是還缺少庫,多方查找之後再添加了libstdc++.tbd,運作成功;(修改:現在庫裡已經沒有libstdc++.tbd這個庫了,是以需要換成libc++,ijkplayer播放器一定需要添加這個庫);

  1. 運作成功之後就是內建進項目了,主要看 ZFPlayer 裡面的ZFNoramlViewController相關代碼,跟着來建立自己的播放界面,擷取到自己的播放位址,給 Player 設定 URL
  2. self.player.assetURL = [NSURL URLWithString:rtmpUrl];

    [self.controlView showTitle:@“視訊監控” coverURLString:@"" fullScreenMode:ZFFullScreenModeAutomatic];

  3. 運作之後能成功的播放推流界面;
  4. 最後在打包項目的時候又報錯了,
    關于ZFPlayer內建播放 rtmp 視訊流的總結
    是因為 ijkplayer 不支援32位手機,需要把 armv7相關的删掉
    關于ZFPlayer內建播放 rtmp 視訊流的總結

    arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)

    arm64e:xs以上機型

    armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)

    armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

把 armv7和 armv7s 删掉之後,項目成功打包上傳了,就等着通過啦;

最後附上一篇别人內建 IJKPlayer 的硬文

IJKPlayer 內建

繼續閱讀