Enquanto Gyan recebeu a resposta, vou explicar como consegui que isso funcionasse.
Como as chances de eu conseguir corresponder a duração exata e a taxa de quadros de um filme e, portanto, obter uma sobreposição perfeita de dois vídeos, são improváveis na melhor das hipóteses, impossíveis na pior das hipóteses, decidi adotar uma abordagem alternativa.
A sobreposição perfeita de quadros pode ser feita desconstruindo o vídeo de destino em seus quadros individuais:
exec.Command("ffmpeg", "-i", fmt.Sprintf("%s%s", CCME.PathsToUse[0], CCME.UnderlayVideo),
"-start_number", "0", "-qscale:v", "2", fmt.Sprintf("%s%s%%d.jpg", TempDirPath[0], VideoName))
Sobrepondo os quadros individualmente:
for x:=0; x<len(files)-2; x++ {
overlayFile := exec.Command("ffmpeg", "-i", fmt.Sprintf("%s%s%d.jpg", TempDirPath[0], VideoName, x),
"-i", fmt.Sprintf("%s%s%d.png", CCME.PathsToUse[1], CCME.VideoName, x),
"-filter_complex", "overlay", "-y", fmt.Sprintf("%s%s%d.jpg", TempDirPath[1], VideoName, x))
(Nota: -2 não precisa estar lá na maioria dos casos. O TempDir é feito em contém um subdiretório e arquivo de áudio que precisava ser contabilizado.)
Em seguida, Reconstruindo o vídeo baseado fora do framerate e videotype, pegou analisando a saída do arquivo ffmpeg -i:
cmdConstruct := exec.Command("ffmpeg", "-framerate", AudioFS[1], "-i", fmt.Sprintf("%s%s%%d.jpg", TempDirPath[1], VideoName),
"-c:v", "libx264", "-crf", "18", "-pix_fmt", "yuv420p", "-y",
"-vsync", "0", "-strict", "-2", fmt.Sprintf("%s%s.%s", CCME.PathsToUse[2], CCME.FinalVideoName, VideoFormat))
Usando esse método, o áudio também precisava ser adicionado novamente. No meu caso, simplesmente extrair o áudio do arquivo principal e alterá-lo sobre o novo vídeo funcionou para mim.