Ubuntu16.04 編譯FFMpeg以及FFPlay

1.下載FFmpeg源碼

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

2.安裝SDL

不安裝SDL編譯之後不會生成ffplay
(1)http://www.libsdl.org/download-2.0.php 下載SDL源碼
(2)解壓
(3)執行
   ./configure 
    make && make install

3.安裝需要的解碼器(如果不需要,可以跳過,直接安裝默認的FFMpeg)

(1)安裝yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && sudo make install

(2)安裝fdk-acc
fdk-acc

wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz
tar xvf fdk-aac-0.1.6.tar.gz
cd fdk-aac-0.1.6
./configure

make && sudo make install
(3)安裝Lame

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -xzf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make && sudo make install

(4)安裝nasm

wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
tar xvf nasm-2.13.03.tar.gz
cd nasm-2.13.03
./configure
make && sudo make install

(5)X264

wget http://mirror.yandex.ru/mirrors/ftp.videolan.org/x264/snapshots/last_x264.tar.bz2
bunzip2 last_x264.tar.bz2
tar -vxf last_x264.tar
cd last_x264
./configure --enable-static --enable-shared --disable-asm --disable-avs
make && sudo make install

4.編譯FFMpeg

(1)配置需要的功能

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-small --arch=x86_64 --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-filter=delogo --enable-debug --disable-optimizations --enable-shared
make && sudo make install

–prefix=/usr/local/ffmpeg 表示安裝的路徑到/usr/local/ffmpeg
<1>出現的錯誤 ERROR: libfdk_aac not found
可能剛剛安裝libfdk_acc的時候make install 命令沒有執行,重新執行一遍
<2>make install 成功之後,無法運行ffplay ./ffplay: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
此時需要動態鏈接庫一下

vi /etc/ld.so.conf
加入:/usr/local/ffmpeg/lib
執行:ldconfig

<3>ffplay 不能播放 Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

可以參考http://blog.sina.com.cn/s/blog_61bc01360102wmx4.html

  sudo apt-get install libx11-dev
     sudo apt-get install xorg-dev
 重新進入SDL的目錄,make clean然後重新編譯安裝

5.配置環境變量(可選)

vi /etc/profile

加入以下內容:

FFMPEG=/usr/local/ffmpeg

PATH加入:PATH=$PATH:$FFMPEG/bin
使修改立即生效

source /etc/profile

功能測試:

1.錄製一段屏幕

 ffmpeg -f fbdev -i /dev/fb0 -r 10 out.yuv

-f 指定錄製的設備,如何知道自己是什麼錄製設備,使用ffmpeg -devices查詢,其中DE就是錄製的設備
-i 執行錄製設備的地址
-r 執行幀率
out.yuv 最後保存的文件名
2.播放這個視頻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章