ffmpeg初體驗

ffmpeg是一個多平臺多媒體處理工具,處理視頻和音頻的功能很是強大。目前在網上搜到的iOS上使用FFMPEG的資料都比較陳舊,而FFMPEG更新迭代比較快; 且網上的講解不夠詳細,對於初次接觸FFMPEG的新手(例如我)來講確實不太好使用。爲了防止忘記,這裏對iOS下使用FFMPEG作一個總結。c++

 

1. FFMPEG層次結構的簡單理解git

要使用FFMPEG,首先須要理解FFMPEG的代碼結構。根據志哥的提示,ffmpeg的代碼是包括兩部分的,一部分是library,一部分是tool。api都是在library裏面,若是直接調api來操做視頻的話,就須要寫c或者c++了。另外一部分是tool,使用的是命令行,則不須要本身去編碼來實現視頻操做的流程。實際上tool只不過把命令行轉換爲api的操做而已。github

 

2. 預熱-在mac os下使用ffmpegapi

在mac os下使用ffmpeg比較簡單,能夠直接使用命令行來操做。首先安裝ffmpeg,這裏默認系統已經安裝好brew,只須要在終端上輸入:app

brew install ffmpeg工具

等待安裝結束便可。ui

安裝結束後,嘗試如下命令:編碼

ffmpeg -i input.mp4 output.avi命令行

若是能順利轉換,代表安裝成功視頻

 

3. 編譯能在iOS下使用的FFMPEG library庫

這一步是編譯1所說的library,編譯好以後能夠調用FFMPEG的api。網上有一些方法,但都要本身手動編譯,稍顯複雜並且比較陳舊。按照app store的需求,編譯出來的包還必須支持arm64。我在萬能的github中找到一個可以"一鍵編譯"的腳本,地址以下:

https://github.com/kewlbear/FFmpeg-iOS-build-script

並且寫這個腳本的歪果仁挺好人,更新很及時,已經更新到了最新的2.5.3版本。下載下來,只有一個build-ffmpeg.sh腳本文件。在終端中轉至腳本的目錄,執行命令:

./build-ffmpeg.sh

腳本則會自動從github中把ffmpeg源碼下到本地並開始編譯。

相關文章
相關標籤/搜索