43 votes

Fusionnez deux canaux audio (stéréo) en un seul (mono) sur GSM6.10 en utilisant FFMPEG

Je voudrais savoir s'il est possible de fusionner l'audio stéréo en mono sur un fichier audio GSM6.10 en utilisant FFMPEG. Si c'est le cas, veuillez fournir la commande pour y parvenir.
Sinon, est-il possible de convertir GSM6.10 en WAV PCM avec FFMPEG? Je pourrais ensuite fusionner les canaux sur le WAV PCM.

Si il existe un autre outil gratuit pouvant faire cela, je peux également l'essayer.

66voto

Ghopper21 Points 141

La manière de "mixer" de stéréo à mono dans n'importe quel fichier pris en charge dans ffmpeg est la suivante :

ffmpeg -i file.ext -ac 1 file_mono.ext

Le passage "-ac 1" indique à ffmpeg de produire seulement 1 canal audio, c'est-à-dire mono. Par défaut, cette opération préservera le format de votre fichier mais réduira le débit binaire à la valeur par défaut de ffmpeg de 64 kbps. Si vous souhaitez un débit binaire plus élevé, vous pouvez faire :

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... en remplaçant 192 k par le débit binaire de votre choix.

Notez que votre installation de ffmpeg doit prendre en charge votre codec GSM particulier pour que cela fonctionne correctement. Je sais que certains fichiers audio encodés en GSM sont pris en charge dans ffmpeg via libgsm mais je n'ai jamais travaillé avec des fichiers GSM moi-même. J'ai cependant réussi à convertir d'autres types de fichiers (MP3) en mono sans problème.

11voto

trevor_nise Points 362

La réponse ci-dessus fonctionne dans le cas où vous voulez toujours convertir entre les formats, mais pour les fichiers longs qui peuvent prendre beaucoup de temps. Ou peut-être que vous ne voulez pas encore convertir, en dégradant la qualité, et donc vous voulez simplement copier en streaming. Utiliser à la fois -codec:a et -ac 1 en même temps ne fonctionne pas, mais selon la documentation du filtre pan de ffmpeg, si certaines conditions sont remplies (comme si vous n'ajustez pas les niveaux des canaux ou si vous mélangez deux canaux en un seul), il reconnaîtra ce cas et affichera : "Détection de mappage de canal pur", et effectuera une copie en streaming, ce qui est beaucoup plus rapide.

Par exemple: Pour créer un fichier stéréo en mono en utilisant simplement le canal gauche, et en copiant simplement le flux vidéo, faites ceci :

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext

5voto

Kartal Tabak Points 151

Pour préserver la vidéo, j'ai utilisé une combinaison des deux réponses ci-dessus:

ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile

Cela a produit une solution suffisante pour moi.

0voto

RobotHumans Points 5886

Je sais que c'est possible avec sox.... j'utilise sox pour la manipulation des canaux, kdenlive et audacity pour des éditions légères, et ffmpeg pour le remuxage. Juste pour vous informer de ce qui a bien fonctionné pour moi par le passé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X