Star Trek continúa: ffmeg dvdsub: subtítulos superpuestos

Star Trek continúa: ffmeg dvdsub: subtítulos superpuestos

Así que descargué el archivo gratuito creado por fans.Star Trek continúaISO de rayos azules paraEpisodios 1-3y estoy intentando convertir FHD 1920x1080 a SD 960x540 para poder mirar en mi teléfono:

ffmpeg -canvas_size 960x540 \
-i /media/STC_VOL1_BR/BDMV/STREAM/00000.m2ts \
-map_metadata -1 \
-c:v libx264 -map 0:0 -strict -2 -r 24 -s 960x540 \
-c:a libmp3lame -map 0:1 -b:a 384K \
-metadata:s:s:0 language=EN -c:s dvdsub -map 0:2 \
/media/Videos/Star\ Trek\ Continues/S01E01\ Pilgrim\ Of\ Eternity.mkv

pero después de unos segundos de ver el mkv convertido, los subtítulos se convierten en:

  • ilegible debido a la superposición
  • son un poco grandes (no hay problema)
  • desplazado hacia la derecha y hacia abajo de la pantalla

Captura de pantalla VLC

Salida completa de ffmpeg aquí

¿Qué estoy haciendo mal?

Nota 1:Solo he trabajado con srtsubtítulos y sé que los DVDsubs son imágenes, por eso pensé que el canvas_sizeparámetro podría ser de ayuda, pero no hace ninguna diferencia.
Nota 2:Sí, en realidad no es una cuestión pura del sistema operativo Ubuntu, pero vamos.video.seno conseguircualquier atención, incluso con una recompensaAsí que intente aquí si alguien realiza alguna conversión de video y se ha encontrado con la misma situación.

Respuesta1

Técnicamente elmás limpiomirar con estos subtítulos sería:

  1. extraer los subtitulos
  2. Conviértelos en texto usando tu aplicación OCR favorita
  3. Revisa y edita cuidadosamente el texto.
  4. Vuelva a grabarlos en el flujo multimedia en el tamaño, color, orientación y formato que elija.

Este es un trabajo grande y que requiere mucho tiempo y queHe emprendido personalmente en el pasadopero probablemente seaexageraren este caso.

ElmejorLa opción es simplemente agregar la opción FFmpeg -fix_sub_duration(colocadaantesel archivo de entrada) y esto arreglará los subtítulos duplicados como lo ilustro a continuación, y hará que los subtítulos sean fácilmente legibles:

ingrese la descripción de la imagen aquí

Los detalles de la -fix_sub_durationopción se pueden encontrar en las páginas de manual de FFmpeg-all, pero me he tomado la libertad de citar estos detalles aquí:

-fix_sub_duración

Corregir la duración de los subtítulos. Para cada subtítulo, espere el siguiente paquete en la misma secuencia y ajuste la duración del primero para evitar superposiciones. Esto es necesario con algunos códecs de subtítulos, especialmente los subtítulos DVB, porque la duración en el paquete original es sólo una estimación aproximada y el final en realidad está marcado por un cuadro de subtítulo vacío. No utilizar esta opción cuando sea necesario puede dar lugar a duraciones exageradas o fallos de mezcla debido a marcas de tiempo no monótonas.

Tenga en cuenta que esta opción retrasará la salida de todos los datos hasta que se decodifique el siguiente paquete de subtítulos: puede aumentar mucho el consumo de memoria y la latencia.

Notarás que este es elprimerode las opciones de subtítulos avanzados, elsegundosiendo el -canvas_sizeque ya has usado...

información relacionada