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.播放这个视频

你可能感兴趣的:(ffmpeg)