Como substituir o avconv pelo ffmpeg (real) e fazê-lo funcionar corretamente?

27

UPDATE (texto original preservado abaixo)

Com o ffmpeg real prestes a retornar (em 15.04), o PPA de Jon Severinsson não está mais funcionando (para ffmpeg) e ambos os avconv-ffmpeg (agora chamados de " libav ") e o ffmpeg real (agora de volta para apenas " ffmpeg ") caiu dos releases provisórios, a questão tornou-se: Como instalar o ffmpeg mais facilmente em distribuições anteriores a 2015?

/ UPDATE

Alguém sabe como instalar o ffmpeg real e atual (não a versão mais antiga do avconv que vem com o Ubuntu) sem ter os problemas mencionados aqui ?

Razões:

  • Tudo funciona (ou assim muitos escreveram)
  • Use a nova sintaxe e
  • Depois de algumas pesquisas - e sem entrar na controvérsia - eu simplesmente acredite que os empacotadores cometeram um erro com a avconv. Esta é uma correção.

Aparentemente, não é tão fácil como deveria ser devido a conflitos de versão, e que o avconv e o ffmpeg não podem coexistir na mesma máquina (observado na resposta aceita do post acima linkado). Embora pelo menos um guia menciona a instalação do ffmpeg localmente (~) para alcançar a coexistência.

Meu lançamento é Precise 12.04.3 LTS, mas parece que isso também se aplica aos mais novos.

    
por u2n 09.11.2013 / 04:22

2 respostas

25

Resposta atualizada para versões anteriores a 2015

Como ninguém está mantendo um ppa com tudo incluído, como o de Jon Severinsson, o método de Rmano de usar uma compilação estática é agora mais fácil. As atualizações de notas precisam ser verificadas e feitas manualmente.

  1. Depois de acessar a página de download oficial do ffmpeg , clique no link link em compilações estáticas do Linux . (O alvo pode mudar, então não é vinculado diretamente aqui.)
  2. Clique no apropriado (32 ou 64 bits) e versão desejada (instantâneo ou numerado) para download. (O instantâneo é recomendado.)
  3. Se a versão libav do ffmpeg foi instalada, remova-a. Os dois não podem residir na mesma máquina. Se a libav não foi instalada anteriormente, pule para 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Extraia os arquivos (e dois diretórios) da seguinte forma:

    • Para sistemas de usuário único: para $ HOME / bin
    • Para configurações multiusuário: para / usr / local / bin

A instalação da compilação estática está concluída e o ffmpeg está pronto para uso.

Para atualizar: Ao verificar e localizar uma versão mais recente, a pasta de instalação pode ser classificada por data e os arquivos da versão existente são identificados e excluídos rapidamente. (Os timestamps serão todos iguais ao binário ffmpeg.) A atualização pode então ser baixada e extraída da mesma forma que a versão anterior.

Se um repositório ffmpeg abrangente reaparecer, ele será instalado como antes:

# 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

Com o ffmpeg real retornando às versões de 2015 e além, a necessidade dessa solução desaparecerá.

Muita gratidão à comunidade pela ajuda.

    
por u2n 09.11.2013 / 14:53
7

Eu não tive nenhum problema usando a construção estática fornecida pelo projeto FFmpeg. Existem links no link

Faça o download da versão / compilação que você precisa (32 ou 64 bits) e, em seguida, coloque o executável em $PATH (por exemplo, ~/bin ). Se ele for colocado em ~/bin , você poderá efetuar logout e, em seguida, efetuar login novamente, ou apenas executar . ~/.profile , para que seu shell reconheça que está no $PATH . Agora você pode inserir ffmpeg e a nova compilação estática será usada.

Por exemplo:

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

Ser completamente estático não deve ter nenhum problema com várias versões do Linux (até um limite, o kernel não deve ser muito antigo).

    
por Rmano 09.11.2013 / 04:40