Cómo 'grabar' una pista de subtítulos en un archivo de video mp4

10

Me gustaría hacer un archivo de subtítulos para que sea parte de un archivo de video mp4, para que no tenga que lidiar con dos archivos separados.

Me imagino dos maneras:

  • Haga del subtítulo una parte intrínseca del video. Esto requerirá una nueva codificación de video.
  • Convierta el subtítulo en una secuencia separada, pero aún incrustado en el mismo archivo de video. Esto es mucho más preferible, especialmente porque puedo desactivarlo (a diferencia del otro enfoque), o incluso jugar con el tipo / tamaño de fuente.

¿Cómo hago las cosas de la segunda manera? También sería genial saber cómo funciona el primer enfoque.

tshepang
fuente
1
Todavía no lo he resuelto, pero estoy muy interesado ... Parece que el contenedor mp4 (MPEG-4) puede manejar transmisiones separadas de subtítulos modificados ... así que (para mí) ese sería el camino a seguir. Si usted injerta los subtítulos en el video, debe volver a codificar el video y se incrustan para siempre ... La única ventaja de los subtítulos "codificados" es que el reproductor de video no necesita tenga en cuenta mp4-subtitle-stream ... Es bastante sencillo codificar un AVI, pero aún no he tenido la necesidad de usar secuencias de sutitle (todavía :). ¿Dónde está el formato de tus subtítulos?
Peter
@fred Mi archivo de subtítulos termina .srty Nautilus me dice que el formato es subtítulos SubRip (aplicación / x-subrip).
tshepang

Respuestas:

9

El formato contenedor Matroska (mkv) admite subtítulos basados ​​en texto incrustados como una secuencia separada en el archivo.

Puede usar mkvmerge para remezclar el archivo a .mkv e incluir los subtítulos en la salida, que puede habilitar / deshabilitar al reproducir el video. Tenga en cuenta que este método NO volverá a codificar el video o el audio, solo está poniendo los mismos datos en un formato contenedor diferente, por lo que no disminuirá la calidad del video.

mkvmerge -o output.mkv video.mp4 subtitles.srt
axel_c
fuente
Funcionó como un encanto, y tan rápido que pensé que se estrelló al comienzo.
Tomislav Nakic-Alfirevic
3

En un paquete llamado gpac, hay una utilidad CLI llamadaMP4Box

Aquí hay un ejemplo de lo que funcionó para mí.

MP4Box  -add ~/file.noaudio.mp4 \
        -add ~/file.mp3 \
        -add ~/file.srt \
             ~/file.MP4Box.mp4   

Utilicé un solo video y solo audio, pero seguramente (?) Funcionará con una "película" normal de audio + video ... Es muy tarde, así que lo dejaré así ...

Nota: Los subtítulos funcionan en Totem, pero no en SMPlayer ...

Peter.O
fuente
1

Intenta algo como:

mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4
gelraen
fuente
Eso no funciona Resulta en audio y video destrozado, y el video se trunca (el archivo inicial es ~ 1.6GB y el archivo resultante es ~ 200MB). Yo uso mencoder 1.0-rc3.
tshepang
Tengo un archivo mp4 y un srt. Pero con estos argumentos, el subtítulo no aparece en el archivo resultante. :(
Verdadero
Parecía exactamente lo que estaba buscando. Lo probé con un video WebM (pista de video VP8, pista de audio VORBIS) y como resultado obtuve un video roto. Vergüenza. : \
Tomislav Nakic-Alfirevic