O FFmpeg está ausente nos repositórios oficiais da versão 14.04?

293

Tentei instalar o ffmpeg no confiável / Ubuntu 14.04 e recebi a seguinte mensagem:

$sudo apt-get install ffmpeg

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'ffmpeg' has no installation candidate

Por que o pacote não está disponível?

user254877
fonte
1
Qual é a saída de: apt-cache search ffmpeg | grep "ffmpeg" Se você não vê ffmpegna lista de resultados retornados, algo deu errado com seu gerente de repositório. Por enquanto, sugiro instalar através da construção a partir do código-fonte. Baixe aqui.
wyas
2
Observe que a partir de 2018, o avconv não está no ffmpeg e o libav-tools não está no repositório do Ubuntu!
coruja

Respostas:

258

Últimas notícias


FFmpeg e libav

libav dos repositórios Ubuntu

O Ubuntu começou a enviar o fork do libav em vez do FFmpeg em versões recentes . Se você instalou o pacote ffmpeg , na verdade instalou o pacote libav-tools e um programa que lhe disse para usar em avconvvez de ffmpegno futuro, dando a impressão de que o ffmpeg está obsoleto, o que não é.

O ffmpegpacote de transição parece ter sido removido do trusty / Ubuntu 14.04 (compare a lista de arquivos do pacote atrevido e confiável do pacote de origem ).

Portanto, uma opção é instalar o pacote libav-tools e usá-lo avconv(note que este não é o FFmpeg "principal", mas um fork proeminente).

FFmpeg de um PPA no Launchpad

Outra opção é usar um PPA que forneça FFmpeg. Consulte a página de download do FFmpeg para obter detalhes dos PPAs e pacotes disponíveis. Você deve verificar PPAs individuais de vez em quando, se ainda estiverem atualizados.

Perguntas relacionadas:

Instalar da fonte

Outra opção é instalar os pacotes de dependência do FFmpeg e compilar + instalar manualmente a partir do código-fonte.

Use construções estáticas

Embora possa parecer um pouco estranho da perspectiva do empacotamento, você também pode usar qualquer construção estática de fontes confiáveis . No meu caso, mantenho binários FFmpeg Windows de 32 bits e 64 bits, juntamente com binários x264-10 bits em uma pasta para executá-los no Wine ou Windows sempre que preciso.


A seguir, é o que eu pude encontrar ao pesquisar este tópico. Eu não tenho acompanhado de perto o desenvolvimento de ambos os projetos e não é minha intenção culpar ninguém. Você como leitor também não deve fazer.

Como aconteceu o garfo?

A Wikipedia afirma que o projeto bifurcado e o lançamento inicial foram anunciados em 13 de março de 2011, mas há um pouco mais a acontecer.

A pesquisa no Git confirma

  • 18 de janeiro de 2011 - confirmar f4f5cab94e0881cd30965b28f3d78d9c63d6918e

    O líder do projeto FFmpeg, Michael Niedermayer, é removido do MAINTAINERSarquivo.

  • 27 de julho de 2011 - commit 6291d7e41605c0b1e9debfae8a2b1d4cf7b0e0b3

    avconv é introduzido:

    Faça uma cópia do ffmpeg com um novo nome - avconv.

    Ele será desenvolvido com algumas alterações incompatíveis.

    O ffmpeg.c permanecerá como está por algum tempo, portanto, qualquer script que o utilize não será quebrado.

  • 27 de julho de 2011 - commit 791a86c37a03b94207bc2d0ad4cbe7f39d7e495a

    Um aviso é adicionado à versão bifurcada do ffmpeg.ccódigo-fonte, que pode ser enganosa para usuários que não perceberam o fork e que não estão mais usando o FFmpeg.

  • 12 de janeiro de 2012 - commit 0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad

    ffmpeg.c é removido do código fonte.

Anúncios oficiais no libav.org

As seguintes postagens são da seção de notícias (com as mais antigas em último):

09 de agosto de 2011

Atualizado em 12.09.2011.

Para maior consistência com o nosso novo nome, renomeamos ffplay para avplay , ffserver para avserver e ffprobe para avprobe . O comportamento deles é o mesmo, apenas os nomes foram alterados.

Com o ffmpeg (a ferramenta de linha de comando), decidimos usar esta oportunidade para corrigir alguns problemas de usabilidade de longa data, que envolvem quebra de compatibilidade. Portanto, adicionamos uma nova ferramenta chamada avconv, baseada no ffmpeg , mas que possui uma sintaxe diferente (espero que seja mais poderosa e fácil de usar) para algumas opções. O ffmpeg será mantido em seu estado atual por algum tempo; portanto, nenhum script ou frontend que o utilize será interrompido. No entanto, não será desenvolvido mais.

