溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ffmpeg缺少libx264依賴的解決方法

發(fā)布時(shí)間:2020-05-29 20:20:25 來源:億速云 閱讀:1600 作者:鴿子 欄目:系統(tǒng)運(yùn)維

使用如下命令推流時(shí):

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

可能會(huì)出現(xiàn)如下錯(cuò)誤:

Unknown encoder 'libx264'

即,缺少libx264庫,需要安裝該庫:

  1. git clone git://git.videolan.org/x264.git

  2. cd x264

  3. ./configure --enable-static --enable-share --disable-asm

  4. make

  5. sudo make install

需要重新編譯安裝ffmpeg

  1. 配置ffmpeg時(shí),加上x264,如:

./configure --enable-gpl --enable-libx264

  1. make clean

  2. make

  3. make install

此時(shí),輸入ffmpeg時(shí),可能會(huì)出現(xiàn)錯(cuò)誤:

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


修改ld.so.conf文件

  1. $ sudo vi /etc/ld.so.conf

  2. 修改如下

include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib       ///usr/local/ffmpeg 目錄是我ffmpeg安裝目錄,根據(jù)你的安裝目錄改吧

  1. 使之生效

$ sudo ldconfig


為 Ffmpeg 加入環(huán)境變量
vi /etc/profile
加入以下內(nèi)容:
export PATH="/usr/local/ffmpeg/bin:$PATH"

然后保存并運(yùn)行source /etc/profile

若還提示缺少libx264,則需要進(jìn)到編譯ffmpeg目錄,使用如下命令推流:

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

###222222

一、問題原因分析
二、下載xlib264庫
下載x264庫
git clone git://git.videolan.org/x264.git

進(jìn)入到庫目錄下
cd x264

配置x264
./configure --enable-shared --enable-static --disable-asm

編譯執(zhí)行
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

編譯執(zhí)行
sudo make clean && make && sudo make install

四、修改配置文件
在/etc/ld.so.conf文件中添加一行/etc/ld.so.conf,當(dāng)然是用root用戶啦。然后執(zhí)行l(wèi)dconfig命令使得剛才的修改生效,完了再運(yùn)行ffmpeg的轉(zhuǎn)碼命令試試,可以了吧。

####################33333333333333333333333
在安裝ffmpeg時(shí),執(zhí)行完
./configure--enable-libx264 --enable-gpl --disable-yasm --prefix=/usr/local/ffmpeg

make

都沒有錯(cuò)誤

但是在向rtmp服務(wù)器推流的時(shí)候

./ffmpeg -re -i /media/jxs2.rmvb -vcodec libx264 -f flv"rtmp://192.168.5.200:1935/live/a2"

出現(xiàn)以下錯(cuò)誤

./ffmpeg: error while loading shared libraries: libx264.so.138: cannot open shared object file: No such file or directory

解決方法:

  1. 查看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文件

  1. 執(zhí)行?ldconfig

  2. 重新推流,問題解決
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI