项目中需要使用ffmpeg进行视频的编码, linux服务器编译ffmpeg之前首先要编译x264, 见这个编译libx264(window 则不需要安装x264,因为默认已安装)
如果已经安装过ffmpeg 可直接安装libx264 后然后重新编译安装ffmpeg 从第2步开始
1.libx264源码make安装
git clone https://code.videolan.org/videolan/x264.git
cd x64
./configure --prefix=/usr/local/x264 --enable-shared --enable-static --disable-asm
make&&makeinstall
说明: /usr/local/x264是libx264安装地址 如果不设置--prefix 参数则默认安装到 /usr/local/lib下 并在 /usr/local/bin下硬连接 运行脚本
2.ffmpeg 我用的是4.0.2 其他版本读者可自测
可从 git发布版本 地址 https://github.com/FFmpeg/FFmpeg/releases 下载对应版本号
1 解压后进入目录
./configure --enable-shared -enable-libx264 --enable-gpl --extra-cflags=-I/usr/local/x264/include--extra-ldflags=-L/usr/local/x264/lib --prefix=/usr/local/ffmpeg
2如果第二步骤报错:yasm/nasm not found or too old..... (未报错请略过此步骤)
需要安装新的ysam
下载链接:http://yasm.tortall.net/Download.html
tar -xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make
make install
完成后,再执行第二步(需要回到ffmpeg文件夹)
3.安装ffmpeg
make
make install
安装完后,
动态链接库
vim /etc/ld.so.conf
增加两行(其实网上很多说只要增加第一行就行了)
/usr/local/ffmpeg/lib ///usr/local/ffmpeg 目录是我ffmpeg安装目录,根据你的安装目录改吧
/usr/local/x264/lib ///usr/local/x264 目录是我x264安装目录,根据你的安装目录改吧
执行ldconfig
然后通过ffmpeg 默认命令直接生成MP4即可,无需 添加参数 -vcodec libx264 否则会报错
参考 https://blog.csdn.net/lixinglaing/article/details/93979928