Adicione legendas suaves com formatação e posição


1

Eu tenho usado o ffmpeg para fazer tudo até agora com um vídeo, juntando quadros de animação, adicionando áudio, sobrepondo imagens e adicionando legendas. Portanto, espero que a resposta à minha pergunta ainda esteja dentro do ffmpeg, mas estou aberto a usar outros programas, se necessário.

Eu já criei os arquivos de legenda ASS (plural para vários idiomas), aproveitando as informações de fonte, cor e posicionamento. Mas quando fui adicionar um deles ao vídeo, ele perdeu todas essas informações de formatação. A única maneira que encontrei de preservar essas informações com o ffmpeg é sub-renderizando, renderizando o texto permanentemente no vídeo, mas quero que o visualizador possa alternar entre idiomas.

Isto é o que eu faço atualmente:

ffmpeg \
-i video_in.mp4 -i sub_eng.ass -i sub_spa.ass \
-c copy -c:s mov_text \
-map 0:v -map 0:a -map 1 -map 2 \
-metadata:s:s:0 language=eng \
-metadata:s:s:1 language=spa \
video_out.mp4

Existe uma maneira de submarcar um vídeo com informações de posição? Cada linha nas legendas tem sua própria posição (imitando um balão de fala para indicar quem está falando).

EDIT: Solução parcial com MKV da Gyan

ffmpeg \
-i video_in.mkv -i sub_eng.ass -i sub_spa.ass \
-c copy \
-map 0:v -map 0:a -map 1 -map 2 \
-metadata:s:s:0 language=eng \
-metadata:s:s:1 language=spa \
video_out.mkv

Salve como MKV e solte a codificação de legenda. O MP4 não suporta ASS e o codificador mov_text possui recursos limitados de estilo no momento.
Gyan

@ Gyan Wow, tão fácil? Obrigado! Acabei de confirmar que sua solução funciona. Existem outros tipos de arquivo, além do MKV, compatíveis com ASS? Eu estou olhando para fazer o upload para o YouTube, que não permite MKV
owengall

Não que eu possa ver.
Gyan 28/05
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.