¿Cómo usar ffmpeg para convertir ape a mp3?


10

Estoy tratando de usar ffmpeg en ubuntu 13.10 para convertir AP3 a MP3?

Instalé ffmpeg , pero recibo este error cuando lo uso. Por favor dime cómo puedo solucionarlo?

$ ffmpeg -i CD1_Age_0-3_Baby.ape CD1_Age_0-3_Baby.mp3
ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:15:22 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, ape, from 'CD1_Age_0-3_Baby.ape':
  Metadata:
    Album           : MOZART EFFECT I - ENLIGHTMENT
    Title           : C:\[APE SET] Ī����ЧӦ-�������ǵ����� 4CDS\CDImage01
    Genre           : Classical
    Year            : 2002
    Comment         : Exact Audio Copy
  Duration: 01:09:17.75, start: 0.000000, bitrate: 656 kb/s
    Stream #0.0: Audio: ape, 44100 Hz, stereo, s16
Output #0, mp3, to 'CD1_Age_0-3_Baby.mp3':
    Stream #0.0: Audio: [0][0][0][0] / 0x0000, 44100 Hz, stereo, s16, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Encoder (codec id 86017) not found for output stream #0.0

Respuestas:


9

Primero asegúrese de tener libavcodec-extra-53instalado el paquete para codificar a mp3.

sudo apt-get install libavcodec-extra-53  

Intente convertir el archivo .ape a .mp3 usando ffmpeg y recibirá el siguiente mensaje:

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release.   
Please use avconv instead.

Este es el mismo mensaje de error que recibió en su pregunta. Así que usa avconven su lugar. El programa avconv es proporcionado por el paquete libav-tools del Centro de software de Ubuntu. avconv, como ffmpeg, se ejecuta desde la terminal.

Este ejemplo utiliza una tasa de bits de 256 kbps para el archivo output.mp3 y id3v2_version 3 para las etiquetas de metadatos. Primero cambie el directorio usando el cdcomando al mismo directorio donde se encuentra su archivo input.ape a convertir. Luego ejecuta el comando:

avconv -i 'input.ape' -id3v2_version 3 -codec:a libmp3lame -b 256k 'output.mp3'

Nota: El comando: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'también realizará la conversión a mp3 usando ffmpeg, pero recibirá el THIS PROGRAM IS DEPRECATEDmensaje de error. El paquete ffmpeg todavía está disponible en Ubuntu 13.10 y versiones anteriores.

En Ubuntu 14.04, el paquete de la biblioteca de códecs Libav (códecs adicionales) (libavcodec-extra-53) se ha actualizado a libavcodec-extra-54. En Ubuntu 14.10 y 15.04, el paquete de la biblioteca de códecs Libav (códecs adicionales) se ha actualizado a libavcodec-extra-56.

Actualizaciones para Ubuntu 15.10 y posteriores

En Ubuntu 15.10 y 16.04, el paquete de la biblioteca de códecs Libav (códecs adicionales) se ha actualizado a libavcodec-ffmpeg-extra56.

En Ubuntu 16.10, 17.04, 17.10 y 18.04, el paquete de la biblioteca de códec Libav (códecs adicionales) se ha actualizado a libavcodec-extra57.

En Ubuntu 18.10 y 19.04, el paquete de la biblioteca de códecs Libav (códecs adicionales) se ha actualizado a libavcodec-extra58.


2
Tenga en cuenta que el mensaje "obsoleto" se refiere a ffmpegLibav (una bifurcación de FFmpeg) y no ffmpega FFmpeg.
llogan

1
No es el mensaje de error en la parte inferior: Encoder (codec id 86017) not found for output stream #0.0. Ejecutar el mismo programa con otro nombre no soluciona ningún problema real, solo suprime el fagottery de Libav, pero -codec:a libmp3lamepodría ser la solución para el problema.
LiveWireBT

5

