¿Combinando archivos de video y subtítulos en un solo video?

14

Tengo un archivo de video (en formato .mp4, .mkv, .avi o lo que sea) y un archivo de subtítulos (.srt). Quiero incrustar el archivo de subtítulos en el archivo de video para que solo tenga un archivo: el archivo de video en contraste con el video y el archivo de subtítulos.

¿Es posible? ¿Cómo?


fuente
1
Los subs incrustados suaves que se pueden desactivar son el camino a seguir (aunque podría no ser posible con AVI); los subs duros son realmente irritantes y no solo agregarlos causa pérdida de calidad, sino que eliminarlos no es posible sin una pérdida significativa adicional.
Karan

Respuestas:

8

MKVtoolnix es otra opción fácil de usar ya que ya tiene los archivos que desea. Puede combinarlos en un contenedor MKV sin alterar los originales de ninguna manera. También tiene una buena GUI para guiarlo a través del proceso de combinación.

Veo que user1301428 había mencionado Handbrake, que también es una herramienta muy común / popular. No estoy tan familiarizado con él, pero si no vuelve a codificar su fuente AVI, entonces debería ser genial.

Melikoth
fuente
22

Una solución gratuita multiplataforma con FFmpeg , que copia bitstream y, por lo tanto, no toma más de unos segundos, incluso para archivos grandes:

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

Esto funciona para MP4. Tenga en cuenta que algunos formatos de subtítulos pueden no ser automáticamente compatibles con los formatos de salida elegidos, por lo que debe cambiar el códec después de -c:s:

  • MP4: utilice el mov_textcódec de subtítulos (como en el ejemplo anterior), que implementa MPEG-4 Parte 17 .

  • MKV: Uso srt, subrip, ssao ass. MKV no es compatible mov_text.

  • AVI: Muy problemático con subtítulos incrustados. En teoría, admiten subtítulos SubRip y SSA / ASS, pero solo a través de software de terceros.

Consulte Wikipedia para obtener una lista de contenedores y sus formatos de subtítulos compatibles .

El uso de programas de codificación de video dedicados, como Handbrake, volverá a codificar su video, lo que reduce su calidad y podría demorar horas en codificar; es por eso que debe verificar si las herramientas admiten la copia de secuencias de bits de audio y video.

slhck
fuente
1
He encontrado -f srtque es necesario a veces, de lo contrario genial!
Steven Penny
1
En caso de que su archivo de subtítulos tenga *.vttformato, use una -c:s webvttopción como esta:ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy -c:a copy output.webm
user3405291
0

Puedes usar Handbrake . En la pestaña "Subtítulos" simplemente necesita seleccionar el archivo de subtítulos y luego iniciar la codificación.

usuario1301428
fuente
2
Esto volverá a codificar el video, lo que a) toma mucho tiempo yb) deteriora la calidad.
slhck
-1
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
SivaPhani
fuente