ubuntu org documentation - Quali sono le differenze e le somiglianze tra ffmpeg, libav e avconv?




1 Answers

Messaggi confusi

Questi messaggi sono piuttosto fuorvianti e comprensibilmente fonte di confusione. Le versioni precedenti di Ubuntu utilizzavano Libav che è un fork del progetto FFmpeg. FFmpeg è tornato in Ubuntu 15.04 "Vivid Vervet".

La forcella era sostanzialmente un risultato non amichevole di personalità e stili di sviluppo in conflitto all'interno della comunità FFmpeg. Vale la pena notare che il manutentore di Debian / Ubuntu è passato da FFmpeg a Libav di sua iniziativa, essendo coinvolto nella forcella di Libav.

Il vero ffmpeg contro quello falso

Per un po 'sia Libav che FFmpeg hanno sviluppato separatamente la loro versione di ffmpeg .

Libav rinominò il loro bizarro ffmpeg in avconv per avconv distanze dal progetto FFmpeg. Durante il periodo di transizione è stato visualizzato il messaggio "non sviluppato più" per dire agli utenti di iniziare a utilizzare avconv invece della loro versione contraffatta di ffmpeg . Questo ha confuso gli utenti nel pensare che FFmpeg (il progetto) sia morto, il che non è vero. Una brutta scelta di parole, ma non riesco a immaginare che Libav non si aspetti una simile risposta da parte degli utenti generici.

Questo messaggio è stato rimosso a monte quando il falso " ffmpeg " è stato finalmente rimosso dal sorgente di Libav, ma, a seconda della versione, può ancora apparire in Ubuntu perché la fonte di Libav utilizzata da Ubuntu proviene dal periodo di transizione ffmpeg-to-avconv.

Nel giugno 2012, il messaggio è stato riformulato per il pacchetto libav - 4:0.8.3-0ubuntu0.12.04.1 . Sfortunatamente il nuovo messaggio "deprecato" ha causato ulteriore confusione da parte dell'utente.

A partire da Ubuntu 15.04 "Vivid Vervet", ffmpeg di FFmpeg è tornato di nuovo nei repository .

libav vs Libav

Per complicare ulteriormente le cose, Libav ha scelto un nome che è stato storicamente utilizzato da FFmpeg per fare riferimento alle sue librerie (libavcodec, libavformat, ecc.). Ad esempio la mailing list di libav-user , per domande e discussioni sull'uso delle librerie FFmpeg, non è correlata al progetto Libav.

Come distinguere

Se stai usando avconv allora stai usando Libav. Se stai usando ffmpeg potresti usare FFmpeg o Libav. Fare riferimento alla prima riga nell'output della console per indicare la differenza: l'avviso sul copyright menzionerà FFmpeg o Libav.

In secondo luogo, gli schemi di numerazione delle versioni differiscono. Ciascuna delle librerie FFmpeg o Libav contiene un'intestazione version.h che mostra un numero di versione. FFmpeg terminerà con tre cifre, ad esempio 57.67. 100 e Libav terminerà con una cifra come 57.67. 0 . È inoltre possibile visualizzare i numeri di versione della libreria eseguendo ffmpeg o avconv e visualizzando l'output della console.

Se vuoi usare il vero ffmpeg

Ubuntu 15.04 "Vivid Vervet" o più recente

Il vero ffmpeg è nel repository, quindi puoi installarlo con:

apt-get install ffmpeg

Per versioni precedenti di Ubuntu

Le tue opzioni sono:

Questi metodi sono non intrusivi, reversibili e non interferiscono con il sistema o con i pacchetti di repository.

Un'altra opzione possibile è l'aggiornamento a Ubuntu 15.04 "Vivid Vervet" o più recente e basta usare ffmpeg dal repository.

Vedi anche

Per un interessante articolo del blog sulla situazione, oltre a una discussione sulle principali differenze tecniche tra i progetti, vedere blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .

build win

Quando ffmpeg su Ubuntu, mostra:

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

Oppure mostra (a seconda della versione di 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.

Ho trovato avconv su http://libav.org . Sono solo perplesso da loro.




Related