Какви са разликите и приликите между 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-situation.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.

След това Libav преименува своето bizarro ffmpeg на avconv, за да се дистанцира от проекта FFmpeg. По време на преходния период се показва съобщението, че вече не е разработено, за да каже на потребителите да започнат да използват avconv вместо тяхната фалшива версия на ffmpeg. Това обърка потребителите да си помислят, че FFmpeg (проектът) е мъртъв, което не е вярно. Лош подбор на думи, но не мога да си представя, че Libav не очаква такъв отговор от обикновените потребители.

Това съобщение беше премахнато нагоре по веригата, когато фалшивият ffmpeg най-накрая беше премахнат от източника на Libav.

През юни 2012 г. съобщението беше преформулирано в Ubuntu за пакет libav - 4:0.8.3-0ubuntu0.12.04.1. За съжаление новото отхвърлено съобщение предизвика допълнително объркване на потребителите.

Започвайки с Ubuntu 15.04 Vivid Vervet, ffmpeg на FFmpeg се връща в хранилищата.

либав срещу либав

За да усложни още повече нещата, 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