Combiner des fichiers vidéo et de sous-titres en une seule vidéo?

14

J'ai un fichier vidéo (au format .mp4, .mkv, .avi ou autre) et un fichier de sous-titres (.srt). Je veux incorporer le fichier de sous-titres dans le fichier vidéo de sorte que je n'ai qu'un seul fichier - le fichier vidéo contrairement à la vidéo et le fichier de sous-titres.

C'est possible? Comment?


la source
1
Les sous-marins intégrés doux qui peuvent être désactivés sont le chemin à parcourir (peut-être pas possible avec AVI cependant); les sous-marins durs sont vraiment irritants et non seulement leur ajout entraîne une perte de qualité, mais leur suppression n'est pas possible sans perte significative supplémentaire.
Karan

Réponses:

8

MKVtoolnix est une autre option facile à utiliser car vous avez déjà les fichiers que vous souhaitez. Vous pouvez les combiner dans un conteneur MKV sans altérer les originaux de toute façon. Il possède également une interface graphique agréable pour vous guider à travers le processus de combinaison.

Je vois que user1301428 avait mentionné le frein à main, qui est également un outil très courant / populaire. Je ne le connais pas aussi bien, mais s'il ne ré-encode pas votre AVI source, alors ça devrait être génial.

Melikoth
la source
22

Une solution multiplateforme gratuite avec FFmpeg , qui effectue la copie bitstream et ne prend donc pas plus de quelques secondes, même pour les gros fichiers:

ffmpeg -i input.mp4 -i subtitles.srt -c:s mov_text -c:v copy -c:a copy output.mp4

Cela fonctionne pour MP4. Sachez que certains formats de sous-titres peuvent ne pas être automatiquement compatibles avec les formats de sortie choisis, vous devez donc modifier le codec après -c:s:

  • MP4: utilisez le mov_textcodec de sous - titres (comme dans l'exemple ci-dessus), qui implémente MPEG-4 Partie 17 .

  • MKV: Utilisez srt, subrip, ssaou ass. MKV ne prend pas en charge mov_text.

  • AVI: Très problématique avec les sous-titres intégrés. En théorie, ils prennent en charge les sous-titres SubRip et SSA / ASS, mais uniquement via des logiciels tiers.

Voir Wikipedia pour une liste des conteneurs et leurs formats de sous-titres pris en charge .

L'utilisation de programmes d'encodage vidéo dédiés tels que Handbrake ré-encodera votre vidéo, ce qui réduit sa qualité et pourrait vous prendre des heures à encoder - c'est pourquoi vous devez vérifier si les outils prennent en charge la copie des flux binaires vidéo et audio.

slhck
la source
1
J'ai trouvé -f srtnécessaire parfois, sinon génial!
Steven Penny
1
Dans le cas où votre fichier de sous-titres est de *.vttformat, utilisez l' -c:s webvttoption, comme ceci:ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy -c:a copy output.webm
user3405291
0

Vous pouvez utiliser le frein à main . Dans l'onglet "Sous-titres", il vous suffit de sélectionner le fichier de sous-titres, puis de lancer l'encodage.

user1301428
la source
2
Cela va ré-encoder la vidéo, ce qui a) prend beaucoup de temps et b) détériore la qualité.
slhck
-1
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
SivaPhani
la source