基於Ubuntu16.04
一:FFmpeg的下載
(一)git命令下載源碼(太慢)
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
(二)官網下載源碼:http://www.ffmpeg.org/download.html
(三)文件解壓
tar -jxvf ffmpeg-snapshot-git.tar.bz2
(四)目錄分析
1)libavcodec:音視頻編解碼庫;(不做具體編解碼操作,只是調用H264、H265...) 2)libavdevice:音視頻輸出輸入設備庫;(sdl顯示設備,alsa音頻輸出設備,opengl圖形加速設備,v4l2視頻設備(比如攝像頭)...的采集) 3)Libavfilter:音視頻濾鏡庫,濾鏡主要是用來實現圖像的各種特殊效果; 4)libavformat:音視頻格式庫,用於各種音視頻封裝格式的解析和封裝; 5)libavutil:音視頻工具庫,包含一些公共的工具函數; 6)libpostproc:音視頻后期效果處理庫;
7)libavresample:音頻重采樣; 8)libswresample:功能和libavresample十分類似,是FFmpeg相對早期的實現方法; 9)libswscale:視頻場景比例縮放、色彩映射轉換庫;
二:FFmpeg配置與安裝
(一)安裝依賴庫yasm、libx264、libx265(后面會用到)
1.yasm等庫安裝
sudo apt-get update sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev
sudo apt-get install libfdk-aac-dev sudo apt-get install libmp3lame-dev sudo apt-get install yasm
2.libx264安裝 下載地址:http://www.videolan.org/developers/x264.html
(1)安裝依賴
sudo apt-get install cmake sudo apt install cmake-curses-gui
(2)進入解壓后的源代碼目錄
./configure --enable-shared --enable-static --disable-asm
sudo make && sudo make install
(3)查看文件
3.libx265安裝 下載地址:http://www.videolan.org/developers/x265.html
(1)安裝依賴,使得支持hg命令下載libx265
sudo apt-get install mercurial
(2)進入./x265_2.9/build/linux目錄
./make-Makefiles.bash
sudo make && sudo make install
(3)查看文件
(二)配置命令及安裝(盡可能多配置,比如libfdk-aac后面會用於音頻編解碼)
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --enable-libx265 --enable-debug --disable-optimizations --enable-pthreads --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-nonfree --enable-gpl
sudo make && sudo make install
(三)配置環境變量
ubuntu通過源碼安裝軟件未進行環境變量配置,找不到啟動路徑。
如果直接使用ffmpeg -version會報錯:ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
1.打開動態庫配置文件
sudo gedit /etc/ld.so.conf
2.添加路徑信息
/usr/local/ffmpeg/lib/
3.更新配置文件
sudo ldconfig
(四)測試命令
/usr/local/ffmpeg/bin/ffmpeg -version
(五)配置環境變量(使得直接使用ffmpeg命令)
1.臨時設置:
export PATH=/usr/local/ffmpeg/bin/:$PATH
2.當前用戶的全局設置:
vi ~/.bashrc
添加bin目錄到環境變量文件中:
export PATH=$PATH:/usr/local/ffmpeg/bin
使之生效:
source .bashrc
直接測試ffmpeg:
3.所有用戶的全局設置
修改/etc/profile即可,使用source profile生效