Как установить последние библиотеки разработки FFmpeg в моем ubuntu?

6

Я собираюсь установить FFmpeg 2.0.1 (последняя версия) в своем Ubuntu. У меня уже установлены более старые библиотеки разработчиков в моей системе. В предыдущей установке я не создавал их из исходного кода. Я использовал «Менеджер пакетов Synaptic».
Может ли кто-нибудь помочь мне со следующими проблемами:

  1. Почему диспетчер пакетов Synaptic не показывает последние версии, поэтому я могу легко обновить их? Могу ли я что-то сделать, чтобы исправить это?
  2. Как я могу найти версию библиотек, которые уже установлены в моей системе? (Я точно знаю, что это более старая версия, но я хочу знать номер версии).
  3. Я пытаюсь удалить более старую версию ENTIRELY и снова установить новые библиотеки из источника. Кто-нибудь может мне с этим помочь?
задан jsp99 12.09.2013 в 13:16
источник

2 ответа

4

Почему диспетчер пакетов Synaptic не показывает последние версии?

Из Ubuntu Wiki - стабильные версии обновлений :

  

Как только выпуск Ubuntu будет завершен и опубликован, обновления для него будут выпущены только при определенных обстоятельствах и должны следовать специальной процедуре, называемой «стабильным выпуском обновления» или SRU.

Это означает, что пакеты часто не обновляются в актуальном состоянии с активными восходящими источниками.

Можно ли что-то сделать, чтобы исправить?

Вы можете скомпилировать и установить свою собственную последнюю версию ffmpeg и ее библиотек, следуя пошаговому руководству: Компилировать FFmpeg on Ubuntu, Debian или Mint . Это руководство выполняет локальную установку, поэтому оно не будет мешать пакетам репозитория или системным файлам, но если вы компилируете что-то, что зависит от новых библиотек, вам может потребоваться указать, где находятся ваши новые библиотеки ffmpeg.

Если вы компилируете много программ или нуждаетесь в нескольких более свежих пакетах, чем тот, который предоставляется, то Ubuntu может быть не самым эффективным дистрибутивом для вас в конечном итоге.

Как я могу найти версию библиотек, которые уже установлены в моей системе?

Основная версия присутствует в имени пакета, например libavcodec53 .

Я пытаюсь удалить более старую версию ENTIRELY и снова установить новые библиотеки из источника.

Если вы хотите выполнить системную установку, которая заменяет пакет ffmpeg или libav-tools и / или библиотеки, вы можете просто удалить существующие пакеты, затем скомпилировать ffmpeg, а затем установить в систему с помощью checkinstall или какого-либо другого метода. См. Эту старую версию ранее упомянутого руководства, которая делает все это, но имейте в виду, что она устарела и, по крайней мере, вам может потребоваться добавить --extra-libs=-ldl в вашу строку конфигурации ffmpeg.

Если вы хотите выполнить локальную установку, следуйте текущей версии руководства по компиляции.

Имена пакетов с ошибками

Вы должны знать, что так называемый «ffmpeg» из репозитория на самом деле не из FFmpeg, а из вилки, называемой libav. См. Кто может сказать мне разницу и связь между ffmpeg, libav и avconv?

    
ответ дан LordNeckbeard 12.09.2013 в 20:04
источник
1

Этот ответ должен помочь новичкам установить с ними последние библиотеки разработки FFmpeg и WORK . Я узнал это с трудом, что установка библиотеки разработки - это только начало. Реальная сложная часть состоит в том, чтобы скомпилировать (с соответствующими флагами) и сделать исполняемый файл (успешно!) Из исходного файла.

Процедура в приведенной выше ссылке довольно проста (хотя она длительная и занимает немного времени). Вы должны скопировать команды и вставить их в свой терминал.

  • Приведенная выше процедура создает локальную установку библиотеки FFmpeg. Это статическая библиотека. По локальной установке я имею в виду, что система ничего не знает о библиотеке.

Информацию о типах библиотек и способах их использования можно найти с помощью Google. Этого достаточно, чтобы вы начали: Типы библиотек . Вы можете пропустить чтение, если вы просто заинтересованы в получении компиляции исходного кода с помощью библиотек .

  • Теперь это сложная часть. Я должен был часами, чтобы получить эту часть. Вы должны сообщить компилятору знать о вашей библиотеке FFmpeg. Вы на самом деле делаете это на следующем шаге, давая ему соответствующие флаги. Но вам нужно сделать несколько препаратов до следующего шага.
  

Скопируйте все .pc файлы из / home / jsp99 / ffmpeg_build / lib / pkgconfig и вставьте их в / usr / local / lib / pkgconfig

     

Поскольку копирование и вставка в Ubuntu не так просто, следуйте для получения инструкций.

  • Чтобы скомпилировать исходный код и сформировать исполняемый файл, введите эту команду в терминал:
  

gcc -Wall -o module1.out -I / home / jsp99 / ffmpeg_build / include    -L / home / jsp99 / ffmpeg_build / lib module1.c $ (pkg-config --cflags --libs libavformat libavcodec libswscale)

  

/ home / jsp99 - домашняя папка текущего пользователя.
module1.c - это имя моего исходного файла.
module1.out - имя файла exectable (output).

    
ответ дан jsp99 15.09.2013 в 10:11