Seleção de fluxo
Por padrão, ffmpeg
seleção de fluxo mapeará apenas um fluxo por tipo de fluxo com base nos seguintes critérios:
- vídeo - o fluxo com a maior resolução
- audio - o stream com mais canais
- legendas - o primeiro fluxo de legendas
No caso em que vários fluxos do mesmo tipo são iguais, o fluxo com o menor índice é escolhido.
O uso da -map
option substituirá esse comportamento, conforme mostrado abaixo.
Exemplo 1: mapeamento explícito
Diga a ffmpeg
exatamente quais fluxos você deseja consultando os índices do fluxo de entrada:
ffmpeg -i input -map 0:1 -map 0:2 -c copy output
-
-c copy
stream copy (re-mux) cada fluxo mapeado em vez de recodificar.
Ou use especificadores de fluxo :
ffmpeg -i input -map 0:v -map 0:a:0 -c copy output
-
O uso dos especificadores de fluxo é mais flexível porque você não precisa saber o índice de fluxo exato e pode ajudar a evitar mapeamentos acidentais, como a tentativa de mapear vídeo para um formato somente de áudio
-
-map 0:v
mapeará todos os fluxos de vídeo da entrada 0 (ffmpeg
começa a contar a partir de 0, então 0 é a primeira entrada e a única entrada no seu caso). -
-map 0:a:0
mapeará o primeiro fluxo de áudio da entrada 0.
Exemplo 2: mapeamento negativo
Diga a ffmpeg
para mapear tudo e escolha o que excluir:
ffmpeg -i input -map 0 -map -0:a:1 -c copy output
-
-map 0
mapeia todos os fluxos da entrada 0. -
-map -0:a:1
excluirá o segundo fluxo de áudio da entrada 0.