最新版本 ffmpeg 源碼安裝 - vscode 開發環境搭建!
前言:
大家好,今天給大家分享一篇 ffmpeg 開發環境的搭建,我在很早之前也給搭建過 ffmpeg 源碼的安裝,但是並沒有給大家去搭建開發環境,而且當時的版本也比較老,很多細節問題沒有給大家展示如何解決!
今天就給大家展示詳細的 ffmpeg 最新 5.1 版本源碼安裝步驟和 vscode 開發環境搭建!技術的更新迭代,我們也要跟上技術的發展,所以這次用最新的版本來做開發環境!
如果大家需要進行交叉編譯的話,可以參考之前移植 rv1126 上的教程!
ok, 開始正式的分享, 這裏建議在 ubuntu18 上安裝環境!
一、編譯安裝需要的開源編碼格式:
首先在編譯安裝這些開源編碼格式之前, 我們要明白爲啥需要他們:
-
aac
-
x264
-
x265
爲啥需要呢?如果你對 ffmpeg 稍微瞭解的話,ffmpeg 本身是一個框架,自身默認並沒有支持這三種編碼格式,所以需要我們手動添加來支持!
ok,明白了這個之後,我們開始來下載這三個開源編碼格式源碼包:
1、編譯 aac:
aac 下載鏈接:
wget https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.2.tar.gz
開始編譯:
- 1、./configure --prefix=/usr/local/ffmpeg/ --enable-shared
- 2、make -j8 && make install
這裏我把編譯出來的東西都放在 / usr/local/ffmpeg/,而且這裏只編譯動態庫出來;大家按照上面兩個步驟操作就行:
最終編譯出來的動態庫,就放在 / usr/local/ffmpeg/lib 下面,頭文件在 / usr/local/include 下面:
2、 編譯 x264:
x264 下載鏈接:
wget http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191024-2245-stable.tar.bz2
開始編譯:
1、./configure --prefix=/usr/local/ffmpeg --enable-static --enable-pic
2、 make -j8 && make install
這裏把編譯出來的東西同樣放在路徑 / usr/local/ffmpeg,而且編譯的是靜態庫:
注意:這裏你第一次安裝的話,會報錯 nasm 版本過低,這個時候你要重新下載 nasm 源碼安裝編譯:
這裏我給大家 nasm 的安裝步驟;首先是 nasm 的下載鏈接:
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
編譯步驟:
1、./configure
2、make -j8 && make install
ok, 這個操作就比較簡單,你按照這個操作就行;第一次安裝 x264 的話,通過重新安裝 nasm, 是可以解決報錯的,然後我們接着來安裝 x264:
最後生成的頭文件和靜態庫,也是放在 / usr/local/ffmpeg 路徑下:
3、編譯 x265:
x265 下載鏈接:
wget http://ftp.videolan.org/pub/videolan/x265/x265_3.2.tar.gz
編譯步驟:
1、cd x265_3.2/build/linux/
2、 ./make-Makefiles.bash
3、 make -j8 && make install
二、最新 ffmpeg 源碼編譯安裝:
這裏我們用 gitte 上的源碼,github 上的下載會有點慢:
git clone https://gitee.com/mirrors/ffmpeg/
我們下載下來,並切換分支到 5.1 版本:
git checkout -b remotes/origin/release/5.1
然後開始編譯:
1、./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-pthreads --enable-libx264 --enable-libx265 --enable-libfdk-aac
2、make -j8 && make install
第一步這裏,我們就是手動把 aac、x264、x265 編碼格式給強制打開,這裏也提一下其他 enable 的作用:
-
--enable-pthreads:啓用 pthreads(多線程)(默認關閉,可能會有線程安全問題)
-
--enable-gpl:允許使用 GPL(默認關閉)
-
--enable-shared :構建共享庫(默認關閉)
-
--enable-version3:升級 GPL 到版本 3(默認:關閉)
-
--enable-nonfree:允許使用非免費的代碼, 產生的庫和二進制程序將是不可再發行的
-
--prefix=/usr/local/ffmpeg:把 ffmpeg 編譯出來的東西都放在這個路徑下去
我們發現找不到 libfdk_aac,那怎麼解決呢,問題出在找不到它路徑,所以我們配置一下環境變量:
vi ~/.bashrc
添加下面這條語句:
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig"
然後退出,執行一下 source ~/.bashrc 使其生效。爲什麼我們這裏要這樣操作,這裏主要通過下面這個裏面 fdk-aac.pc 這個文件去定位 fdk-aac:
這個時候再執行剛纔的那個配置,就可以解決這個問題,如果後期遇到類似的問題,都可以參考這種方法去解決,核心是要找到你編譯出來的. pc 後綴對應的文件就行:
接着下面繼續編譯,這個過程比較久,我只給大家展示 make install 這部分:
最後我們可以在 / usr/local/ffmpeg/lib 路徑下看到生成的庫:
可執行程序和頭文件:
這裏也配置一下環境變量:
export PATH="$PATH:/usr/local/ffmpeg/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/ffmpeg/lib"
這個時候,我就可以在任何終端路徑查看 ffmpeg 的版本了:
三、利用 vscode 搭建 ffmpeg 開發環境搭建:
先去 vscode 官網下載 vscode:
https://code.visualstudio.com/
下載下面這個版本,因爲我現在的環境是 ubuntu18:
然後直接點擊下載好的包,就可以安裝 vscode 了:
最後就可以看到安裝好的 vscode:
現在我們來建立一個 heh.c 的工程,同時先安裝一下 c/c++ 和 gdb 插件:
終端編譯:
gcc heh.c -lavutil -lavformat
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/lbFW3zDPG5OtIR8aW5wxDA