As diferenças entre avconv e ffmpeg são:

[...]

Observe que a interface avconv ainda não é considerada estável. Alterações mais incompatíveis podem ocorrer nas próximas semanas. Anunciaremos aqui quando o avconv estiver estável.

E no início de 2011:

18 Mar 2011

Acabamos de lançar outro release do nosso ramo de lançamento 0.6: Libav 0.6.2 . Esta é outra versão somente de manutenção, abordando dois problemas de segurança.

A partir de agora, usaremos nosso novo nome de projeto libav . Mas não se preocupe, em comparação com a versão 0.6.1 anterior, as únicas alterações funcionais são as duas correções de segurança dos decodificadores VC1 e APE. Isso significa que o libav fornece um substituto indolor para instalações FFmpeg existentes.

Além disso, estamos orgulhosos de acompanhar esta versão de origem com executáveis ​​e bibliotecas para a plataforma win32 . Esses binários incluem a codificação H.264 usando a biblioteca x264 incluída. Desfrutar!

Recomenda-se aos distribuidores e integradores de sistemas que atualizem e compartilhem seus patches com nossos ramos de lançamento.

17 Mar 2011

Acabamos de lançar outro release do nosso ramo de lançamento 0.5: FFmpeg 0.5.4 . Esta é outra versão apenas de manutenção que resolve vários problemas de segurança.

Recomenda-se aos distribuidores e integradores de sistemas que atualizem e compartilhem seus patches com nossos ramos de lançamento.

13 de março de 2011

Nós, como um grupo de desenvolvedores do FFmpeg, decidimos continuar desenvolvendo o FFmpeg sob o nome Libav. Toda a infraestrutura existente será transferida para o domínio libav.org.

Você pode atualizar seu repositório git usando o seguinte comando:

git remote set-url origin 'git://git.libav.org/libav'

Por enquanto, ainda estamos acessíveis nas listas de discussão e canais de IRC do FFmpeg, mas migraremos para os colegas do libav.org. Por um período de transição, o site e a fonte ainda podem conter referências ao FFmpeg. Estes desaparecerão com o tempo, exceto onde historicamente relevante.

24 de fevereiro de 2011

O desenvolvimento do FFmpeg foi movido para o Git, e o repositório SVN não é mais atualizado. O repositório SVN pode ser removido em um futuro próximo, portanto, é recomendável usar um repositório Git .

A última revisão confirmada para o SVN foi a r26402 em 19/01/2011 e substituiu o svn: external libswscale por uma cópia independente.

Observe que o desenvolvimento do FFmpeg já foi movido para um repositório Git e que existem dois repositórios Git. Veja a página de download dos projetos correspondentes.

LiveWireBT
fonte
Quando essa mudança aconteceu?
Seth
@Seth Você quer dizer o envio de libav em vez de FFmpeg ou a retirada do pacote de transição? Encontrei um e-mail que aponta para um Relatório da equipe do Conselho Técnico e também adicionei um link para o pacote de origem na barra de lançamento, onde é possível comparar as listagens de pacotes confiantes e confiáveis, mas não sei os detalhes.
LiveWireBT
Eu estava me referindo à retirada do pacote, embora eu esteja interessado nos prazos para ambos, se possível.
Seth
3
Posso mover o como instalar o ffmpeg do ppa para o final. Como "Se você realmente está nadando contra a maré e já leu todas essas coisas ... então pode fazer isso". Em vez de colocar tudo na frente. Por exemplo, incentive o uso de itens que estejam em main / uni / multi se você puder evitar PPAs.
precisa saber é o seguinte
1
@hbdgaf Adicionei askubuntu.com/q/35629 como heads-up. O PPA do FFmpeg já era o último, sem considerar a seção de histórico recém-adicionada. Em vez de pura política (e provavelmente de ódio), eu gostaria de discutir funcionalidades diferentes, como o novo filtro de desentrelaçamento w3fdifno FFmpeg (mas isso é fora de tópico para esta pergunta). Não entendo por que estou obviamente com votos negativos (não o culpo em particular.), Por tentar explicar objetivamente o que aconteceu. Não tenho nenhuma afiliação com nenhum desses projetos e pretendo ser o mais objetivo possível.
LiveWireBT
120

ffmpegfoi substituído em releases anteriores pelo avconvprograma do projeto libav.

Para instalar, avconvvocê precisa instalar o libav-toolspacote:

sudo apt-get install libav-tools

avconvé muito parecido com ffmpeg, mas eles também têm algumas diferenças na sintaxe.

Edit: Parece que o Ubuntu 16.04LTS tem novamente ffmpegem seus repositórios, então o libav-tools é um pacote fictício e cria apenas um alias avconv -> ffmpeg(e outros)

