Wie verwende ich ffmpeg, um Affen in MP3 umzuwandeln?

10

Ich versuche, ffmpeg unter Ubuntu 13.10 zu verwenden, um AP3 in MP3 zu konvertieren.

Ich habe ffmpeg installiert , aber ich erhalte diesen Fehler, wenn ich es benutze. Bitte sagen Sie mir, wie ich das beheben kann.

$ 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
Michael
quelle

Antworten:

9

Stellen Sie zunächst sicher, dass Sie das libavcodec-extra-53Paket für die Codierung in MP3 installiert haben.

sudo apt-get install libavcodec-extra-53  

Wenn Sie versuchen, die .ape-Datei mit ffmpeg in .mp3 zu konvertieren, wird die folgende Meldung angezeigt:

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

Dies ist die gleiche Fehlermeldung, die Sie in Ihrer Frage erhalten haben. Verwenden Sie avconvstattdessen. Das avconv-Programm wird vom libav-tools- Paket des Ubuntu Software Centers bereitgestellt . avconv wird wie ffmpeg vom Terminal aus ausgeführt.

In diesem Beispiel wird eine Bitrate von 256 KBit / s für die Datei output.mp3 und id3v2_version 3 für die Metadaten-Tags verwendet. Wechseln Sie zuerst mit dem cdBefehl in das Verzeichnis, in dem sich die zu konvertierende Datei input.ape befindet. Führen Sie dann den folgenden Befehl aus:

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

Hinweis: Der Befehl: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'führt auch die Konvertierung in mp3 mit ffmpeg durch, es wird jedoch die THIS PROGRAM IS DEPRECATEDFehlermeldung angezeigt. Das ffmpeg-Paket ist weiterhin in Ubuntu 13.10 und früheren Versionen verfügbar.

In Ubuntu 14.04 wurde das Paket Libav Codec Library (zusätzliche Codecs) (libavcodec-extra-53) auf libavcodec-extra-54 aktualisiert. In Ubuntu 14.10 und 15.04 wurde das Paket der Libav-Codec-Bibliothek (zusätzliche Codecs) auf libavcodec-extra-56 aktualisiert.

Updates für Ubuntu 15.10 und höher

In Ubuntu 15.10 und 16.04 wurde das Paket der Libav-Codec-Bibliothek (zusätzliche Codecs) auf libavcodec-ffmpeg-extra56 aktualisiert.

In Ubuntu 16.10, 17.04, 17.10 und 18.04 wurde das Paket der Libav-Codec-Bibliothek (zusätzliche Codecs) auf libavcodec-extra57 aktualisiert.

In Ubuntu 18.10 und 19.04 wurde das Paket der Libav-Codec-Bibliothek (zusätzliche Codecs) auf libavcodec-extra58 aktualisiert.

Karel
quelle
2
Beachten Sie, dass sich die Nachricht "veraltet" auf ffmpegLibav (eine Abzweigung von FFmpeg) und nicht ffmpegauf FFmpeg bezieht .
Llogan
1
Nein, die Fehlermeldung befindet sich unten : Encoder (codec id 86017) not found for output stream #0.0. Das Ausführen des gleichen Programms mit einem anderen Namen behebt kein wirkliches Problem, sondern unterdrückt lediglich die Libav-Schwuchtel, kann jedoch -codec:a libmp3lamedie Lösung für das Problem sein.
LiveWireBT
5

Sie haben sechs Hauptoptionen zum Codieren in MP3 mit ffmpeg:

  • Vermeiden Sie das irreführende Libav-Chaos , das Ubuntu-Benutzern aufgezwungen wurde, und laden Sie einfach einen aktuellen Linux-Build vonffmpeg herunter, extrahieren Sie ihn und führen Sie ihn aus . Legen Sie es ein ~/binund melden Sie sich erneut an. Wenn Sie ffmpeges jetzt ausführen , wird dieser neue Build verwendet. Dies ist die einfachste Option .

  • Befolgen Sie eine Schritt-für-Schritt-Anleitung, um das Realffmpeg mit den gewünschten Codecs und Funktionen zu kompilieren .

  • Installation ffmpegvon Ubuntu Multimedia für Trusty PPA (für 14.04 Benutzer).

  • Installieren Sie das libavcodec-extra-*Paket, um die MP3-Codierung über libmp3lame im Buggy avconvoder in der beschissenen, alten, gefälschten Version zu aktivieren ffmpeg.

  • Pipe to lameund benutze es zum Codieren:ffmpeg -i input -f wav - | lame - output.mp3

  • Aktualisieren Sie Ubuntu und verwenden Sie das ffmpegPaket aus dem Repo. Der Real ffmpegvon FFmpeg kehrte in Vivid 15.04 zu Ubuntu zurück.

llogan
quelle
2
Nach meiner Erfahrung werden die meisten Probleme mit der Videokonvertierung durch die Installation des Real behoben ffmpeg. Ich verwende die statischen Builds - keine Installation, kein Aufwand, dekomprimieren und loslegen -, die im Link in dieser Antwort seit mindestens zwei Jahren (Aktualisierung irgendwann) bereitgestellt werden, und hatte überhaupt kein Problem.
Rmano
1

Hier ist ein weiteres Skript, das Leuten helfen könnte. Sie müssen es lediglich in den Stammordner der Affendateien kopieren, die Sie konvertieren möchten.

#!/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
Michael Kreeger
quelle
1

Geben Sie mit libav_toolsund libmp3lameinstalliert in dem Verzeichnis, in dem sich Affendateien befinden, terminal ein:

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

Damit werden alle Affendateien im Verzeichnis in MP3-Stereo 320kb konvertiert und Tags in Affendateien werden respektiert.

David G.
quelle
1
Bitte überprüfen Sie Ihren Codeblock. Macht keinen Sinn (zumindest für mich).
Cbhihe
Der Codeblock ist absolut sinnvoll. Die for-Anweisung verhindert, dass das Terminal den Befehl ausführt, nachdem Sie die Eingabetaste gedrückt haben. Das Fertigstellen beendet die Schleife, während sich die beiden Linien in der Mitte innerhalb der Schleife befinden.
Zzzach ...
@Zzzach ...: Vielen Dank. Pfeww! Jetzt weiß ich es endlich! ;-) Im Ernst, schauen Sie sich bitte die Formatierung dieses Codeblocks vor der Bearbeitung an ...
Cbhihe
0

Das folgende Skript konvertiert alle wma-Dateien rekursiv in mp3, beginnend mit dem Pfad, in dem der Befehl find ausgeführt wird. Alte WMA-Dateien werden gelöscht !!!

Skript:

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

ffmpeg -sameq -i "$1" "${1%.*}.mp3";
rm -f "$1";
user306622
quelle
Willkommen bei AskUbuntu! Könnten Sie Ihren Beitrag bearbeiten, um das Skript leichter lesbar zu machen? (Verwenden Sie> oder 4 Leerzeichen vor jeder Zeile)
Keine Zeit