web-dev-qa-db-fra.com

Comment désactiver le décodage des sous-titres dans ffmpeg

J'essaie de convertir un fichier vidéo contenant vidéo , audio et les sous-titres sont diffusés dans un autre format en utilisant FFMpeg. Cependant, ffmpeg se plaint du format des sous-titres - il ne peut pas décoder le flux. Comme je n'ai pas besoin de ce flux de sous-titres, j'aimerais savoir comment désactiver le décodage du flux de sous-titres pendant la conversion?

24
v_2e

J'ai enfin trouvé une réponse.

Il existe une option telle que -sn qui désactive le décodage des sous-titres du flux d'entrée. Il existe également des options analogues pour le décodage audio et vidéo: -an et -vn respectivement.

Il s'est également avéré qu'il existe un autre moyen d'y parvenir. On peut utiliser le -map option pour sélectionner les flux à décoder. Donc, en omettant le flux de sous-titres parmi les -map options fait le travail.

Par exemple, si l'on a un fichier vidéo avec 3 flux:

  • Stream 0: vidéo
  • Stream 1: audio
  • Stream 2: sous-titres

la commande de conversion pour FFmpeg peut ressembler à ceci:

ffmpeg -i <input file> -sn -vcodec <video codec> -acodec <audio codec>  <output file>

ou

ffmpeg -i <input file> -vcodec <video codec> -acodec <audio codec> -map 0:0 -map 0:1  <output file>

L'ancienne ligne de commande désélectionne le flux de sous-titres (probablement tous, s'il y en a plusieurs) tandis que le dernier sélectionne uniquement les flux nécessaires à décoder.

56
v_2e