26 votes

Comment convertir un mp3 à haut débit en un débit plus faible avec ffmpeg sous Android ?

Nous voulons convertir un fichier mp3 de 320kbps en mp3 de 128kbps. Nous utilisons actuellement la commande ffmpeg ci-dessous mais cela ne fonctionne pas.

ffmpeg -i input.mp3 -codec:a libmp3lame -qscale:a 5 output.mp3

Résultat : -le bitrate de sortie est le même que celui du mp3 d'entrée.

Et nous suivons les directives d'encodage de FFmpeg pour cela, voici le lien :-. https://trac.ffmpeg.org/wiki/Encode/MP3

Veuillez donc suggérer une solution.

34voto

VC.One Points 9134

J'ai essayé la commande que vous avez indiquée (testée sous Windows / ligne de commande) :

ffmpeg -i input.mp3 -codec:a libmp3lame -qscale:a 5 output.mp3

Résultat : Cela fonctionne pour moi. Cependant, le -qscale:a 5 permet à FFmpeg de décider d'un débit moyen pour vous. Avec un fichier MP3 (320k), j'ai obtenu une conversion proche de 134kbps . C'est attendu depuis :

lame option   Average kbit/s  Bitrate range kbit/s    ffmpeg option
   -V 5             130           120-150                -q:a 5

Solution :
Au lieu de faire en sorte que les trames mp3 internes contiennent différents débits binaires (qui varient pour s'adapter à l'audio perçu "actuel", eg : pensez que les parties "silencieuses" utilisent un taux de bits/octets plus faible que les parties audio "occupées"), il suffit donc de définir un constant débit binaire de 128kbps selon vos besoins.

Je le mettrais simplement sur constant 128kbps manuellement et explicitement avec :

ffmpeg -i input.mp3 -codec:a libmp3lame -b:a 128k output.mp3

9voto

J'utilise ce shellscript afin de ne pas visiter cette page stackoverflow encore et encore :)

#!/bin/bash
[[ ! -n $1 ]] && { 
    echo "Usage: mp3convert <input.mp3> <output.mp3> <bitrate:56/96/128/256> <channels> <samplerate>"
    exit 0
}
set -x # print next command
ffmpeg -i "$1" -codec:a libmp3lame -b:a "$3"k -ac "$4" -ar $5 "$2"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X