49 votes

Convertir uniquement une piste vidéo et audio spécifique avec ffmpeg

Je possède un fichier MKV (vidui.mkv) avec 6 pistes dedans.

Piste 1 - vidéo - xvid - 1920x1080
Piste 2 - vidéo - xvid - 720x576
Piste 3 - audio -  AAC - 1240kbps - Anglais
Piste 4 - audio -  AAC - 648kbps - Espagnol
Piste 5 - audio -  AAC - 648kbps - Commentaire 1
Piste 6 - audio -  AAC - 648kbps - Commentaire 2

Je veux convertir le fichier ci-dessus en format mp4 avec une vidéo h264 et un audio AC3. Je veux également convertir la piste 1 (vidéo) et la piste 5 (audio).

Si j'utilise

ffmpeg.exe -i vidui.mkv -f mp4 -vcodec libx264 -acodec ac3 -crf 20 -sn -n vidui.mp4

il convertit la première piste vidéo et la première piste audio, mais ce que je voudrais qu'il fasse, c'est convertir la piste 1 et la piste 5.

74voto

slhck Points 209720

Vous pouvez utiliser l'-map option (documentation complète) pour sélectionner des flux d'entrée spécifiques et les mapper vers votre sortie.

La syntaxe la plus simple de map que vous pouvez utiliser est -map i:s, où i est l'ID du fichier d'entrée et s est l'ID du flux, tous deux commençant par 0. Dans votre cas, cela signifie que nous sélectionnons les pistes 0 et 4:

ffmpeg -i vidui.mkv -c:v libx264 -c:a ac3 -crf 20 -map 0:0 -map 0:4 vidui.mp4

Si vous voulez choisir spécifiquement des pistes vidéo, audio ou de sous-titres, vous pouvez également utiliser des spécificateurs de flux:

ffmpeg -i vidui.mkv -c:v libx264 -c:a ac3 -crf 20 -map 0:v:0 -map 0:a:1 vidui.mp4

Ici, 0:v:0 est le premier flux vidéo et 0:a:1 est le deuxième flux audio.

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