iOS直播資料 整理(0)

播放格式的多種多樣,促使了FFmpeg的誕生,無論是視頻格式的mp4,mkv,mov還是流格式的rtmp rtsp 又或者是現在流行的直播格式的m3u8
ffmpeg 都可以做到游刃有余

但是如何讓FFmpeg編譯為我們所用 不是簡單的下載下來就行 有時候步驟錯誤 就會繞很遠 我也是找了很多資料才給編譯成功打包 這篇文章也算是個記錄。


** My building environment **

  • Mac OS X 10.11.6
  • Xcode 8.1
  • Terminal

要用到的文件

  1. gas-preprocessor

  2. yasm

  3. FFmpeg-iOS-build-script

  4. FFmpeg封裝的ijkplayer


編譯

首先確認是否安裝homwbrew

如果沒有安裝 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝yasm
brew install yasm or

 cd yasm-1.2.0
 ./configure
 make
 make install

安裝gas-preprocessor

這個稍微麻煩一點 因為涉及到文件權限

  1. 首先復制gas-preprocessor.pl到/usr/local/bin
  2. chmod 777 /usr/local/bin/gas-preprocessor.pl

關于ijkplayer
如同官方README寫的
進入到文件夾然后
./init-ios.sh
這一步之后
cd ios
./comppile-ffmpeg.sh clean
./compile-ffmpeg.sh all

將編譯好的framework添加到自己項目里面

  • File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
    選擇 Select your Application's target.
    然后依賴性添加IJKMediaFramework Build Phases -> Target Dependencies -> Select IJKMediaFramework
    還有 Link Binary with Libraries 添加 IJKMediaFramework 以及相應的系統framework 如
libz.tbd
AudioToolBox.framework
VideoTollBox.framework
CoreGraphic.framework
CoreVideo.framework
..... 需要的framework你編譯的時候xcode會告訴你 你加上去就好

關于FFmpeg

同樣,如同官方README寫的

  • 如果你要編譯支持所有平臺 ./build-ffmpeg.sh

  • 如果是arm64的話 ./build-ffmpeg.sh arm64

  • armv7 和x86 ./build-ffmpeg.sh armv7 x86_64

  • 合并所有版本 ./build-ffmpeg.sh lipo
    過程比較慢,稍微等一下就好


編譯好之后的樣子

3880B7E4-3C67-4797-B566-636E63031F26.jpg

FFmpeg-3.2是源代碼 FFmpeg-iOS是編譯好的給iOS用的,一共7個.a靜態文件拖到項目里面,然后加載libz.dylib libbz2.dylib libiconv.dylib這些依賴庫


好了,創建一個項目把必要的framework添加進去,然后簡單設置一下,接著找一個直播源,來測試一下。

FBF486C2-A746-4BB4-89AC-05F164531189.png
CB4E6998-FED2-403D-9B4F-85D4536BA151.jpg

demo地址

下載后pod install 然后由于 IJKMediaFramework過大,所以demo下載后要自己添加

這算是可以播放直播,至于怎么把自己拍的視頻上傳上去作為源 會在下一篇中整理出來

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • FFmpeg框架在iOS平臺上的編譯和使用 1.使用環境 macOS Sierra 10.12.3 2.開發工具 ...
    ttdiOS閱讀 2,591評論 5 4
  • FFmpeg簡介 FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。讀作:愛服...
    因缺思婷閱讀 7,589評論 15 21
  • iOS視頻軟編碼 軟編碼介紹 軟編碼主要是利用CPU進行編碼的過程, 具體的編碼通常會用FFmpeg+x264 F...
    coderwhy閱讀 2,185評論 1 3
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • 最近剛接觸ffmpeg,找了很多相關的編譯資料,都沒有編譯成功,前幾天在 github上找到一個腳本(https:...
    liu_bo閱讀 779評論 6 5