Saltar al contenido

Establecer un idioma de subtítulos usando ffmpeg

Solución:

La opción

-metadatos: s: 1 idioma = eng

establece el lenguaje de metadatos en eng en la secuencia de identificación 1 (que es, en casos típicos, la primera secuencia de audio). Considerando que la opción

-metadatos: s: s: 0 idioma = eng

establece el lenguaje de metadatos en eng en el primer flujo de subtítulos.

Desde la página de manual de ffmpeg:

-metadatos[:metadata_specifier] clave = valor (salida, por metadatos)
Establezca un par clave / valor de metadatos.

Un opcional metadata_specifier se puede dar para establecer metadatos en transmisiones o capítulos. Consulte la documentación “-map_metadata” para obtener más detalles.

s[:stream_spec]

metadatos por flujo. stream_spec es un especificador de flujo como se describe en el capítulo Especificadores de flujo. En un especificador de metadatos de entrada, se copia el primer flujo coincidente. En un especificador de metadatos de salida, se copian todos los flujos coincidentes.

Y finalmente en el capítulo de especificadores de flujo, vemos

Las posibles formas de especificadores de flujo son:
stream_index

Coincide con la secuencia con este índice. Por ejemplo, “-threads: 1 4” establecería el recuento de subprocesos para el segundo flujo en 4.

stream_type[:stream_index]
stream_type es uno de los siguientes: ‘v’ para video, ‘a’ para audio, ‘s’ para subtítulos, ‘d’ para datos y ‘t’ para archivos adjuntos. Si stream_index se da, luego coincide con el número de flujo stream_index de este tipo. De lo contrario, coincide con todas las transmisiones de este tipo.

Después de investigar un poco, descubrí la razón por la que -slang no funcionó. De hecho, usa una versión reciente de ffmpeg y es algo bueno, pero si la documentación aún describe la opción, puede encontrarla en el ChangeLog:

version 0.9:
...
 * -metadata can now be used to set metadata on streams and chapters, e.g.
      -metadata:s:1 language=eng sets the language of the first stream to 'eng'.
      This made -vlang/-alang/-slang options redundant, so they were removed.

Cuando encuentre un ejemplo de línea de comando, verifique si la opción utilizada está en su versión de ffmpeg.

 ffmpeg --help >> ffmpeg-doc.txt

los -slang la opción no está en.

Pero también prueba que la documentación en línea sobre ffmpeg es a veces incorrecta con respecto al cambio de código.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *