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
makesudomakeinstall
安装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
一、问题原因分析
二、下载xlib264库
下载x264库
git clone git://git.videolan.org/x264.git
进入到库目录下
cd x264
配置x264
./configure --enable-shared --enable-static --disable-asm
编译执行
make && sudo make install
三、重新编译安装ffmpeg
需要重新编译安装ffmpeg
下载ffmpeg :
下载方式一:
wget https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2
解压 : tar jxvf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
下载方式二(这种用git的方式下载速度有些慢):
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
配置ffmpeg
./configure --enable-gpl --enable-libx264
编译执行
sudo make clean && make && sudo make install
四、修改配置文件
在/etc/ld.so.conf文件中添加一行/etc/ld.so.conf,当然是用root用户啦。然后执行ldconfig命令使得刚才的修改生效,完了再运行ffmpeg的转码命令试试,可以了吧。
####################33333333333333333333333
在安装ffmpeg时,执行完
./configure–enable-libx264 --enable-gpl --disable-yasm --prefix=/usr/local/ffmpeg
make
都没有错误
但是在向rtmp服务器推流的时候
./ffmpeg -re -i /media/jxs2.rmvb -vcodec libx264 -f flv"rtmp://192.168.5.200:1935/live/a2"
出现以下错误
./ffmpeg: error while loading shared libraries: libx264.so.138: cannot open shared object file: No such file or directory
解决方法:
查看ld.so.conf文件
vi /etc/ld.so.conf
添加/usr/local/x264/lib,如下
include ld.so.conf.d/*.conf
/usr/local/x264/lib
wq退出ld.so.conf文件
执行?ldconfig
重新推流,问题解决
总结
版权归原作者 武魂殿001 所有, 如有侵权,请联系我们删除。