В чем различия и сходства между ffmpeg, libav и avconv?

Когда я запускаю ffmpeg в Ubuntu, он показывает:

$ ffmpeg 
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
  built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).

Или показывает (в зависимости от версии Ubuntu):

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

Я нашел avconv на http://libav.org. Я просто озадачен ими.


person why    schedule 28.02.2012    source источник
comment
Это означает, что вы вводите неправильные аргументы командной строки.   -  person Dipan Mehta    schedule 28.02.2012
comment
Что ты пытаешься сделать? ffmpeg - это в основном библиотека, а основная ffmpeg командная строка больше предназначена для демонстрации ее возможностей (хотя не имеет значения, что вы используете, если это помогает). Если вы хотите использовать только как команду, существует множество приложений, которые используют ffmpeg для выполнения ваших задач.   -  person Dipan Mehta    schedule 28.02.2012
comment
Полезное объяснение всей сделки можно найти на blog.pkh. me / p / 13-the-ffmpeg-libav-position.html   -  person Tronic    schedule 09.12.2012
comment
Я не могу рассказать вам все отличия, но: avconv -ss 00:01:42 -t 00:00:32 -i sourcefilename -acodec copy targetfilename не работает, а ffmpeg -ss 00:01:42 -t 00:00 : 32 -i sourcefilename -acodec copy targetfilename работает должным образом, даже если документация совпадает   -  person    schedule 29.07.2013


Ответы (1)


Либав мертв

Последняя фиксация произошла 21 августа 2019 г. Используйте FFmpeg.

Сбивающие с толку сообщения

Сообщения, упомянутые в вопросе, скорее вводят в заблуждение и по понятным причинам являются источником путаницы.

Форк был в основном недружелюбным результатом конфликта личностей и стилей разработки в сообществе FFmpeg.

Настоящий ffmpeg против поддельного

Некоторое время Libav и FFmpeg по отдельности разрабатывали свою собственную версию ffmpeg.

Затем Либав переименовал своих причудливых ffmpeg в avconv, чтобы дистанцироваться от проекта FFmpeg. В течение переходного периода было отображено сообщение «Больше не разработано», предлагающее пользователям начать использовать avconv вместо их поддельной версии ffmpeg. Это сбило пользователей с толку, и они подумали, что FFmpeg (проект) мертв, что не соответствует действительности. Плохой подбор слов, но я не могу представить, чтобы Либав не ожидал такой реакции со стороны обычных пользователей.

Это сообщение было удалено из апстрима, когда поддельный ffmpeg был окончательно удален из источника Libav.

В июне 2012 года сообщение было изменено в Ubuntu. за пакет libav - 4:0.8.3-0ubuntu0.12.04.1. К сожалению, новое устаревшее сообщение вызвало дополнительную путаницу у пользователей.

Начиная с Ubuntu 15.04 Vivid Vervet, ffmpeg FFmpeg возвращается в репозитории.

libav против Libav

Чтобы еще больше усложнить ситуацию, Libav выбрал имя, которое исторически использовалось FFmpeg для обозначения своих библиотек (libavcodec, libavformat и т. Д.). Например, список рассылки libav-user для вопросов и обсуждений использования FFmpeg библиотеки, не имеет отношения к проекту Libav.

Как отличить

Если вы используете avconv, значит, вы используете Libav. Если вы используете ffmpeg, вы можете использовать FFmpeg или Libav. Обратитесь к первой строке вывода консоли, чтобы увидеть разницу: в уведомлении об авторских правах будет упоминаться либо FFmpeg, либо Libav.

Во-вторых, различаются схемы нумерации версий. Каждая из библиотек FFmpeg или Libav содержит заголовок version.h, который показывает номер версии. FFmpeg будет заканчиваться тремя цифрами, например 57,67. 100, а Libav будет заканчиваться одной цифрой, например 57,67. 0. Вы также можете просмотреть номера версий библиотеки, запустив ffmpeg или avconv и просмотрев вывод консоли.

Также см

Для получения интересной статьи в блоге о ситуации, а также обсуждения основных технических различий между проектами см. Ситуация с FFmpeg / Libav.

person llogan    schedule 28.02.2012
comment
похоже, это личная проблема - person mirza; 07.06.2012
comment
Если даже после установки настоящего ffmpeg вы не можете заставить его работать. Вам следует удалить стандартный ffmpeg, поставляемый с ubuntu как libav-tools, см .: askubuntu.com/questions/162740 / how-do-i-uninstall-ffmpeg. - person user568109; 16.09.2013
comment
@ user568109 Это зависит от того, как вы установили ffmpeg. См. Как скомпилировать FFmpeg в Ubuntu, Debian или Mint или просто используйте Сборка Linux ffmpeg. Любой из этих методов должен работать, если также установлен пакет репозитория. - person llogan; 16.09.2013
comment
Я собрал ffmpeg, но при запуске ffmpeg с терминала работал тот, который был отправлен по умолчанию, и выполнение apt-get remove ffmpeg не удалило его. Поэтому я оставил сообщение для тех, кто застрял в этой проблеме, просто чтобы прояснить путаницу. Он поставляется как libav-tools. - person user568109; 16.09.2013
comment
Похоже, что в сообществе разработчиков ПО с открытым исходным кодом необходима какая-то система товарных знаков, чтобы избежать подобных ситуаций !!! - person rkachach; 20.02.2019
comment
Дополнительное примечание: Libav отказался включать какие-либо изменения из FFmpeg, но FFmpeg был полностью счастлив принять исправления Libav, поэтому FFmpeg обычно был лучшим программным обеспечением. - person OrangeDog; 28.01.2021
comment
Также кажется, что Libav мертв (последняя фиксация в августе 2019 г.), а FFmpeg продолжает активную разработку. - person OrangeDog; 28.01.2021