Jakie są różnice i podobieństwa między ffmpeg, libav i avconv?

Kiedy uruchamiam ffmpeg na Ubuntu, wyświetla się:

$ 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).

Lub pokazuje (w zależności od wersji 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.

Znalazłem avconv na http://libav.org . jestem po prostu zakłopotany przez nich.

Author: Peter Mortensen, 2012-02-28

1 answers

Mylące wiadomości

[22]}te wiadomości są raczej mylące i co zrozumiałe źródłem zamieszania. Starsze wersje Ubuntu używały Libav, który jest forkiem projektu FFmpeg. FFmpeg powrócił w Ubuntu 15.04 "Vivid Vervet".

Widelec był w zasadzie nie polubownym wynikiem sprzecznych osobowości i stylów rozwoju w społeczności FFmpeg. Warto zauważyć, że opiekun Debiana / Ubuntu przeszedł z FFmpeg na Libav z powodu za udział w widelcu Libav.

The real ffmpeg vs The fake one

Przez pewien czas zarówno Libav, jak i FFmpeg rozwijały swoją własną wersję ffmpeg.

Libav zmienił nazwę na bizarro ffmpeg na avconv, aby zdystansować się od projektu FFmpeg. W okresie przejściowym wyświetlany był komunikat "not developed anymore" mówiący użytkownikom, aby zaczęli używać avconv zamiast fałszywej wersji ffmpeg. Ten zdezorientowany użytkownik myśli, że FFmpeg (projekt) jest martwy, co nie jest prawdą. Zły dobór słów, ale nie wyobrażam sobie, żeby Libav nie spodziewał się takiej odpowiedzi ze strony użytkowników.

Ta wiadomość została usunięta, gdy fałszywe "ffmpeg " zostało ostatecznie usunięte ze źródła Libav, ale, w zależności od wersji, nadal może pojawić się w Ubuntu, ponieważ źródło Libav używane przez Ubuntu pochodzi z okresu przejściowego ffmpeg-to-avconv.

W czerwcu 2012 roku, wiadomość została ponownie sformułowana dla pakietu libav - 4:0.8.3-0ubuntu0.12.04.1. Niestety nowa wiadomość "deprecated" spowodowała dodatkowe zamieszanie użytkownika.

Począwszy od Ubuntu 15.04 "Vivid Vervet", ffmpeg ffmpeg jest Z powrotem w repozytoriach ponownie.

Libav vs Libav

Aby jeszcze bardziej skomplikować sprawy, Libav wybrał nazwę, która była historycznie używana przez FFmpeg w odniesieniu do swoich bibliotek (libavcodec, libavformat, itp.). Na przykład lista dyskusyjna libav-user , do pytań i dyskusji na temat używania FFmpeg bibliotek, jest niezwiązany z projektem Libav.

Jak odróżnić

Jeśli używasz avconv, To używasz Libav. Jeśli używasz ffmpeg możesz używać FFmpeg lub Libav. Zobacz pierwszą linię na wyjściu konsoli, aby zauważyć różnicę: informacja o prawach autorskich będzie wspominać o FFmpeg lub Libav.

Po Drugie, Schematy numeracji wersji różnią się. Każda z bibliotek FFmpeg lub Libav zawiera nagłówek version.h, który pokazuje numer wersji. FFmpeg zakończy się trzema cyframi, np. 57.67.100, A Libav skończy się jedną cyfrą np. 57.67.0. Możesz również wyświetlić numery wersji biblioteki, uruchamiając ffmpeg lub avconv i przeglądając wyjście konsoli.

Jeśli chcesz użyć prawdziwego ffmpeg

Ubuntu 15.04 "Vivid Vervet" lub nowszy

Prawdziwy ffmpeg znajduje się w repozytorium, więc możesz go zainstalować za pomocą:

apt-get install ffmpeg

Dla starszych wersji Ubuntu

Twoje opcje są:

Te metody są nieinwazyjne, odwracalne i nie będą kolidować z systemem ani żadnymi pakietami repozytorium.

Inną możliwą opcją jest aktualizacja do Ubuntu 15.04 "Vivid Vervet" lub nowszego i wystarczy użyć ffmpeg z repozytorium.

Zobacz też

Ciekawy artykuł na blogu na temat sytuacji, a także dyskusja na temat głównych różnic technicznych między projektami, patrz sytuacja FFmpeg/Libav.

 412
Author: LordNeckbeard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-08 18:47:19