我如何摆脱 ffmpeg“警告:库配置不匹配”消息?

我如何摆脱 ffmpeg“警告:库配置不匹配”消息?

我一直使用avconv而没有问题,但是自从升级到 15.10 并切换到 后,我的脚本输出中ffmpeg出现警告。library configuration mismatch

这是我为 iPod 和 Fiio X5 Mk2 翻录 CD 的命令。

#!/bin/bash

cdparanoia -Bv
for f in ./*.wav; do avconv -i "$f" -acodec alac "${f%.*}.m4a"; done
eject
ls

当我替换avconv为时,ffmpeg我现在看到WARNING: library configuration mismatch输出的中间:

ffmpeg version 2.7.3-0ubuntu0.15.10.1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
  configuration: --prefix=/usr --extra-version=0ubuntu0.15.10.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.15.10.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265 --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
Guessed Channel Layout for  Input Stream #0.0 : stereo
Input #0, wav, from './track01.cdda.wav':
  Duration: 00:02:36.20, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
Output #0, ipod, to './track01.cdda.m4a':
  Metadata:
    encoder         : Lavf56.36.100
    Stream #0:0: Audio: alac (alac / 0x63616C61), 44100 Hz, stereo, s16p, 128 kb/s
    Metadata:
      encoder         : Lavc56.41.100 alac
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> alac (native))
Press [q] to stop, [?] for help
size=   16226kB time=00:02:36.22 bitrate= 850.9kbits/s   
video:0kB audio:16219kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.046357%

检查其他网站表明我已经安装了ffmpeg早期版本的 Ubuntu,这avconv是默认版本,但这里并非如此。

有人可以为我提出解决办法吗?

答案1

要解决此问题,请删除以下包:

sudo apt remove libavcodec-ffmpeg-extra56

Apt 将删除该包并将其替换为,libavcodec-ffmpeg56从而ffmpeg不再输出警告信息。

有关libavcodec-ffmpeg-extra56包的详细信息以及为什么可能不需要它,请参阅:https://askubuntu.com/a/847566/8570

答案2

添加对我个人有用的方法(Ubuntu 20.10),因为这是搜索此错误时的第一个结果之一,并且在过去的几天里它一直让我很生气:

sudo apt install --reinstall libavcodec58 libavdevice58 libavfilter7 libavformat58 libavresample4 libavutil56 libpostproc55 libswresample3 libswscale5

我甚至不需要重新安装 FFmpeg。

答案3

在 Ubuntu 18.04 上:

sudo apt remove libavcodec-extra57

答案4

这是因为你从 ffmpeg 源构建的库和系统中的库(/usr/lib/ 或 /usr/local/lib/)存在冲突。因此

find . -name "avcodec"

如果 libavcodec.so.* 位于 /usr/local/lib、/usr/lib/、/usr/lib/x86_64-linux-gnu 或 /usr/lib/i386-linux-gnu,请将其替换为从 ffmpeg 源构建的库并创建软链接。

cp -r /the/path/to/ffmpeg/build/lib/* /usr/local/lib/
sudo ln -s /usr/local/lib/libavcodec.so.59.18.100 /usr/local/lib/libavcodec.so.59

相关内容