Come sostituire avconv con (il vero) ffmpeg e farlo funzionare correttamente?


27

AGGIORNAMENTO (testo originale conservato di seguito)

Con il vero ffmpeg in procinto di tornare (nel 15.04), il PPA di Jon Severinsson non funziona più (per ffmpeg), e sia avconv-ffmpeg (ora chiamato " libav ") che il vero ffmpeg (ora di nuovo solo " ffmpeg ") sono caduti da Rilasci intermedi, la domanda è diventata: come installare più facilmente ffmpeg nelle distribuzioni pre-2015?

/AGGIORNARE

Qualcuno sa come installare il vero, attuale ffmpeg (non la versione precedente di avconv che viene con Ubuntu) senza avere i problemi menzionati qui ?

Motivi:

  • Tutto funziona (o così tanti hanno scritto),
  • Utilizzare la nuova sintassi e
  • Dopo alcune ricerche - e senza entrare nella controversia - credo semplicemente che i packager abbiano fatto un errore andando avanti con avconv. Questa è una soluzione.

Apparentemente non è così facile come dovrebbe essere a causa di conflitti di versione e che avconv e ffmpeg non possono coesistere sullo stesso computer (indicato nella risposta accettata del post sopra collegato). Anche se almeno una guida menziona l'installazione locale di ffmpeg (~) per ottenere la coesistenza.

La mia versione è Precise 12.04.3 LTS, ma sembra che ciò si applicherebbe anche a quelli più recenti.


3
Hai visto come compilare FFmpeg su Ubuntu ? Non è in conflitto con nessuna spazzatura libav dei repository.
llogan

1
Ti suggerisco di riformulare un po 'la parte "ragioni". Sembra che tu stia insinuando che la presunta superiorità di ffmpeg su avconv sia un dato di fatto e che gli utenti di Ubuntu siano nei guai perché il repository ha software rotto. Questo potrebbe confondere e spaventare alcuni utenti alle prime armi. Spero che capirai il mio punto, dato che sembri concordare che è meglio non "entrare nella controversia".
Andrea Lazzarotto,

1
@Brad Continuo a credere che sia sbagliato spaventare i nuovi utenti lasciando che pensino che abbiano un software rotto e che debbano "ripararlo".
Andrea Lazzarotto,

1
@AndreaLazzarotto Nessuno sta cercando di spaventare nessuno. Nella domanda è un'opinione, ed è specificamente chiamata come una. Tale opinione è una parte importante della domanda.
Brad,

1
Ciao ragazzi, grazie per i commenti. Da quando la versione fcon avconv di ffmpeg è stata rimossa da tutte le ultime versioni, non c'è più nulla da disinstallare (e nemmeno più polemiche: ^). Jon Severinsson aggiorna regolarmente il suo ppa in modo che il vero ffmpeg vada avanti con installazione e aggiornamenti facili. Questo post servirà come aggiornamento qui per ora. (
Farà

Risposte:


25

Risposta aggiornata per le versioni precedenti al 2015

