Superposición en ffmpeg con subtítulos
Nov 20 2020
ffmpeg -i bg.png -vcodec libvpx-vp9 -i test.webm -i test.png -y -filter_complex "[1:v]scale=1210:682[scale1];[scale1]rotate=0:c=black@0:ow=rotw(0):oh=roth(0)[rotate0];[0:v][rotate0]overlay=x=291.12:y=206.9[overlay0];[overlay0]subtitles=test.ass,overlay=x=291.12:y=206.9[textoverlay10];[2:v]scale=630:354[scale2];[scale2]rotate=0:c=black@0:ow=rotw(0):oh=roth(0)[rotate2];[textoverlay10][rotate2]overlay=x=737.13:y=50.87[overlay2];[overlay2]subtitles=test.ass,overlay=x=291.12:y=206.9" -pix_fmt yuv420p -t 10 ver.mp4
Recibo el siguiente error "No se puede encontrar una secuencia coincidente para el panel de entrada 0 sin etiquetar en el filtro Parsed_subtitles_3". ¿Es esta la forma correcta de superponer imágenes y subtítulos? por favor corríjame dónde me equivoco.
Si agrego una imagen encima
Respuestas
llogan Nov 20 2020 at 19:02
Ejemplo simplificado de su comando
ffmpeg -loop 1 -i background.png -i bird.webm -filter_complex "[0]subtitles=subs.ass[bg];[bg][1]overlay=shortest=1,format=yuv420p" output.mp4
Ejemplo que puede copiar y pegar
ffmpeg -f lavfi -i color=c=red:s=320x240,format=yuv444p -f lavfi -i color=c=green:s=280x200,format=yuv444p -f lavfi -i [email protected]:s=80x80,format=yuva444p -filter_complex "[0][1]overlay=(W-w)/2:(H-h)/2,subtitles=subs.ass:fontsdir=/tmp/font[bg];[bg][2]overlay=10:10:format=auto,format=yuv420p" -t 10 output.mp4
- Usar filtro de color para entradas sintéticas (los cuadros rojo, verde y azul).
- filtro de superposición para colocar los cuadros verde y azul.
- filtro de subtítulos para colocar subtítulos.
- El filtro de formato se utiliza para evitar la borrosidad inducida por submuestreo de croma y para habilitar alfa / transparencia para el cuadro azul.
fontsdirLa opción se utilizó en este ejemplo para localizar fuentes externas.fontsdirse puede omitir si desea utilizar fuentes ya instaladas en su sistema.
subs.ass para el ejemplo anterior
[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None
[Aegisub Project Garbage]
Last Style Storage: Default
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Bradley Hand,28,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,7,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,Line 1: Bradley Hand font\N{\fnComic Sans MS}Line 2: Comic Sans MS font{\fn}\NLine 3: Bradley Hand font
- Los subtítulos se colocaron con la Alignmentopción en el archivo ASS.
- La fuente predeterminada se estableció con la
Fontnameopción en el archivo ASS. - La fuente para la Línea 2 se estableció usando una \fnetiqueta de anulación .