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.
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ą:
- Pobierz najnowszą kompilację Linuksa
ffmpeg
, - wykonaj przewodnik krok po kroku, aby skompilować
ffmpeg
,
[[71]}lub użyć PPA Douga McMahona (Dla Ubuntu 14.04 LTS "zaufany Tahr")
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.
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