Poiché nessuno mantiene un ppa all-inclusive come quello di Jon Severinsson, il metodo di Rmano di utilizzare una build statica è ora più semplice. Gli aggiornamenti delle note devono essere controllati ed eseguiti manualmente.

  1. Dopo esserti diretto alla pagina di download ufficiale di ffmpeg , fai clic sul collegamento in Linux Static Builds . (Il target può cambiare, quindi non è collegato direttamente qui.)
  2. Fare clic sulla versione appropriata (32 o 64 bit) e desiderata (istantanea o numerata) per il download. (Si consiglia l'istantanea.)
  3. Se è stata installata la versione libav di ffmpeg, rimuoverla. I due non possono risiedere sulla stessa macchina. Se libav non è stato precedentemente installato, passa a 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Estrarre i file (e due directory) come segue:

    • Per sistemi a utente singolo: a $ HOME / bin
    • Per configurazioni multiutente: a / usr / local / bin

L'installazione di build statica è terminata e ffmpeg è pronto per l'uso.

Per aggiornare: dopo aver verificato e trovato una versione più recente, la cartella di installazione può essere ordinata per data e i file di versione esistenti possono essere rapidamente identificati ed eliminati. (I timestamp saranno tutti uguali al file binario ffmpeg.) L'aggiornamento può quindi essere scaricato ed estratto allo stesso modo della versione precedente.

Se dovesse ripresentarsi un repository completo ffmpeg, verrà installato come prima:

# 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

Con il vero ffmpeg che ritorna alle versioni 2015 e oltre, la necessità di questo aggiramento alla fine svanirà.

Molta gratitudine alla comunità per l'aiuto.


4
Uff. Grazie. avconv sembra così vicino a ffmpeg, ma sembra avere alcuni flag diversi. No grazie. FFMPEG funziona alla grande. L'unica ragione per cui posso pensare che Ubuntu cambi è una ragione politica. Dimentica quel rumore. ffmpeg ftw!
James T Snell,

1
La sudo apt-get dist-upgradelinea mi sembra superflua ai fini di questo post. La maggior parte delle persone che stanno provando a installare ffmpeg probabilmente non vogliono attivare un aggiornamento della distribuzione come effetto collaterale.
cxrodgers,

@cxrodgers, assolutamente giusto. Correzione ora, grazie.
u2n

1
Si consiglia di aggiornare questa risposta, ora che jon-Severinsson PPA è andato: stackoverflow.com/questions/29585700/...
cxrodgers

1
Il collegamento simbolico dovrebbe puntare a /usr/local/binprevenire potenziali conflitti da eventuali pacchetti repo che forniscono i file nominati; in particolare dal pacchetto libav-tools qt-faststarte dal falso " ffmpeg" per 12.04 e precedenti. Inoltre, altri utenti potrebbero non avere le autorizzazioni appropriate per eseguire qualsiasi cosa in un altro utente ~/bin(ma non ho studiato questo). Infine, penso che l'intera sezione "/ AGGIORNAMENTO" di questa risposta possa essere rimossa: è obsoleta (che PPA è sparita) e non contribuisce più molto.
llogan,

7

Non ho avuto problemi con l'utilizzo della build statica fornita dal progetto FFmpeg. Ci sono collegamenti in http://ffmpeg.org/download.html

Scarica la versione / build di cui hai bisogno (a 32 o 64 bit), quindi inserisci l'eseguibile nel tuo $PATH(ad esempio ~/bin). Se è inserito, ~/binè possibile disconnettersi, quindi riconnettersi o semplicemente eseguirlo . ~/.profile, affinché la shell riconosca che si trova in $PATH. Ora puoi semplicemente entrare ffmpege verrà utilizzata la nuova build statica.

Per esempio:

% 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)
[...]

Essere completamente statici non dovrebbe avere problemi con varie versioni di Linux (a un limite, il kernel non dovrebbe essere troppo vecchio).


1
Grazie Rmano. Valorizzerà la tua risposta come alternativa non appena raggiungerò il numero magico. "Alternativa" perché, da quello che ho letto, ciò che rende affidabili le build statiche - avendo tutte le dipendenze incorporate - le rende anche "pesanti" (grandi e affamate di memoria). Per questo motivo, mi stavo allontanando da quella strada a favore della versione normale del programma, con aggiornamento automatico. ... Think I may've capito, dei prossimi post ...
u2n

Bene, sebbene ciò sia generalmente vero per eseguibili statici, in questo caso ffmpeg non usa librerie generali grafiche o pesanti. Ovviamente hai ragione se finisci per eseguire varie copie di ffmpeg in parallelo.
Rmano,

2
La route PPA con risposta accettata contiene la versione 0.1 che è molto vecchia. Ti consigliamo di utilizzare il metodo di questa risposta per far funzionare molti comandi.
deadghost
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.