J'ai un fichier vidéo (au format .mp4, .mkv, .avi ou autre) et un fichier de sous-titres (.srt). Je souhaite incorporer le fichier de sous-titre au fichier vidéo de manière à ne disposer que d'un seul fichier, le fichier vidéo par opposition à la vidéo et au fichier de sous-titre.
C'est possible? Comment?
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 modifier les originaux. Il a une interface graphique de Nice pour vous guider à travers le processus de combinaison.
Je vois que user1301428 avait mentionné Handbrake, qui est également un outil très répandu. Je ne le connais pas aussi bien, mais s'il ne ré-encode pas votre source AVI, alors ça devrait être génial.
Une solution gratuite multiplate-forme avec FFmpeg , qui copie le flux de données en bits et ne prend donc pas plus de quelques secondes, même pour des fichiers volumineux:
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 codec mov_text
(comme dans l'exemple ci-dessus), qui implémente MPEG-4 Partie 17 .
MKV: Utilisez srt
, subrip
, ssa
ou ass
. MKV ne supporte pas mov_text
.
AVI: Très problématique avec les sous-titres intégrés. En théorie, ils supportent les sous-titres SubRip et SSA/ASS, mais uniquement via un logiciel tiers.
Consultez Wikipedia pour une liste de 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 en réduira la qualité et pourrait vous prendre heures à coder. C'est pourquoi vous devez vérifier si les outils permettent de copier la vidéo. et des flux audio.
Vous pouvez utiliser Handbrake . Dans l'onglet "Sous-titres", il vous suffit de sélectionner le fichier de sous-titres, puis de lancer l'encodage.