Use a -map
opção para escolher seus fluxos. A seleção de fluxo padrão escolherá apenas um de cada tipo de fluxo, e é por isso que -map
precisa ser usado.
Substituir o segundo fluxo de áudio
ffmpeg-ivideo.mkv-iaudio.mp3-map0:v-map0:a:0-map1:a\-metadata:s:a:0language=eng-metadata:s:a:1language=sme-codeccopy\-shortestoutput.mkv
0:v
-O0
refere-seàprimeiraentradaqueévideo.mkv
.Ov
significa"selecionar tipo de fluxo de vídeo".-
0:a:0
- O0
refere-se à primeira entrada que évideo.mkv
. Oa
significa "selecionar tipo de fluxo de áudio". O último0
refere-se ao primeiro fluxo de áudio dessa entrada. Se somente0:a
for usado, todos os fluxos de vídeo serão mapeados. -
1:a
- O1
refere-se à segunda entrada, que éaudio.mp3
. Oa
significa "selecionar tipo de fluxo de áudio". -
-codec copy
cópia de fluxo (re-mux) em vez de codificar. Se você precisar de um codec de áudio específico, deverá especificar-c:v copy
(para manter o vídeo) e, em seguida, por exemplo,-c:a libmp3lame
para recodificar o fluxo de áudio para MP3. -
-shortest
terminará a saída quando a entrada mais curta terminar.
Combine dois fluxos de áudio em um
ffmpeg-ivid.mkv-iaud.mp3-filter_complex"[0:a][1:a]amerge=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -strict experimental -b:a 192k -ac 2 \
-shortest out.mp4
- A filtragem requer recodificação, e o
amerge
filter é usado aqui, então o áudio não pode ser stream copiado neste exemplo.