Tiene seis opciones principales para codificar a MP3 con ffmpeg:

  • Evite el desorden engañoso de Libav que fue forzado en los usuarios de Ubuntu y simplemente descargue, extraiga y ejecute una compilaciónffmpeg reciente de Linux . Póngalo ~/biny luego vuelva a iniciar sesión. Ahora, cuando lo ejecutes ffmpeg, usará esta nueva compilación. Esta es la opción más fácil .

  • Siga una guía paso a paso para compilar lo realffmpeg con los códecs y funciones que desee.

  • Instalar ffmpegdesde Ubuntu Multimedia para Trusty PPA (para usuarios de 14.04).

  • Instale el libavcodec-extra-*paquete para habilitar la codificación de MP3 a través de libmp3lame en buggy avconvo en el viejo, falso y falso ffmpeg.

  • Canalizar lamey usarlo para codificar:ffmpeg -i input -f wav - | lame - output.mp3

  • Actualice Ubuntu y use el ffmpegpaquete del repositorio. Lo real ffmpegde FFmpeg regresó a Ubuntu en Vivid 15.04.


2
En mi experiencia, la mayoría de los problemas con la conversión de video se resuelven instalando el real ffmpeg. Estoy usando las compilaciones estáticas --- sin instalación, sin problemas, descomprimir y listo --- proporcionadas en el enlace de esta respuesta desde hace al menos dos años (actualizando en algún momento) y no tuve ningún problema.
Rmano

1

Aquí hay otro script que podría ayudar a la gente. Lo que tendrá que hacer es copiarlo en la carpeta raíz de los archivos ape que desea convertir.

#!/bin/bash

set -e

# Script Name:  convert_ape2mp3.sh
#
# Description:  The script will recursively find all *.ape files
#   and then convert them to mp3 files.
#   This script has been tested on Ubuntu 14.04 
#   
# Dependencies: (you will need to install the following library prior
#                to running this script.)
#     sudo apt-get install libav-tools
# avconv -i '01_Tori Amos_Beauty Queen - Horses.ape' -id3v2_version 3 -codec:a libmp3lame -b 320k '01_Tori Amos_Beauty Queen - Horses.mp3'

# Optional:  After conversion is complete if you want you can 
#   remove all the ape files.
#   find . -type f -name "*.ape" 
#   find . -type f -name "*.ape" -exec rm {} \;

find . -name "*.ape" -print0 | while IFS= read -r -d '' FILE; do
    echo "### Converting $FILE..."
    echo avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";
    avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";

done

1

Con libav_toolse libmp3lameinstalado en el directorio donde se encuentran los archivos ape, escriba terminal:

$ for f in *.ape; do
      avconv -i "$f" -id3v2_version 3 -codec:a libmp3lame -ab 320k "${f%.ape}.mp3"
done

Con eso, todos los archivos ape en el directorio se convierten a mp3 estéreo 320kb y se respetan las etiquetas en los archivos ape.


1
Por favor, verifique su bloque de código. No tiene sentido (al menos para mí).
Cbhihe

El bloque de código tiene mucho sentido. La instrucción for evita que el terminal ejecute el comando después de presionar enter. Lo hecho finaliza el ciclo, mientras que las dos líneas en el medio están dentro del ciclo.
Zzzach ...

@Zzzach ...: muchas gracias. Pfeww! Ahora, por fin, sé bash! ;-) Más en serio, mira el formato previo a la edición de ese bloque de código ...
Cbhihe

0

El siguiente script convertirá todos los archivos wma a mp3 de forma recursiva a partir de la ruta donde se ejecuta el comando find. ¡Los viejos archivos wma serán eliminados!

Guión:

#!/bin/bash
#Command to call wma2mp3 script
#find . -name "*wma" -exec ~/wma2mp3 {} \;

ffmpeg -sameq -i "$1" "${1%.*}.mp3";
rm -f "$1";

¡Bienvenido a AskUbuntu! ¿Podría editar su publicación para que el guión sea más fácil de leer? (Use>, o 4 espacios antes de cada línea)
No Time
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.