J'ai un vieux film "stéréo" en tant que fichier mp4.
Le son n'est que dans le canal gauche, le canal droit est silencieux.
J'aimerais utiliser ffmpeg pour copier le flux vidéo:
ffmpeg -hide_banner -i video.mp4 -c:v copy ...
Et convertir l'audio en mono en sélectionnant uniquement le canal gauche:
-map_channel 0.1.0 -map_channel -1
Mais cela n'a rien changé 🙁
Quelle est la ligne de commande ffmpeg correcte pour cela?
Est-il possible de le faire sans recodage?
Il existe au moins deux méthodes pour sélectionner le canal audio gauche et la sortie en mono.
-map_channel
En supposant que l'entrée ne contient que de l'audio:
ffmpeg -i input -map_channel 0.0.0 output
Le premier numéro est l' identifiant du fichier d'entrée : vous avez seulement une entrée, ce qui sera 0
. Le deuxième nombre est le spécificateur de flux : si l'audio est le deuxième flux, tel est souvent le cas dans un fichier vidéo typique, alors vous utiliserez 1
place. Le troisième nombre est le numéro de canal : dans une entrée stéréo, le premier canal est habituellement le devant gauche et le second est habituellement le devant droit.
Si vous souhaitez utiliser le canal droit, utilisez -map_channel 0.0.1
.
Si l'entrée contient une vidéo, l'audio sera probablement (mais pas toujours) répertorié comme deuxième flux, donc il faudrait utiliser 0.1.0
place.
ffmpeg -i input -af "pan=mono|c0=FL" output
pan=mono|c0=c0
. pan=mono|c0=FR
(ou pan=mono|c0=c1
). @LordNeckbeard: J'ai trouvé la raison pour laquelle mon fichier résultant n'avait que de l'audio sur le canal gauche comme mon fichier source.
C'est parce que j'ai utilisé:
-map_channel 0.1.0 -map_channel -1
Qui a coupé le second canal audio, au lieu d'utiliser simplement:
-map_channel 0.1.0
Merci de votre aide 🙂