web-dev-qa-db-fra.com

Utiliser avconv et conserver les audios et les sous-titres

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?

4
ports

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.

5
slhck