J'ai un fichier MKV (vidui.mkv
) avec 6 pistes.
Track 1 - video - xvid - 1920x1080
Track 2 - video - xvid - 720x576
Track 3 - audio - AAC - 1240kbps - English
Track 4 - audio - AAC - 648kbps - Spanish
Track 5 - audio - AAC - 648kbps - Commentary 1
Track 6 - audio - AAC - 648kbps - Commentary 2
Je veux convertir le fichier ci-dessus en un format MP4 avec une vidéo h264 et un audio AC3. Aussi, je veux 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, c’est convertir les pistes 1 et 5.
Vous pouvez utiliser l'option -map
( documentation complète ) pour sélectionner une entrée spécifique. flux et les mapper à votre sortie.
La syntaxe map
la plus simple que vous puissiez utiliser est -map i:s
, où i
est l'ID du fichier d'entrée et s
est l'ID du flux, les 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 souhaitez 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.