J'essaie de coder un fichier mkv tout en conservant les audiostreams et les sous-titres. C'est la commande que j'utilise:
avconv -i inputfile.mkv -c:v mpeg2video -acodec copy - scodec copy -b:v 5000k -maxrate:v 6000k -bufsize 1835k outputfile.mkv
Le problème est que mon mkv contient plus d'un flux audio et sous-titre. Et en utilisant la commande supérieure, le fichier de sortie ne contient que l'audiostream et le sous-titre marqués par défaut. Existe-t-il une commande supplémentaire permettant de copier toutes les audiostreams et sous-titres?
Pour forcer FFmpeg/Libav à copier tous les flux d’entrée dans la sortie, utilisez l’option -map 0
.
ffmpeg -i in.mkv \
-map 0 -c copy \
-c:v mpeg2video -qscale:v 2 \
out.mkv
FFmpeg et Libav devraient se comporter de la même manière ici. Voir Comment utiliser l'option -map sur le wiki de FFmpeg. Essayez l’option suggérée ' - qscale: v 2 ' dans cette ligne de commande, elle devrait donner d’excellents résultats, ou tout simplement conserver les options de débit telles que spécifiées dans votre propre poster.