Jak zamienić avconv na (prawdziwy) ffmpeg i mieć pewność, że działa poprawnie?

27

AKTUALIZACJA (oryginalny tekst zachowany poniżej)

Ponieważ prawdziwy ffmpeg ma zamiar powrócić (w 15.04), PPA Jona Severinssona już nie działa (dla ffmpeg), zarówno avconv-ffmpeg (teraz nazywany „ libav ”), jak i prawdziwy ffmpeg (teraz z powrotem tylko „ ffmpeg ”) spadły z w wersjach tymczasowych pojawiło się pytanie: jak najłatwiej zainstalować ffmpeg w dystrybucjach sprzed 2015 roku?

/AKTUALIZACJA

Czy ktoś wie, jak zainstalować prawdziwą, aktualną wersję ffmpeg (nie starszą wersję avconv, która jest dostarczana z Ubuntu) bez problemów wymienionych tutaj ?

Powody:

  • Wszystko działa (lub tak wiele napisało),
  • Użyj nowej składni i
  • Po kilku badaniach - i nie wchodząc w kontrowersje - po prostu wierzę, że pakujący popełniali błąd, idąc z avconv. To jest poprawka.

Najwyraźniej nie jest to tak łatwe, jak powinno być, ze względu na konflikty wersji i że avconv i ffmpeg nie mogą współistnieć na tym samym komputerze (odnotowano w zaakceptowanej odpowiedzi powyższego linku). Chociaż przynajmniej jeden przewodnik wspomina o instalacji ffmpeg lokalnie (~) w celu osiągnięcia koegzystencji.

Moje wydanie to Precise 12.04.3 LTS, ale wydaje się, że dotyczyłoby to także nowszych.

