¿Falta FFmpeg en los repositorios oficiales en 14.04?

293

Intenté instalar ffmpeg en trusty / Ubuntu 14.04 y recibí el siguiente mensaje:

$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 qué no está disponible el paquete?

usuario254877
fuente
1
¿Cuál es el resultado de: apt-cache search ffmpeg | grep "ffmpeg" Si no ve ffmpegen la lista de resultados devueltos, algo ha fallado con su administrador de repositorios. Por ahora, sugeriría instalar construyendo desde la fuente. Descargar desde aquí.
wyas
2
Tenga en cuenta que a partir de 2018, avconv no está en ffmpeg, y libav-tools no está en el repositorio de Ubuntu.
Búho

Respuestas:

258

Últimas noticias


FFmpeg y libav

libav de los repositorios de Ubuntu

Ubuntu comenzó a enviar la bifurcación libav en lugar de FFmpeg en versiones recientes . Si instaló el paquete ffmpeg , en realidad instaló el paquete libav-tools y un programa que le dijo que lo usara en avconvlugar de hacerlo ffmpegen el futuro, dando la impresión de que ffmpeg está en desuso, lo cual no es así.

La transición ffmpegpaquete parece haber sido retirado de confianza / Ubuntu 14.04 (comparar los archivos del paquete que enumeran para descarada y de confianza del paquete fuente ).

Entonces, una opción es instalar el paquete libav-tools y usar avconven su lugar (NB que esto no es FFmpeg "mainline", sino una bifurcación prominente).

FFmpeg de un PPA en Launchpad

Otra opción es usar un PPA que proporcione FFmpeg. Consulte la página de descarga de FFmpeg para obtener detalles sobre los PPA y paquetes disponibles. Debe verificar los PPA individuales de vez en cuando si todavía están actualizados.

Preguntas relacionadas:

Instalar desde la fuente

Otra opción es instalar paquetes de dependencia de FFmpeg, luego compilarlos e instalarlos manualmente desde la fuente.

Usa compilaciones estáticas

Si bien puede parecer un poco incómodo desde la perspectiva del empaque, también puede usar cualquier compilación estática de fuentes confiables . En mi caso, guardo los binarios FFmpeg Windows de 32 bits y 64 bits junto con los binarios x264-10 bits en una carpeta para ejecutarlos en Wine o Windows cuando sea necesario.


Lo siguiente es lo que pude encontrar al investigar este tema. No he seguido de cerca el desarrollo de ambos proyectos y no es mi intención culpar a nadie. Usted como lector tampoco debería hacerlo.

¿Cómo sucedió el tenedor?

Wikipedia afirma que el proyecto bifurcado, así como el lanzamiento inicial, se anunciaron el 13 de marzo de 2011, sin embargo, hay un poco más en curso.

Excavando a través de Git commits

  • 18 de enero de 2011 - commit f4f5cab94e0881cd30965b28f3d78d9c63d6918e

    El líder del proyecto FFmpeg, Michael Niedermayer, se elimina del MAINTAINERSarchivo.

  • 27 de julio de 2011 - commit 6291d7e41605c0b1e9debfae8a2b1d4cf7b0e0b3

    avconv es presentado:

    Haga una copia de ffmpeg con un nuevo nombre: avconv.

    Se desarrollará aún más con algunos cambios incompatibles.

    ffmpeg.c permanecerá como está durante algún tiempo, por lo que no se romperán los scripts que lo usen.

  • 27 de julio de 2011 - commit 791a86c37a03b94207bc2d0ad4cbe7f39d7e495a

    Se agrega una advertencia a la versión bifurcada del ffmpeg.ccódigo fuente, que puede ser engañosa para los usuarios que no se han dado cuenta de la bifurcación y que ya no están usando FFmpeg.

  • 12 de enero de 2012 - commit 0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad

    ffmpeg.c se elimina del código fuente.

Anuncios oficiales en libav.org

Las siguientes publicaciones son de la sección de noticias (con la más antigua en último lugar):

09 de agosto de 2011

Actualizado el 12.09.2011.

Para mantener la coherencia con nuestro nuevo nombre, hemos cambiado el nombre de ffplay a avplay , ffserver a avserver y ffprobe a avprobe . Su comportamiento es el mismo, solo se cambiaron los nombres.

Con ffmpeg (la herramienta de línea de comandos) decidimos aprovechar esta oportunidad para solucionar algunos problemas de usabilidad de larga data, lo que implica romper la compatibilidad. Por lo tanto, hemos agregado una nueva herramienta llamada avconv que se basa en ffmpeg , pero tiene una sintaxis diferente (con suerte más poderosa y más fácil de usar) para algunas opciones. ffmpeg se mantendrá en su estado actual durante algún tiempo, por lo que no se interrumpirán los scripts o frontends que lo usen. Sin embargo, no se desarrollará más.

Las diferencias entre avconv y ffmpeg son:

[...]

Tenga en cuenta que la interfaz avconv aún no se considera estable. Más cambios incompatibles pueden venir en las siguientes semanas. Anunciaremos aquí cuando avconv sea ​​estable.

Y a principios de 2011:

18 mar 2011

Acabamos de impulsar otro lanzamiento puntual de nuestra rama de lanzamiento 0.6: Libav 0.6.2 . Esta es otra versión de solo mantenimiento que aborda dos problemas de seguridad.

A partir de ahora, utilizaremos nuestro nuevo nombre de proyecto libav . Pero no se preocupe, en comparación con la versión anterior 0.6.1, los únicos cambios funcionales son las dos correcciones de seguridad para los decodificadores VC1 y APE. Esto significa que libav proporciona un reemplazo directo sin dolor para las instalaciones FFmpeg existentes.

Además, nos enorgullece acompañar este lanzamiento de origen con ejecutables y bibliotecas para la plataforma win32 . Estos archivos binarios incluyen la codificación H.264 usando la biblioteca incluida x264. ¡Disfrutar!

Se recomienda a los distribuidores e integradores de sistemas que actualicen y compartan sus parches en nuestras sucursales de lanzamiento.

Mar 17, 2011

Acabamos de impulsar otro lanzamiento puntual de nuestra rama de lanzamiento 0.5: FFmpeg 0.5.4 . Esta es otra versión de solo mantenimiento que aborda una serie de problemas de seguridad.

Se recomienda a los distribuidores e integradores de sistemas que actualicen y compartan sus parches en nuestras sucursales de lanzamiento.

13 de marzo de 2011

Nosotros, como grupo de desarrolladores de FFmpeg, hemos decidido continuar desarrollando FFmpeg bajo el nombre de Libav. Toda la infraestructura existente se transferirá al dominio libav.org.

Puede actualizar su repositorio git usando el siguiente comando:

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

Por ahora todavía se puede acceder a través de las listas de correo de FFmpeg y los canales de IRC, pero migraremos a sus homólogos de libav.org. Durante un período de transición, tanto el sitio web como la fuente pueden contener referencias a FFmpeg. Estos desaparecerán con el tiempo, excepto donde sean históricamente relevantes.

24 de febrero de 2011

El desarrollo de FFmpeg se ha movido a Git, y el repositorio SVN ya no se actualiza. El repositorio SVN puede eliminarse en un futuro cercano, por lo que se recomienda utilizar un repositorio Git .

La última revisión comprometida con SVN fue r26402 el 19/01/2011 y reemplazó svn: external libswscale con una copia independiente.

Tenga en cuenta que el desarrollo de FFmpeg de hecho se ha movido a un repositorio de Git por ahora y que hay dos repositorios de Git. Consulte la página de descarga de proyectos correspondientes.

LiveWireBT
fuente
¿Cuándo sucedió este cambio?
Seth
@Seth ¿Te refieres al envío de libav en lugar de FFmpeg o la caída del paquete de transición? Encontré un correo que apunta a un Informe del equipo de la Junta técnica y también agregué un enlace al paquete fuente en la plataforma de lanzamiento donde se pueden comparar las listas de paquetes descarados y confiables, pero no sé los detalles.
LiveWireBT
Me refería a dejar caer el paquete, aunque estoy interesado en los plazos para ambos, si es posible.
Seth
3
Podría mover la forma de instalar ffmpeg de ppa hasta el final. Como un "Si realmente está nadando contra la corriente, y ya leyó todas estas cosas ... entonces puede hacer esto". En lugar de ponerlo todo al frente. Por ejemplo, fomente el uso de cosas que están en main / uni / multi si puede evitar los PPA.
RobotHumans
1
@hbdgaf Agregué askubuntu.com/q/35629 como un aviso . El PPA FFmpeg ya era el último, sin tener en cuenta la sección de historial recién agregada. En lugar de pura política (y probablemente odio), me gustaría discutir diferentes funcionalidades como el nuevo filtro de desentrelazado w3fdifen FFmpeg (pero eso está fuera de tema para esta pregunta). No entiendo por qué obviamente me votan negativamente (no te culpo en particular) por intentar explicar objetivamente lo que sucedió. No tengo ninguna afiliación con uno de estos proyectos y pretendo ser lo más objetivo posible.
LiveWireBT
120

ffmpegfue reemplazado en versiones anteriores por el avconvprograma del proyecto libav.

Para instalar avconvnecesita instalar el libav-toolspaquete:

sudo apt-get install libav-tools

avconves muy similar a ffmpeg, pero también tienen algunas diferencias en la sintaxis.

Editar: Parece que Ubuntu 16.04LTS tiene nuevamente ffmpegen sus repositorios, por lo que libav-tools es un paquete ficticio y solo crea un alias avconv -> ffmpeg(y otros)

Rutrus
fuente
Respuesta fácil, pero todas las instrucciones en línea dicen cómo usar ffmpeg para hacer cosas, no avconv, y eso es lo que me trajo a esta página. Con disculpas a Rutrus: menos uno. - Tal vez si explicas las diferencias, podríamos trabajar con eso.
Aaron Hall
2
@ aaron-hall Creo que tu -1 es injusto. Esperas algo mal. La pregunta hecha en 2014 es muy clara: ¿falta en 14.04? Y la respuesta es sí, en algunas versiones anteriores, ffmpeg era solo un alias para avconv. No importa lo que estabas buscando. Tal vez no lea el título de la página antes de hacer clic en esta página. Pero no se preocupe, editaré con un descargo de responsabilidad para las personas con reputación 184 que no saben cómo funciona stackexchange.
Rutrus
Todavía tengo 14.04 y quiero usar ffmpeg: ¿es avconv un reemplazo directo o qué? ¿Cuáles son las diferencias?
Aaron Hall
La gran mayoría de su representante en este sitio se debe a esta respuesta, que podría haber escrito basándose únicamente en el material de la respuesta superior. Deberías ganarte tu reputación escribiendo una respuesta decente que diga, al menos en resumen y en general, cuáles son las diferencias. Agitar las manos es una pérdida de tiempo. A menos que realmente sea solo un alias, en cuyo caso no debería haber diferencias en la sintaxis. Y si lo hace, revertirá mi opinión sobre la respuesta, pero tal como está actualmente, ¡se contradice a sí misma! Avísame cuando pueda eliminar estos comentarios.
Aaron Hall
2
libav-tools es una bifurcación de ffmpeg. ffmpegfue reemplazado por avconvde 2012 a 2014 en repositorios de Ubuntu. Puede hacer esta nueva pregunta para su respuesta, o encontrar una usted mismo . Puede usar ffmpeg nuevamente desde Ubuntu 15.04. Resumen: libav es compatible con la sintaxis ffmpeg, pero no a la inversa.
Rutrus
47

ffmpeg había eliminado el repositorio de Ubuntu, en lugar de libav. deberías agregar ppa:

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

mira tu salida

Duong
fuente
1
Tiene que ser: `sudo add-apt-repository ppa: mc3man / trusty-media :) no puede editar esto, no se cambiaron suficientes caracteres.
IndexOutOfBoundsException
1
Ese no es el PPA listado en FFmpeg.org como el PPA oficial actual. (También el miembro del proyecto que mantiene el PPA puede cambiar, esa es la razón por la que decidí no incluir instrucciones sobre cómo agregar un cierto PPA). Además, si mira este PPA, actualiza muchos más paquetes que solo ffmpeg.
LiveWireBT
Esto ya no funciona.
MadeOfAir
Funciona Acabo de agregar este PPA y ahora estoy instalando FFMPEG.
Muhammad bin Yusrat
3
@LiveWireBT (y otros) que PPA ahora se proporciona como el enlace de Ubuntu en la página de descargas de FFmpeg ...
Wilf
44

También puede usar este PPA: ppa: jon-severinsson / ffmpeg

Editar: este ppa se ha eliminado de Launchpad, no sé por qué. En lugar de ello, puede usar el PPA samrog131 (para Trusty, Utopic & Vivid)

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

El PPA también contiene otros paquetes que quizás no desee. Retire el ppa después de la instalación.

sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update
Guillaume
fuente
1
Corregido apt-add-repository -> add-apt-repository. Si apt-add-repository ya no funciona para usted, intente esto: stackoverflow.com/questions/13018626/…
RedPixel
2
Esa es básicamente la misma información que publiqué en mi respuesta, pero sin la advertencia que siempre se debe dar antes de recomendar a los usuarios que instalen paquetes desde PPA. También existe la posibilidad de que alguien más se haga cargo del mantenimiento de un PPA ffmpeg en el futuro o de que el PPA se traslade o cambie de nombre. Por lo tanto, vincularse a las instrucciones oficiales es la forma correcta, ya que reduce la redundancia y el esfuerzo de mantenimiento.
LiveWireBT
2
Este no proporciona integración GStreamer-ffmpeg. La respuesta de @ Duong ( mc3manPPA) sí.
Victor Sergienko
Este ppa no es compatible con utópico.
Amir Ali Akbari
12
Y ahora este PPA fue eliminado.
MFern
8

El paquete FFMPEG se eliminó desde hace algún tiempo de los repositorios de Debian. Todavía hay un debate en curso sobre la inclusión del paquete nuevamente en los repositorios. Ubuntu como derivado de Debian, depende de las decisiones hechas aguas arriba. Desde hace mucho tiempo, el paquete estaba vacío con una dependencia de libav. Esto se modificó el 12 de mayo de 2012 cuando el paquete se eliminó y eliminó de los archivos:

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
fuente
1
No digas que estaba vacío, los paquetes en picante contienen un binario 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 ¿podría usar el paquete solo? Ese único archivo era solo un binario para vincular el binario avconv. Los paquetes transitorios siempre se consideran paquetes vacíos.
Braiam
1
Puede que solo estemos pensando lo mismo y nos entendamos mal. :)
LiveWireBT
3

Tuve el mismo error al intentar ejecutar

sudo apt-get install ffmpeg

Así que combiné algunas otras respuestas, así como el contenido de este sitio , para obtener la siguiente receta que funcionó para mí:

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

Ahora puedo ver que se ha instalado ffmpeg:

sudo find / -type f -name "ffmpeg"

devoluciones /opt/ffmpeg/bin/ffmpeg

Desde el indicador bash, el comando ffmpegahora debería funcionar desde cualquier carpeta.

Michael Currie
fuente
1
dist-upgradeno es necesario para la instalaciónffmpeg
Raptor
1

Si desea instalar ffmpeg 2.2.1 (desde la fuente) en Ubuntu 14.04, puede intentarlo usando las siguientes opciones:

Para SO de 64 bits:

Lista de dependencias:

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

Opciones de compilación:

./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 un sistema operativo de 32 bits:

Lista de dependencias:

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

Opciones de compilación:

./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 más información vea mi video de youtube .

Nehal J Wani
fuente
¿Por qué sugerir compilar como compartido para amd64?, Hay poco que ganar y puede romper otras aplicaciones que dependen de esas bibliotecas compartidas.
doug
0

Si desea la última versión de Github, que satisface los errores generados por youtube-dl

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

luego emita estos 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

disfrutar,

Scott Stensland
fuente
-1

Primera instalación avconv:

$ sudo apt-get install libav-tools

Luego cree un enlace suave a avconvnamed ffmpeg:

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

Ahora puedes usarlo ffmpegnormalmente.

Jorge Pastor
fuente
Contaminar /usr/bincon enlaces simbólicos generalmente no es una buena idea. ¿Qué sucederá si actualiza a una versión moderna de Ubuntu e intenta instalar ffmpegdesde el repositorio? Además, avconves un mal sustituto de ffmpeg: le faltan muchas funciones, filtros, etc.
llogan
-1

Pasé 2 semanas para instalar la versión más reciente de ffmpeg 2.8.11. Esta versión se usa para Ubuntu 16.04. Te aconsejo que instales esta versión. Probé en Ubuntu 12.04 y Ubuntu 14.04 y funcionó bien. Puede instalar herramientas libav como las instrucciones anteriores, pero tendrá un problema de compatibilidad. Porque libav-tools y ffmpeg ahora fueron desarrollados por dos grupos diferentes. Siguiendo mis instrucciones. Si tiene algún problema puede enviarme un correo electrónico: [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 en la terminal. Buena suerte

Dang_Ho
fuente