2

Я работаю с некоторыми приложениями, основанными на gstreamer, и с некоторыми другими вещательными вещами, и у меня возникла путаница: в чем разница между libav и ffmpeg?

Я не нашел объяснения, что они и чем они отличаются. Еще больше у одного есть инструмент под названием ffmpeg, в то время как у другого тоже есть то же самое. Также даже те логотипы проекта одинаковы. И что еще хуже, даже внешнее приложение, которое использует их, неправильно называет их, смешайте их (gstreamer-0.10 относится к ffmpeg, а gstreamer-1.0 относится к libav).

Есть ли простой способ узнать, какая библиотека действительно нужна и используется приложением? Есть ли какая-то техническая (неполитическая чепуха лицензий на ПО) причина, по которой проекты расходятся, и я должен знать, когда мне следует с ними работать?

Обновление: кто-то в комментариях разместил ссылки на вопросы, связанные с историей обеих библиотек и полезной информацией. Однако я сомневаюсь, что мой вопрос точно повторяется:

  1. Я прошу сам метод обнаружить библиотеки.
  2. Список или что-то в этом роде, предостережения или даже намеки на то, как библиотеки отличаются друг от друга, а не на мнение, которое лучше, а также на то, как сообщества лицензирования отличаются друг от друга.

1 ответ1

7

Давным-давно был проект под названием FFmpeg. Проект FFmpeg создал программу под названием ffmpeg . В какой-то момент в начале проекта было решено, что FFmpeg настолько сложен, что его следует разбить на более мелкие библиотеки, чтобы другие могли использовать их в своих приложениях. Эти библиотеки стали известны как libav *. Они включают в себя livavformat, libavcodec, libavutil и другие. Приложение ffmpeg было просто способом взаимодействия с этими библиотеками через командную строку.

В какой-то момент некоторым авторам FFmpeg не понравилось то, как был организован проект (я думаю, что им нужно больше выпусков с меньшим значением для стабильности и обратной совместимости, но я могу ошибаться), поэтому они расстались. Они начали исправлять несовместимые API, добавлять новые кодеки и т.д. Они выпустили интерфейс CLI под названием avconv для замены исполняемого файла ffmpeg . Было сломано много программного обеспечения, которое ожидало увидеть ffmpeg в системе. поэтому исполняемый файл avconv был переименован в ffmpeg .

Теперь проект Libav хорошо работал с библиотеками libav *. Таким образом, проект FFmpeg начал включать изменения, сделанные Libav. Таким образом размытие линий немного больше.

Итак, чтобы ответить на ваш вопрос. Вам не нужно много думать о политике, но некоторые команды /API могут немного отличаться между ними. Это не должно быть слишком большой проблемой, как бы то ни было. Вы можете просто думать о разных версиях одной и той же вещи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .