¿Cómo reemplazar avconv con (el real) ffmpeg y hacer que funcione correctamente?

27

ACTUALIZACIÓN (el texto original se conserva a continuación)

Con el ffmpeg real a punto de regresar (en 15.04), el PPA de Jon Severinsson ya no funciona (para ffmpeg), y tanto avconv-ffmpeg (ahora llamado " libav ") como el ffmpeg real (ahora de vuelta a solo " ffmpeg ") cayeron de lanzamientos provisionales, la pregunta se ha convertido: ¿Cómo instalar más fácilmente ffmpeg en distribuciones anteriores a 2015?

/ACTUALIZAR

¿Alguien sabe cómo instalar el ffmpeg real y actual (no la versión anterior de avconv que viene con Ubuntu) sin tener los problemas mencionados aquí ?

Razones:

  • Todo funciona (o por lo que muchos han escrito),
  • Use la nueva sintaxis, y
  • Después de investigar un poco, y sin entrar en la controversia, simplemente creo que los empaquetadores cometieron un error al usar avconv. Esto es una solución

Aparentemente, no es tan fácil como debería ser debido a conflictos de versiones, y que avconv y ffmpeg no pueden coexistir en la misma máquina (anotado en la respuesta aceptada de la publicación vinculada anteriormente). Aunque al menos una guía menciona instalar ffmpeg localmente (~) para lograr la coexistencia.

Mi versión es Precise 12.04.3 LTS, pero parece que esto también se aplicaría a las más nuevas.

u2n
fuente
3
¿Has visto Cómo compilar FFmpeg en Ubuntu ? No entre en conflicto con cualquier basura libav de los repositorios.
llogan
1
Le sugiero que reformule un poco la parte de "razones". Parece que estás insinuando que la supuesta superioridad de ffmpeg sobre avconv es un hecho y que los usuarios de Ubuntu están en problemas porque el repositorio ha dañado el software. Esto podría confundir y asustar a algunos usuarios novatos. Espero que entiendan mi punto, ya que parecen estar de acuerdo en que es mejor no entrar "en la controversia".
Andrea Lazzarotto
1
@Brad Sigo creyendo que está mal asustar a los nuevos usuarios haciéndoles creer que han roto el software y que necesitan "arreglarlo".
Andrea Lazzarotto
1
@AndreaLazzarotto Nadie está tratando de asustar a nadie. En la pregunta hay una opinión, y se llama específicamente como una. Esa opinión es una parte importante de la pregunta.
Brad
1
Hola chicos, gracias por los comentarios. Dado que la versión falsa avconv de ffmpeg se ha eliminado de todas las versiones más recientes, ya no hay nada que desinstalar (y tampoco más controversia: ^). Jon Severinsson está actualizando su ppa regularmente, por lo que el verdadero ffmpeg es perfecto, con fácil instalación y actualizaciones. Esta publicación servirá como la actualización aquí por ahora. (Haremos una limpieza completa después.)
U2N

Respuestas:

25

Respuesta actualizada para lanzamientos anteriores a 2015

Debido a que nadie mantiene un ppa con todo incluido como Jon Severinsson, el método de Rmano de usar una construcción estática ahora es más fácil. Las actualizaciones de notas deben verificarse y hacerse manualmente

  1. Después de dirigirse a la página oficial de descarga de ffmpeg , haga clic en el enlace en Compilaciones estáticas de Linux . (El objetivo puede cambiar, por lo que no está vinculado directamente aquí).
  2. Haga clic en la versión apropiada (32 o 64 bits) y deseada (instantánea o numerada) para descargar. (Se recomienda una instantánea).
  3. Si se instaló la versión libav de ffmpeg, quítela. Los dos no pueden residir en la misma máquina. Si libav no estaba instalado previamente, salte a 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Extraiga los archivos (y dos directorios) de la siguiente manera:

    • Para sistemas de usuario único: a $ HOME / bin
    • Para configuraciones multiusuario: a / usr / local / bin

La instalación de compilación estática está hecha y ffmpeg está listo para usar.

Para actualizar: Al verificar y encontrar una versión más reciente, la carpeta de instalación se puede ordenar por fecha y los archivos de versión existentes se identifican y eliminan rápidamente. (Todas las marcas de tiempo serán las mismas que el binario ffmpeg). La actualización se puede descargar y extraer de la misma manera que la versión anterior.

Si un repositorio ffmpeg completo resurge, se instalaría 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

Con el verdadero ffmpeg volviendo a los lanzamientos de 2015 y más allá, la necesidad de esta solución eventualmente se desvanecerá.

Muchas gracias a la comunidad por la ayuda.

u2n
fuente
44
Uf. Gracias. avconv parece estar tan cerca de ffmpeg, pero parece tener algunas banderas diferentes. No, gracias. FFMPEG funciona muy bien. La única razón por la que puedo pensar que Ubuntu cambie es alguna razón política. Olvida ese ruido. ffmpeg ftw!
James T Snell
1
La sudo apt-get dist-upgradelínea me parece innecesaria para el propósito de esta publicación. La mayoría de las personas que intentan instalar ffmpeg probablemente no deseen activar una actualización de distribución como efecto secundario.
cxrodgers
@cxrodgers, absolutamente cierto. Arreglando ahora, gracias.
U2n
1
Es posible que desee actualizar esta respuesta ahora que el PPA de jon-severinsson se ha ido: stackoverflow.com/questions/29585700/…
cxrodgers
1
Symlinking debe apuntar a /usr/local/binevitar posibles conflictos de cualquier paquete de repositorio que proporcione los archivos nombrados; especialmente del paquete libav-tools qt-faststarty el " ffmpeg" falso para 12.04 y versiones anteriores. Además, otros usuarios pueden no tener los permisos adecuados para ejecutar nada en otro usuario ~/bin(pero no investigué esto). Por último, creo que toda la sección "/ ACTUALIZACIÓN" de esta respuesta se puede eliminar: está desactualizada (ese PPA se ha ido) y ya no contribuye mucho.
lema
7

No he tenido ningún problema al usar la construcción estática proporcionada por el proyecto FFmpeg Hay enlaces en http://ffmpeg.org/download.html

Descargue la versión / compilación que necesita (ya sea 32 o 64 bits), luego coloque el ejecutable en su $PATH(por ejemplo ~/bin). Si está colocado ~/bin, puede cerrar sesión y luego volver a iniciarla, o simplemente ejecutar . ~/.profile, para que su shell reconozca que está en el $PATH. Ahora puede ingresar ffmpegy se usará la nueva construcción estática.

Por ejemplo:

% 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 no debería tener problemas con varias versiones de Linux (hasta cierto punto, el núcleo no debería ser demasiado viejo).

Rmano
fuente
1
Gracias Rmano. Votaré tu respuesta como alternativa tan pronto como llegue al número mágico. "Alternativa" porque, por lo que he leído, lo que hace que las compilaciones estáticas sean confiables, con todas las dependencias integradas, también las hace "pesadas" (grandes y con mucha memoria). Por esa razón, estaba evitando ir por esa ruta a favor de la versión de peso normal y actualizada automáticamente del programa. ... Creo que may've tengo, puesto próxima ...
U2N
Bueno, aunque eso es generalmente cierto para el ejecutable estático, en este caso ffmpeg no utiliza bibliotecas generales gráficas o pesadas. Obviamente tienes razón si terminas ejecutando varias copias de ffmpeg en paralelo.
Rmano
2
La respuesta aceptada ruta PPA contiene la versión 0.1, que es muy antigua. Deberá utilizar el método de esta respuesta para que funcionen muchos comandos.
deadghost 01 de