Como eu removo faixas de áudio e legendas selecionadas usando o ffmpeg?

2

então eu tenho um vídeo (pode ser MKV ou MP4) com várias faixas de áudio e várias legendas (idiomas diferentes).

O que eu quero é remeter para um novo vídeo e:

  1. selecionando apenas 1 ou 2 faixas de áudio
  2. selecionando apenas 1 ou 2 faixas de legenda
  3. criar uma faixa de áudio e uma faixa de legenda (se disponível) como padrão, para que sejam selecionadas automaticamente quando o vídeo for reproduzido usando o VLC.

Eu pesquisei na rede, mas não consigo encontrar o que estou procurando. Eu também olhei para o "homem ffmpeg". Acho que posso ter que usar o parâmetro -map, mas os exemplos dados parecem estar limitados a copiar apenas o áudio.

Muito obrigado! :)

    
por mrjayviper 29.06.2016 / 02:36

1 resposta

2

Suponha que sua entrada tenha 3 faixas de áudio e legenda ao lado de uma trilha de vídeo e, em seguida, mude o vídeo, a 2ª faixa de áudio e a 1ª + 3ª faixa de legenda, use

ffmpeg -i in.mkv -c copy -map 0:v -map 0:a:1 -map 0:s:0 -map 0:s:2 out.mkv

O FFmpeg, afaik, não define corretamente sinalizadores padrão para fluxos, portanto, sua melhor opção é alterar a faixa padrão pretendida. Suponha que, no exemplo acima, você quisesse que o terceiro fluxo de legendas fosse o padrão, você usaria então

ffmpeg -i in.mkv -c copy -map 0:v -map 0:a:1 -map 0:s:2 -map 0:s:0 out.mkv

(A ordem dos argumentos do mapa define a ordem dos fluxos na saída)

    
por 29.06.2016 / 07:56

Tags