u2n
źródło
3
Czy widziałeś jak skompilować FFmpeg na Ubuntu ? Nie powoduje konfliktu z żadnymi śmieciami libav z repozytoriów.
llogan
1
Proponuję przeformułować nieco „uzasadnienie”. Wygląda na to, że sugerujesz, że zakładana wyższość ffmpeg nad avconv jest faktem i że użytkownicy Ubuntu mają kłopoty, ponieważ repozytorium ma zepsute oprogramowanie. Może to wprowadzić w błąd i wystraszyć niektórych początkujących użytkowników. Mam nadzieję, że zrozumiesz mój punkt widzenia, ponieważ wydaje się, że zgadzasz się, że lepiej nie wdawać się w „kontrowersje”.
Andrea Lazzarotto,
1
@Brad Uważam, że nie należy straszyć nowych użytkowników, pozwalając im myśleć, że zepsuli oprogramowanie i że muszą je „naprawić”.
Andrea Lazzarotto,
1
@AndreaLazzarotto Nikt nie próbuje nikogo przestraszyć. W pytaniu jest opinia, która jest konkretnie powołana jako jedna. Ta opinia jest ważną częścią pytania.
Brad,
1
Cześć wszystkim, dziękuję za komentarze. Ponieważ fałszywa wersja ffmpeg avconv została usunięta ze wszystkich najnowszych wydań, nie ma już nic do odinstalowania (i nie ma już więcej kontrowersji: ^). Jon Severinsson regularnie aktualizuje swój ppa, więc prawdziwy ffmpeg działa - łatwa instalacja i aktualizacje. Ten post będzie na razie służył jako aktualizacja. (
Wykona

Odpowiedzi:

25

Zaktualizowana odpowiedź dla wydań sprzed 2015 roku

Ponieważ nikt nie utrzymuje ppa typu all-inclusive, takiego jak Jon Severinsson, metoda użycia statycznej wersji Rmano jest teraz najłatwiejsza. Uwaga aktualizacje muszą być sprawdzone i wykonane ręcznie.

  1. Po przejściu na oficjalną stronę pobierania ffmpeg kliknij link w obszarze Linux Static Builds . (Cel może się zmienić, więc nie jest tutaj bezpośrednio powiązany).
  2. Kliknij odpowiednią wersję (32- lub 64-bitową) i żądaną (migawkę lub numerację), aby pobrać. (Migawka jest zalecana.)
  3. Jeśli zainstalowano wersję favmpeg libav, usuń ją. Obie nie mogą znajdować się na tej samej maszynie. Jeśli libav nie był wcześniej zainstalowany, przejdź do 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Wyodrębnij pliki (i dwa katalogi) w następujący sposób:

    • W przypadku systemów dla jednego użytkownika: do $ HOME / bin
    • W przypadku konfiguracji dla wielu użytkowników: do / usr / local / bin

Instalacja kompilacji statycznej jest zakończona i ffmpeg jest gotowy do użycia.

Aby zaktualizować: Po sprawdzeniu i znalezieniu nowszej wersji folder instalacyjny można posortować według daty, a istniejące pliki wersji można szybko zidentyfikować i usunąć. (Wszystkie znaczniki czasu będą takie same jak plik binarny ffmpeg). Następnie aktualizację można pobrać i rozpakować tak samo, jak we wcześniejszej wersji.

Jeśli kompleksowe repozytorium ffmpeg ponownie się pojawi, instaluje się tak jak poprzednio:

# Replace avconv with the real ffmpeg
#   www.askubuntu.com/a/373509/165265
#
sudo add-apt-repository ppa:<name of ppa here>
sudo apt-get update
sudo apt-get install ffmpeg

Po powrocie prawdziwej wersji ffmpeg do wersji 2015 i późniejszych, konieczność obejścia tego problemu w końcu zniknie.

Ogromna wdzięczność dla społeczności za pomoc.

u2n
źródło
4
Uff Dzięki. avconv wydaje się bardzo podobny do ffmpeg, ale wydaje się, że ma kilka różnych flag. Nie, dziękuję. FFMPEG działa świetnie. Jedynym powodem, dla którego mogę pomyśleć o zmianie Ubuntu, jest jakiś powód polityczny. Zapomnij o tym hałasie. ffmpeg ftw!
James T Snell
1
sudo apt-get dist-upgradeLinia wydaje mi się zbędne dla celów niniejszego postu. Większość ludzi, którzy próbują zainstalować ffmpeg, prawdopodobnie nie chce wywołać aktualizacji dystrybucji jako efekt uboczny.
cxrodgers
@cxrodgers, absolutnie słuszne. Napraw teraz, dzięki.
u2n
1
Być może zechcesz zaktualizować tę odpowiedź teraz, gdy nie ma już PPA jona-severinssona: stackoverflow.com/questions/29585700/…
cxrodgers
1
Symlinkowanie powinno wskazywać, aby /usr/local/binzapobiec potencjalnym konfliktom z dowolnych pakietów repo, które dostarczają nazwane pliki; zwłaszcza z pakietu libav-tools qt-faststarti faux „ ffmpeg” dla 12.04 i starszych. Ponadto inni użytkownicy mogą nie mieć odpowiednich uprawnień do wykonywania czegokolwiek u innego użytkownika ~/bin(ale nie badałem tego). Wreszcie, myślę, że całą sekcję „/ UPDATE” z tej odpowiedzi można usunąć: jest nieaktualna (brak PPA) i nie ma już większego znaczenia.
llogan
7

Nie miałem problemu z użyciem kompilacji statycznej dostarczonej przez projekt FFmpeg. Są linki w http://ffmpeg.org/download.html

Pobierz potrzebną wersję / kompilację (32- lub 64-bitową), a następnie umieść plik wykonywalny w swoim $PATH(na przykład ~/bin). Jeśli jest umieszczony ~/bin, możesz się wylogować, a następnie zalogować się ponownie lub po prostu uruchomić . ~/.profile, aby powłoka rozpoznała, że ​​jest w $PATH. Teraz możesz po prostu wejść ffmpegi zostanie użyta nowa wersja statyczna.

Na przykład:

% wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
% tar xJvf ffmpeg-git-64bit-static.tar.xz
% cd ffmpeg-git-20150427-32bit-static
% ./ffmpeg
ffmpeg version N-45164-g46778ab- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
[...]

Bycie całkowicie statycznym nie powinno mieć problemu z różnymi wersjami Linuksa (do ograniczenia, jądro nie powinno być zbyt stare).

Rmano
źródło
1
Dzięki, Rmano. Głosuję za twoją odpowiedzią, gdy tylko osiągnę magiczną liczbę. „Alternatywne”, ponieważ z tego, co przeczytałem, to właśnie to, co sprawia, że ​​kompilacje statyczne są niezawodne - mając wszystkie wbudowane zależności - czyni je również „ciężkimi” (duże i wymagające pamięci). Z tego powodu uciekałem przed wybraniem tej trasy na korzyść automatycznie zaktualizowanej wersji programu o normalnej wadze. ... Myślę, że mogę go mieć, opublikuj
wkrótce
Cóż, chociaż ogólnie jest to prawdą w przypadku statycznego pliku wykonywalnego, w tym przypadku ffmpeg nie używa graficznych ani ciężkich bibliotek ogólnych. Oczywiście masz rację, jeśli ostatecznie uruchomisz różne kopie ffmpeg.
Rmano
2
Akceptowana trasa PPA zawiera wersję 0.1, która jest zdecydowanie stara. Będziesz chciał użyć metody tej odpowiedzi, aby uruchomić wiele poleceń.
deadghost