Bootstrap

ffmpeg支持libx264和libx265的安装方法

FFmpeg系列



前言

使用如下命令推流时:

ffmpeg -re -i a.mp4 -vcodec libx264 -acodec aac -f flv rtmp://172.31.102.165:1935/myapp

如果出现错误:Unknown encoder ‘libx264’,提示缺少libx264库,需要安装该库。

安装x264

git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-static --enable-share --disable-asm
make
sudo make install

安装x265

缺少libx265库,需要安装该库:

https://github.com/videolan/x265.git

重新编译ffmpeg

需要重新编译安装ffmpeg
配置ffmpeg时,加上x264,如:

./configure --enable-gpl --enable-libx264 --enable-libx265
make clean
make
make install

此时,输入ffmpeg时,可能会出现错误:

ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory

修改ld.so.conf文件

$ sudo vi /etc/ld.so.conf

修改如下

include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib ///usr/local/ffmpeg 目录是我ffmpeg安装目录,根据你的安装目录改吧

使之生效

$ sudo ldconfig

为 FFmpeg 加入环境变量

vi /etc/profile

加入以下内容:

export PATH="/usr/local/ffmpeg/bin:$PATH"

然后保存并运行source /etc/profile

若还提示缺少libx264,则需要进到编译ffmpeg目录,使用如下命令推流:

./ffmpeg -re -i a.mp4 -vcodec libx264 -acodec aac -f flv rtmp://172.31.102.165:1935/myapp

修改配置文件

用root用户在/etc/ld.so.conf文件中添加一行/etc/ld.so.conf,当然是用root用户啦。然后执行ldconfig命令使得刚才的修改生效,完了再运行ffmpeg的转码命令试试

;