Puede darse el caso de que halles algún problema con tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al proyecto final.
Solución:
Hay dos métodos para usar subtítulos: hardsubs y softsubs.
subs duros
El subtitles
El filtro de video se puede usar para subtitular o grabar los subtítulos. Esto requiere volver a codificar y los subtítulos pasan a formar parte del propio vídeo.
force_style
opción
Para personalizar los subtítulos puedes usar el force_style
opción en el subtitles
filtrar. Ejemplo usando archivo de subtítulos subs.srt
y haciendo un tamaño de fuente de 24 con color de fuente rojo.
ffmpeg -i video.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H0000ff&'" -c:a copy output.mp4
-
force_style
utiliza los campos de estilo SubStation Alpha (ASS). -
PrimaryColour
está en hexadecimal en orden Azul Verde Rojo. Tenga en cuenta que este es el orden opuesto de los códigos de color HTML. Los códigos de color siempre deben comenzar con&H
y terminar con&
.
Aegisub
Alternativamente, puede usar Aegisub para crear y estilizar sus subtítulos. Guarde como formato SubStation Alpha (ASS), ya que puede admitir el tamaño de fuente, el color de fuente, las sombras, los contornos, la escala, el ángulo, etc.
Softsubs
Estos son flujos adicionales dentro del archivo. El reproductor simplemente los renderiza al reproducirlos. Más flexible que hardsubbbing porque:
- No es necesario volver a codificar el video.
- Puede tener múltiples subtítulos (varios idiomas) y cambiar entre ellos.
- Puede activarlos o desactivarlos durante la reproducción.
- Se pueden cambiar de tamaño con cualquier jugador que valga la pena usar.
Por supuesto, a veces se necesitan hardsubs si el dispositivo o el reproductor no pueden utilizar softsubs.
Para mezclar subtítulos en un archivo de video usando el modo de copia de transmisión:
ffmpeg -i input.mkv -i subtitles.ass -codec copy -map 0 -map 1 output.mkv
No se vuelve a codificar nada, por lo que todo el proceso será rápido y se conservarán la calidad y los formatos.
El uso de subtítulos de SubStation Alpha (ASS) le permitirá formatear los subtítulos como desee. Estos se pueden crear/convertir con Aegisub.
Ver también
subtitles
documentación del filtro de video- Cómo grabar subtítulos en el video
- Cómo convertir subtítulos de formato SRT a ASS
De la documentación, puede usar un archivo de subtítulos srt y cambiar el tamaño de la fuente al poner formato de estilo ASS KEY=VALUE
parejas separadas por ,
. Entonces,
ffmpeg -i input.mp4 -vf subtitles=sub.srt:force_style='FontName=DejaVu Serif,FontSize=24' -vcodec libx264 -acodec copy -q:v 0 -q:a 0 output.mp4
Pondré los subtítulos con letra DejaVu y tamaño 24 mientras mantenga la calidad del video. Lo he probado yo mismo y funcionó.
Te mostramos las comentarios y valoraciones de los usuarios
Puedes añadir valor a nuestra información dando tu veteranía en las críticas.