Rutrus
fonte
Resposta fácil, mas todas as instruções online dizem como usar o ffmpeg para fazer coisas, não o avconv, e foi isso que me levou a esta página. Com desculpas a Rutrus: menos um. - Talvez se você explicasse as diferenças, poderíamos trabalhar com isso.
Aaron Hall
2
@ Aaron-Hall Eu acho que o seu -1 é injusto. Você espera algo errado. A pergunta feita em 2014 é muito clara: está faltando em 14.04? E a resposta é sim, em algumas versões anteriores o ffmpeg era apenas um apelido para o avconv. Não importa o que você estava procurando. Talvez você não leia o título da página antes de clicar nesta página. Mas não se preocupe, editarei com uma isenção de responsabilidade as pessoas com reputação 184 que não sabem como trabalhar com a troca de pilhas.
Rutrus
Ainda tenho o 14.04, e quero usar o ffmpeg - o avconv é um substituto para o drop-in ou o quê? Quais são as diferenças?
Aaron Hall
A grande maioria dos seus representantes neste site se deve a esta resposta, que eu poderia ter escrito com base apenas no material da resposta principal. Você deve ganhar seu representante escrevendo uma resposta decente que diga, pelo menos em resumo e em geral, quais são as diferenças. Acenar com a mão é uma perda de tempo. A menos que seja realmente apenas um alias, nesse caso não deve haver diferenças na sintaxe. E, se o fizer, reverterá minha opinião sobre a resposta, mas, como está atualmente, ela se contradiz! Avise-me quando eu puder excluir esses comentários.
Aaron Hall
2
libav-tools é um fork do ffmpeg. ffmpegfoi substituído por avconv2012 a 2014 nos repositórios Ubuntu. Você pode fazer esta nova pergunta como resposta ou encontrar você mesmo . Você pode usar o ffmpeg novamente desde o Ubuntu 15.04. Resumo: libav é compatível com a sintaxe ffmpeg, mas não ao contrário.
Rutrus
47

O ffmpeg removeu o repositório do Ubuntu, em vez do libav. você deve adicionar ppa:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg

assista sua saída

Duong
fonte
1
Tem que ser: `sudo add-apt-repository ppa: mc3man / trusty-media :) não pode editar isso, não foram alterados caracteres suficientes.
IndexOutOfBoundsException
1
Esse não é o PPA listado no FFmpeg.org como o PPA oficial atual. (Além disso, o membro do projeto que mantém o PPA pode mudar, é por isso que decidi não incluir instruções sobre como adicionar um certo PPA.) Além disso, se você olhar para este PPA, ele atualiza muito mais pacotes do que apenas ffmpeg.
LiveWireBT
Isso não funciona mais.
precisa saber é o seguinte
Isso funciona. Acabei de adicionar este PPA e agora estou instalando o FFMPEG.
Muhammad bin Yusrat 04/08/2015
3
@LiveWireBT (e outros) que PPA agora é fornecido como o elo Ubuntu na página de downloads do FFmpeg ...
Wilf
44

Você também pode usar este PPA: ppa: jon-severinsson / ffmpeg

Edit: Este ppa foi excluído do Launchpad, não sei por quê. Em vez disso, você pode usar o PPA samrog131 (para Trusty, Utopic & Vivid)

sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install ffmpeg-set-alternatives

O PPA também contém outros pacotes que você pode não querer. Remova o ppa após a instalação.

sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update
Guillaume
fonte
1
Corrigido apt-add-repository -> add-apt-repository. Se apt-add-repositório não funciona mais para você, tente o seguinte: stackoverflow.com/questions/13018626/...
RedPixel
2
Essa é basicamente a mesma informação que eu postei na minha resposta, mas sem o aviso que sempre deve ser dado antes de aconselhar os usuários a instalar pacotes de PPAs. Também existe a possibilidade de alguém assumir a manutenção de um PPA ffmpeg no futuro ou que o PPA seja apenas movido ou renomeado. Portanto, o link para instruções oficiais é o caminho certo, pois reduz o esforço de redundância e manutenção.
LiveWireBT
2
Este não fornece integração GStreamer-ffmpeg. @ A resposta de Duong ( mc3mano PPA) sim.
21414 Victor Sergienko #
Este ppa não suporta utópico.
Amir Ali Akbari
12
E agora este PPA foi excluído.
MFern
8

O pacote FFMPEG foi removido há algum tempo dos repositórios Debian. Ainda há um debate em andamento sobre a inclusão do pacote novamente nos repositórios. O Ubuntu como derivado do Debian, depende das decisões feitas a montante. Desde muito tempo atrás, o pacote estava vazio com uma dependência do libav. Isso foi alterado em 12 de maio de 2012 quando o pacote foi descartado e removido dos arquivos:

libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low

  * New upstream snapshot
    - Drop patches applied upstream
    - Longer build libpostproc, dropped upstream
    - follow soname bump of libavcodec and libavformat 53->54
    - New library: libswresample
  * no longer build and use dirac, removed upstream in favor of libschroedinger
  * remove deprecated ffmpeg package
  * bump shlibs version

 -- Reinhard Tartler <[email protected]>  Sat, 12 May 2012 22:02:03 +0200
Braiam
fonte
1
Não diga que estava vazio, os pacotes no saucy contêm um binário dpkg --contents ffmpeg_0.8.7-1ubuntu2_amd64.deb [...] -rwxr-xr-x root/root 106624 2013-10-11 10:41 ./usr/bin/ffmpeg.
LiveWireBT
1
@LiveWireBT você poderia usar o pacote sozinho? Esse arquivo único era apenas um binário para vincular o binário avconv. Pacotes de transição são sempre considerados pacotes vazios.
Braiam 04/04
1
Podemos estar pensando a mesma coisa e estamos nos entendendo mal. :)
LiveWireBT 04/04
3

Eu tive o mesmo erro ao tentar executar

sudo apt-get install ffmpeg

Então, combinei algumas outras respostas, bem como o conteúdo deste site , para obter a seguinte receita que funcionou para mim:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:mc3man/trusty-media  # ignore warning if not found
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get install ffmpeg

Agora eu posso ver que o ffmpeg foi instalado:

sudo find / -type f -name "ffmpeg"

retorna /opt/ffmpeg/bin/ffmpeg

No prompt do bash, o comando ffmpegagora deve funcionar em qualquer pasta.

Michael Currie
fonte
1
dist-upgradenão é necessário para a instalaçãoffmpeg
Raptor
1

Se você deseja instalar o ffmpeg 2.2.1 (da fonte) no Ubuntu 14.04, tente fazer isso usando as seguintes opções:

Para SO de 64 bits:

Lista de Dependências:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev

Opções de compilação:

./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib/x86_64-linux-gnu/  --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib/x86_64-linux-gnu/ --enable-runtime-cpudetect

Para um sistema operacional de 32 bits:

Lista de Dependências:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev libopencore-amrwb-dev libopencore-amrnb-dev

Opções de compilação:

./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --disable-stripping  

Para mais informações, veja o meu vídeo do youtube .

Nehal J Wani
fonte
Por que sugerir a construção como compartilhada para amd64 ??, há pouco a ganhar e pode quebrar outros aplicativos que dependem dessas bibliotecas compartilhadas.
doug
0

Se você deseja obter a versão mais recente do github, que satisfaz os erros de erros gerados no youtube-dl

ERROR: ffprobe or avprobe not found. Please install one.

em seguida, emita estes cmds:

sudo apt-get build-dep ffmpeg

git clone https://github.com/FFmpeg/FFmpeg.git

cd FFmpeg

./configure   --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265

make -j8
sudo make install

aproveitar,

Scott Stensland
fonte
-1

Primeira instalação avconv:

$ sudo apt-get install libav-tools

Em seguida, crie um link para o avconvnome ffmpeg:

$ sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg

Agora você pode usar ffmpegnormalmente.

Jorge Pastor
fonte
Poluir /usr/bincom links simbólicos geralmente não é uma boa idéia. O que acontecerá se você atualizar para uma versão moden do Ubuntu e tentar instalar a ffmpegpartir do repositório? Além disso, avconvé um mau substituto para ffmpeg: faltam muitos recursos, filtros etc.
llogan
-1

Passei duas semanas para instalar a versão mais recente ffmpeg 2.8.11. Esta versão é usada para o Ubuntu 16.04. Eu aconselho que você instale esta versão. Eu testei no Ubuntu 12.04 e Ubuntu 14.04 e funcionou bem. Você pode instalar ferramentas libav como as instruções acima, mas você terá um problema de compatibilidade. Porque o libav-tools e o ffmpeg agora foram desenvolvidos por dois grupos diferentes. Seguindo minhas instruções. Se você tiver qualquer problema, pode me enviar através de um email: [email protected]

$ sudo apt-get update
$ sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev  libavcodec-extra-53
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev libx264-dev
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.8.11.tar.xz
$ tar xf ffmpeg-2.8.11.tar.xz
$ cd ffmpeg-2.8.11/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-yasm // disable yasm if you are using Ubuntu 12.04, if not --enable-yasm
$ make
$ sudo make install

Verifique ffmpeg, ffserver, ffplay, ffprobe no terminal. Boa sorte

Dang_Ho
fonte