Вопрос или проблема
При попытке привести в порядок старые файлы с помощью sudo apt-get autoremove
я испортил установку ffmpeg на Ubuntu 17.10. Я попытался удалить ffmpeg с помощью sudo apt-get remove ffmpeg
, а затем установить чистую версию с помощью sudo apt-get install ffmpeg
, но я все равно получаю следующие ошибки, когда запускаю сценарий оболочки с использованием ffmpeg – раньше все работало нормально.
ПРЕДУПРЕЖДЕНИЕ: несоответствие конфигурации библиотеки
9867 Ошибка сегментации (дамп ядра) ffmpeg -y -i “$file”
-vcodec libx264 -level 41 -crf 20 -acodec aac -ab 128k -ar 48000 “${file%.avi}.mp4”
Я предполагаю, что удалил некоторые критические зависимости, может кто-нибудь помочь мне снова заставить работать ffmpeg? Спасибо.
Вот полный вывод:
ffmpeg version 3.3.4-2 Copyright (c) 2000-2017 разработчики FFmpeg
собран с помощью gcc 7 (Ubuntu 7.2.0-8ubuntu2)
конфигурация: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --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-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
ПРЕДУПРЕЖДЕНИЕ: несоответствие конфигурации библиотеки
avutil конфигурация: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --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-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
avcodec конфигурация: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --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-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-netcdf
swscale конфигурация: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --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-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
swresample конфигурация: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --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-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 58.100 / 55. 78.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 8.100
libswresample 2. 7.100 / 2. 9.100
libpostproc 54. 5.100 / 54. 5.100
У вас включен PPA для старой версии Ubuntu. Попробуйте следующее:
sudo apt remove ffmpeg
sudo apt install ppa-purge
sudo ppa-purge ppa:jonathonf/ffmpeg-3
sudo apt update
sudo apt install ffmpeg
Если у вас все еще возникли проблемы, проверьте, есть ли у вас дополнительные вмешивающиеся PPA:
ls /etc/apt/sources.list.d
Ответ или решение
Ошибка конфигурации библиотеки FFmpeg: Причины и Решения
Ошибки при работе с FFmpeg могут быть как следствием неправильной установки, так и результатом вмешательства сторонних репозиториев, содержащих устаревшие версии библиотек. Вы столкнулись с проблемой "WARNING: library configuration mismatch" после попытки очистки старых пакетов на Ubuntu 17.10. В этом руководстве мы рассмотрим причины возникновения данной ошибки и предложим способы её устранения.
Причины возникновения ошибки
-
Несоответствие версий библиотек: Ваша система может иметь несколько версий библиотек, которые не совместимы друг с другом. Это часто происходит, если используются сторонние PPA-репозитории, где версии FFmpeg и его зависимостей могут отличаться от тех, что предлагает стандартный репозиторий Ubuntu.
-
Удаление зависимостей: Некоторые пакеты, которые ранее были установлены и использовались FFmpeg, могут быть удалены командой
sudo apt-get autoremove
. Если эти библиотеки не были установлены заново, это может привести к сбоям. -
Ошибки во время переустановки: Неправильная переустановка FFmpeg может не затронуть все необходимые библиотеки или их конфигурации, что также приводит к конфликтам.
Шаги для решения проблемы
Для решения вашей проблемы выполните следующие шаги:
-
Удаление текущей версии FFmpeg:
sudo apt-get remove ffmpeg
-
Установка утилиты ppa-purge: Это позволит удалить PPA-репозиторий и любые пакеты, установленные из него:
sudo apt install ppa-purge
-
Очистка PPA: Чтобы исключить влияние устаревших репозиториев из вашего окружения:
sudo ppa-purge ppa:jonathonf/ffmpeg-3
-
Обновление списка пакетов:
sudo apt update
-
Установка FFmpeg из стандартного репозитория Ubuntu:
sudo apt install ffmpeg
-
Проверка других PPA: Возможно, другие сторонние репозитории могут вызывать конфликты. Вы можете просмотреть список PPA с помощью команды:
ls /etc/apt/sources.list.d
Если там присутствуют нежелательные PPA, их нужно удалить. Это можно сделать следующей командой:
sudo add-apt-repository --remove <ppa:name>
Дополнительные проверки
После выполнения перечисленных шагов рекомендуется проверить работоспособность FFmpeg. Для этого выполните команду:
ffmpeg -version
Убедитесь, что вывод соответствует установленной версии без предупреждений о несовпадении конфигурации.
Заключение
Следуя предложенным шагам, вы сможете устранить проблему с конфигурацией библиотек FFmpeg и вернуть его к работоспособному состоянию. Если ошибка не исчезнет, возможно, потребуется выполнить более глубокую диагностику системы или рассмотреть альтернативные методы установки, такие как использование Docker или компиляция FFmpeg из исходников.