Come usare ffmpeg per convertire ape in mp3?


10

Sto cercando di usare ffmpeg su Ubuntu 13.10 per convertire AP3 in MP3?

Ho installato ffmpeg , ma ottengo questo errore quando lo uso. Per favore dimmi come posso ripararlo?

$ 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

Risposte:


9

Innanzitutto assicurati di avere installato il libavcodec-extra-53pacchetto per la codifica in mp3.

sudo apt-get install libavcodec-extra-53  

Prova a convertire il file .ape in .mp3 usando ffmpeg e otterrai il seguente messaggio:

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

Questo è lo stesso messaggio di errore che hai ricevuto nella tua domanda. Quindi usa avconvinvece. Il programma avconv è fornito dal pacchetto libav-tools di Ubuntu Software Center. avconv, come ffmpeg, viene eseguito dal terminale.

In questo esempio viene utilizzato un bitrate di 256 kbps per il file output.mp3 e id3v2_version 3 per i tag dei metadati. Prima cambia directory usando il cdcomando nella stessa directory in cui si trova il tuo file input.ape da convertire. Quindi eseguire il comando:

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

Nota: il comando: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'eseguirà anche la conversione in mp3 utilizzando ffmpeg, ma verrà visualizzato il THIS PROGRAM IS DEPRECATEDmessaggio di errore. Il pacchetto ffmpeg è ancora disponibile in Ubuntu 13.10 e versioni precedenti.

In Ubuntu 14.04, il pacchetto della libreria di codec Libav (codec aggiuntivi) (libavcodec-extra-53) è stato aggiornato a libavcodec-extra-54. In Ubuntu 14.10 e 15.04, il pacchetto della libreria di codec Libav (codec aggiuntivi) è stato aggiornato a libavcodec-extra-56.

Aggiornamenti per Ubuntu 15.10 e versioni successive

In Ubuntu 15.10 e 16.04, il pacchetto della libreria di codec Libav (codec aggiuntivi) è stato aggiornato a libavcodec-ffmpeg-extra56.

In Ubuntu 16.10, 17.04, 17.10 e 18.04 il pacchetto della libreria di codec Libav (codec aggiuntivi) è stato aggiornato a libavcodec-extra57.

In Ubuntu 18.10 e 19.04 il pacchetto della libreria di codec Libav (codec aggiuntivi) è stato aggiornato a libavcodec-extra58.


2
Si noti che il messaggio "obsoleto" si riferisce a ffmpegLibav (un fork di FFmpeg) e non ffmpega FFmpeg.
Llogan,

1
Nessun messaggio di errore è in fondo: Encoder (codec id 86017) not found for output stream #0.0. L'esecuzione dello stesso programma con un altro nome non risolve alcun problema reale, sopprime solo la fagottery di Libav, ma -codec:a libmp3lamepotrebbe essere la soluzione al problema.
LiveWireBT

5

Hai sei opzioni principali per codificare in MP3 con ffmpeg:

  • Evita il fuorviante pasticcio di Libav che è stato forzato sugli utenti di Ubuntu e scarica, estrae ed esegui semplicemente una versione recente di Linuxffmpeg . Inseriscilo ~/bine quindi accedi nuovamente. Ora quando ffmpeglo eseguirai utilizzerà questa nuova build. Questa è l'opzione più semplice .

  • Segui una guida dettagliata per compilare il realeffmpeg con qualsiasi codec e funzionalità desideri.

  • Installa ffmpegda Ubuntu Multimedia per Trusty PPA (per utenti 14.04).

  • Installa il libavcodec-extra-*pacchetto per abilitare la codifica MP3 tramite libmp3lame in buggy avconvo il vecchio, scadente, falso ffmpeg.

  • Installa lamee usalo per codificare:ffmpeg -i input -f wav - | lame - output.mp3

  • Aggiorna Ubuntu e usa il ffmpegpacchetto dal repository. Il vero ffmpegdi FFmpeg è tornato su Ubuntu in Vivid 15.04.


2
Nella mia esperienza, la maggior parte dei problemi con la conversione video vengono risolti installando il reale ffmpeg. Sto usando le build statiche --- nessuna installazione, nessuna confusione, decompressione e via --- fornite nel link in questa risposta da almeno due anni (aggiornamento qualche volta) e non ho avuto nessun problema.
Rmano,

1

Ecco un altro script che potrebbe aiutare la gente. Quello che dovrai fare è copiarlo nella cartella principale dei file delle scimmie che vuoi convertire.

#!/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 libmp3lameinstallato nella directory in cui si trovano i file delle scimmie, digitare terminal:

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

Con ciò tutti i file delle scimmie nella directory vengono convertiti in mp3 stereo 320kb e i tag nei file delle scimmie vengono rispettati.


1
Per favore, controlla il tuo blocco di codice. Non ha senso (almeno per me).
Cbhihe,

Il blocco di codice ha perfettamente senso. L'istruzione for impedisce al terminale di eseguire il comando dopo aver premuto Invio. Il fatto termina il ciclo, mentre le due linee al centro sono all'interno del ciclo.
Zzzach ...

@Zzzach ...: grazie mille. Pfeww! Ora, finalmente, conosco bash! ;-) Più seriamente, ti preghiamo di guardare la formattazione pre-modifica di quel blocco di codice ...
Cbhihe,

0

Lo script seguente convertirà tutti i file wma in mp3 in modo ricorsivo a partire dal percorso in cui viene eseguito il comando find. I vecchi file wma verranno eliminati !!!

script:

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

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

Benvenuto in AskUbuntu! Potresti modificare il tuo post per rendere più semplice la lettura dello script. (Usa>, o 4 spazi prima di ogni riga)
No Time
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.