Comment utiliser ffmpeg pour convertir un singe en mp3?

10

J'essaie d'utiliser ffmpeg sur Ubuntu 13.10 pour convertir AP3 en MP3?

J'ai installé ffmpeg , mais j'obtiens cette erreur lorsque je l'utilise. Veuillez me dire comment puis-je y remédier?

$ 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
la source

Réponses:

9

Assurez-vous d'abord que le libavcodec-extra-53package d'encodage en mp3 est installé.

sudo apt-get install libavcodec-extra-53  

Essayez de convertir le fichier .ape en .mp3 à l'aide de ffmpeg et vous obtiendrez le message suivant:

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

Il s'agit du même message d'erreur que vous avez reçu dans votre question. Alors utilisez avconvplutôt. Le programme avconv est fourni par le paquet libav-tools du Ubuntu Software Center. avconv, comme ffmpeg, est exécuté à partir du terminal.

Cet exemple utilise un débit binaire de 256 kbps pour le fichier output.mp3 et id3v2_version 3 pour les balises de métadonnées. Changez d'abord de répertoire en utilisant la cdcommande dans le même répertoire où se trouve votre fichier input.ape à convertir. Exécutez ensuite la commande:

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

Remarque: La commande: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'effectuera également la conversion en mp3 à l'aide de ffmpeg, mais vous obtiendrez le THIS PROGRAM IS DEPRECATEDmessage d'erreur. Le package ffmpeg est toujours disponible dans Ubuntu 13.10 et les versions antérieures.

Dans Ubuntu 14.04, le package de la bibliothèque de codecs Libav (codecs supplémentaires) (libavcodec-extra-53) a été mis à jour vers libavcodec-extra-54. Dans Ubuntu 14.10 et 15.04, le package de la bibliothèque de codecs Libav (codecs supplémentaires) a été mis à jour vers libavcodec-extra-56.

Mises à jour pour Ubuntu 15.10 et versions ultérieures

Dans Ubuntu 15.10 et 16.04, le package de la bibliothèque de codecs Libav (codecs supplémentaires) a été mis à jour vers libavcodec-ffmpeg-extra56.

Dans Ubuntu 16.10, 17.04, 17.10 et 18.04, le package de la bibliothèque de codecs Libav (codecs supplémentaires) a été mis à jour vers libavcodec-extra57.

Dans Ubuntu 18.10 et 19.04, le package de la bibliothèque de codecs Libav (codecs supplémentaires) a été mis à jour vers libavcodec-extra58.

Karel
la source
2
Notez que le message "obsolète" fait référence à ffmpegLibav (un fork de FFmpeg) et non ffmpegà FFmpeg.
llogan
1
Pas le message d'erreur est au fond: Encoder (codec id 86017) not found for output stream #0.0. L'exécution du même programme avec un autre nom ne résout aucun problème réel, il supprime simplement la fagoterie Libav, mais -codec:a libmp3lamepeut être le correctif du problème.
LiveWireBT
5

Vous avez six options principales pour encoder en MP3 avec ffmpeg:

  • Évitez le désordre trompeur de Libav qui a été imposé aux utilisateurs d'Ubuntu et téléchargez, extrayez et exécutez simplement une version récente de Linuxffmpeg . Mettez-le ~/bin, puis reconnectez-vous. Maintenant, lorsque vous l'exécuterez, ffmpegil utilisera cette nouvelle version. C'est l'option la plus simple .

  • Suivez un guide étape par étape pour compiler le réelffmpeg avec les codecs et les fonctionnalités que vous souhaitez.

  • Installez à ffmpegpartir d' Ubuntu Multimedia pour Trusty PPA (pour les utilisateurs 14.04).

  • Installez le libavcodec-extra-*package pour activer l'encodage MP3 via libmp3lame en buggy avconvou le merdique, vieux, faux ffmpeg.

  • Tuyau pour lameet l' utiliser pour encoder:ffmpeg -i input -f wav - | lame - output.mp3

  • Mettez à niveau Ubuntu et utilisez le ffmpegpackage du dépôt. Le réel ffmpegde FFmpeg est revenu sur Ubuntu dans Vivid 15.04.

llogan
la source
2
D'après mon expérience, la plupart des problèmes de conversion vidéo sont résolus en installant le vrai ffmpeg. J'utilise les builds statiques --- pas d'installation, pas de chichi, décompressez et allez --- fournis dans le lien dans cette réponse depuis au moins deux ans (mise à jour parfois) et je n'ai eu aucun problème.
Rmano
1

Voici un autre script qui pourrait aider les gens. Ce que vous devrez faire est de le copier dans le dossier racine des fichiers singe que vous souhaitez 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
Michael Kreeger
la source
1

Avec libav_toolset libmp3lameinstallé dans le répertoire où se trouvent les fichiers APE, tapez terminal:

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

Avec cela, tous les fichiers APE du répertoire sont convertis en mp3 stéréo 320 Ko et les balises des fichiers APE sont respectées.

David G
la source
1
Veuillez vérifier votre bloc de code. Cela n'a aucun sens (du moins pour moi).
Cbhihe
Le bloc de code est parfaitement logique. L'instruction for empêche le terminal d'exécuter la commande après avoir appuyé sur Entrée. Le fait termine la boucle, tandis que les deux lignes du milieu sont à l'intérieur de la boucle.
Zzzach ...
@Zzzach ...: merci beaucoup. Pfeww! Maintenant, enfin, je sais bash! ;-) Plus sérieusement, veuillez regarder la mise en forme pré-
éditée
0

Le script ci-dessous convertira tous les fichiers wma en mp3 à partir du chemin où la commande find est exécutée. Les anciens fichiers wma seront supprimés !!!

Scénario:

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

ffmpeg -sameq -i "$1" "${1%.*}.mp3";
rm -f "$1";
user306622
la source
Bienvenue sur AskUbuntu! Pourriez-vous modifier votre message pour rendre le script plus facile à lire. (Utilisez>, ou 4 espaces avant chaque ligne)
Pas de temps