-map <inputNo>:<streamNo>
diz ao ffmpeg para fazer stream streamNo da entrada inputNo e adicioná-lo à saída, onde <inputNo>
começa com 0.
Às vezes, você pode querer usar o mesmo fluxo de entrada duas vezes (como -map 0:1 -map 0:1
no exemplo) porque você pode codificar cada um com codecs / parâmetros diferentes. No exemplo, a saída contém o mesmo fluxo de áudio duas vezes, um em MP3 e outro em AAC.
Por padrão (isto é, sem o comando -map
), um vídeo, um áudio e um fluxo de legenda das entradas são obtidos. Se você quiser mapear todos os fluxos de uma entrada, use -map <inputNo>
.
O fato de você não obter vídeo com seu comando pode significar apenas uma coisa: sua trilha de vídeo é codificada com um codec que pode ser alterado em MKV, mas não em MP4. Por isso, é descartado automaticamente. Você pode postar um log de ffmpeg -i input.mkv
para que possamos verificar com quais codecs as faixas estão codificadas?
Por fim, -c:s
é usado para o codec de legendas (enquanto -c:a
é para áudio e -c:v
para vídeo)