-newsubtitle
é uma opção obsoleta de versões antigas do ffmpeg; com versões mais modernas, o comando ficará assim:
ffmpeg -i input.m4v -i subtitle.srt -map 0 -map 1 -c copy -c:s mov_text output.m4v
-i input.m4v -i subtitle.srt
diz ao ffmpeg para usar esses dois arquivos como entradas.
-map 0 -map 1
diz ao ffmpeg para usar todos os streams da entrada 0 e da entrada 1.
Não é diretamente relevante para isso, mas você pode selecionar streams individuais com -map
: -map 0:v
selecionaria todos os streams de vídeo da entrada 0, -map 1:s
selecionaria todos os streams de legenda da entrada 1, -map 0:0
selecionaria fluxo 0 (o primeiro fluxo) da entrada 0, -map 1:a:0
selecionaria o primeiro fluxo de áudio da entrada 1.
-c copy
diz ao ffmpeg para copiar todos os streams da entrada sem recodificar, enquanto tendo -c:s mov_text
após o -c copy
substitui a configuração de cópia do fluxo de legenda, recodificando-o para um formulário que o contêiner MP4 pode conter.