60 votes

Concaténation de plusieurs fichiers WAV à l'aide d'une seule commande, sans fichier supplémentaire

Je veux concaténer plusieurs fichiers WAV en un seul fichier WAV en utilisant FFMPEG.

J'ai utilisé la commande suivante et elle génère le fichier requis.

Commandement :

ffmpeg -f concat -i mylist.txt -c copy output.wav

Fichier :

#mylist.txt
file '1.wav'
file '2.wav'
file '3.wav'
file '4.wav'

Mais comme vous pouvez le constater, le problème est que je dois créer un fichier texte pour spécifier la liste des fichiers WAV à concaténer.

Je peux effectuer toutes ces tâches, mais je préférerais une commande unique qui ressemblerait à ceci

ffmpeg -i 1.wav -i 2.wav -i 3.wav -i 4.wav output.wav 

ou

ffmpeg -i "concat:1.wav|2.wav|3.wav|4.wav" -c copy output.wav

J'ai essayé ces deux commandes simples mais elles ne renvoient que la voix de 1.wav Aidez-moi à écrire une seule commande (ou à corriger les deux commandes ci-dessus) qui permette d'obtenir le résultat souhaité.

Je vous prie de ne pas suggérer d'autres encodeurs/éditeurs de médias, je veux utiliser uniquement FFMPEG, car il est déjà installé et utilisé à d'autres endroits.

1voto

Goddard Points 131

J'ai vu des gens poster des réponses similaires, mais jamais cette réponse exacte qui fonctionne très bien.

sox "file*" output.wav

La commande ci-dessus combinera tous les fichiers et utilisera le symbole * comme joker. Vous utilisez les guillemets pour éviter que votre Shell effectue l'expansion. Au lieu de cela, nous laissons sox effectuer l'expansion de cette façon, n'importe lequel de vos paramètres sera appliqué à chaque fichier audio.

-1voto

cmhobbs Points 823

Vous pourriez utiliser shntool pour les fichiers wav.

shnjoin -r none 01.wav 02.wav ...

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