ffmpeg官方給出了詳細的編譯步驟:
本文和官方指南相比,主要在於改進了以下幾處:
編譯的bin目錄不放到某個使用者目錄下,而是放到/opt/bin
下面;
以下測試在ubuntu server 14.04下通過。
首先,用apt-get update
和apt-get upgrade
把系統公升級到最新版,然後,安裝以下軟體包:
apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev lib***lame-dev libopus-dev
ffmpeg依賴的幾個軟體包有個最低版本要求:
yasm >= 1.2.0libx264-dev >= 0.118lib***lame-dev >= 3.98.3libopus-dev >= 1.1
這幾個包在ubuntu 14.04上都符合ffmpeg的要求,所以可以直接用apt-get
安裝。如果是其它版本的linux,就需要自己檢查版本。
注意,因為這個ffmpeg是作為伺服器使用的,所以不含ffplay的依賴包。如果想要在桌面使用,還需要安裝以下軟體包:
libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
先建立如下目錄結構:
/opt
+- ffmpeg_sources/
+- ffmpeg_build/
+- bin/
x265:
fdk-aac:
vpx:
ffmpeg:
依次執行以下命令:
cd /opt/ffmpeg_sources
tar zxvf x265_1.9.tar.gz
cd x265_1.9/build/linux
path="/opt/bin:$path" cmake -g
"unix makefiles" -dcmake_install_prefix="/opt/ffmpeg_build" -denable_shared
:bool=off ../../source
make
make install
make distclean
依次執行以下命令:
cd /opt/ffmpeg_sources
mv v0.1.4.zip fdk-aac-v0.1.4.zip
unzip fdk-aac-v0.1.4.zip
cd fdk-aac-0.1.4
autoreconf -fiv
./configure --prefix="/opt/ffmpeg_build" --disable-shared
make
make install
make distclean
依次執行以下命令:
cd /opt/ffmpeg_sources
tar xjvf libvpx-1.5.0.tar.bz2
cd libvpx-1.5.0
path="/opt/bin:$path" ./configure --prefix="/opt/ffmpeg_build" --disable-examples --disable-unit-tests
path="/opt/bin:$path" make
make install
make clean
最後一步就是編譯ffmpeg了:
cd /opt/ffmpeg_sources
unzip ffmpeg-release-3.0.zip
cd ffmpeg-release-3.0
path="/opt/bin:$path" pkg_config_path="/opt/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="/opt/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-i/opt/ffmpeg_build/include" \
--extra-ldflags="-l/opt/ffmpeg_build/lib" \
--bindir="/opt/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-lib***lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
path="/opt/bin:$path" make
make install
make distclean
hash -r
編譯時間很長很長,一切順利的話,在/opt/bin
目錄下會編譯出ffmpeg
、ffprobe
和ffserver
三個程式。最後,建立幾個軟連線,便於任意使用者在任意目錄下直接呼叫ffmpeg:
ln -s /opt/bin/ffmpeg /usr/bin/ffmpeg
ln -s /opt/bin/ffprobe /usr/bin/ffprobe
ln -s /opt/bin/ffserver /usr/bin/ffserver
關於openh323在windows上編譯
剛開始不搞h323,有些不習慣,所以下了個openh323來玩玩.感覺這東西在windows上編譯可真夠煩的.我在http openh323.下了板本,發現,pwlib裡面好多東西不全.沒有pwlib,pwclib這兩個目錄,直接導致後面編譯openphone的時候出問題.於是安了個cvs,從cvs...
ubuntu server上nfs的安裝方法
nfs就是network file system的縮寫,可以通過網路,讓不同的機器 不同的作業系統可以共享彼此的檔案。這個nfs伺服器可以讓pc將網路中的nfs伺服器共享的目錄掛載到本地端的檔案系統中,而在本地端的系統中看來,那個遠端主機的目錄就好像是自己的乙個磁碟分割槽一樣,在使用上相當便利。nf...
ubuntu16 04上Python串列埠程式設計學習1
學習第一課 通過 ubuntu桌面串列埠軟體 cutecom與 程式端的實現串列埠通訊。硬體連線採用2條 usb轉485的線,對連。兩條usb轉485線 t r t r t r t r 查詢從系統啟動到現在串列埠插拔的資訊,顯示串列埠ubuntu連線的埠號 在終端輸入 ubuntu軟體cutecom...