angrasbss
(usa Ubuntu)
Enviado em 11/02/2018 - 12:47h
É assim, quando você dá o comando mkvmerge -i <arquivo de vídeo>, ele dará as posições das faixas de áudio, vídeo e legendas. No meu caso, quando dou este comando no arquivo filme.mkv, ele dá a seguinte informação:
ID da faixa 0: audio (MP3)
ID da faixa 1: subtitles (SubRip/SRT)
ID da faixa 2: video (MPEG-4p10/AVC/h.264)
ID da faixa 3: audio (AAC)
ID da faixa 4: subtitles (SubRip/SRT)
O que me interessa é o número que vem após "ID da faixa", que é a localização da faixa que desejo. No caso, eu só quero os números das localizações das faixas de áudio, que é 0 e 3. Neste contexto, para pegar estes dados, realizo o seguinte comando:
angrasbss@HPavilion ~/Downloads/testes $ mkvmerge -i filme.mkv |grep "audio"
ID da faixa 0: audio (MP3)
ID da faixa 3: audio (AAC)
Como eu só quero os números das localizações, faço o seguinte comando:
angrasbss@HPavilion ~/Downloads/testes $ mkvmerge -i filme.mkv |grep "audio" | cut -d ' ' -f4 | sed s/://
0
3
Uma vez que consigo somente estes números, preciso que eles se tornem variáveis e sejam inseridos em outro comando desta forma:
ffmpeg -i <arquivo de vídeo> -map 0:<número da localização do áudio X> -map 0:<número da localização do áudio Y>
E assim sucessivamente enquanto houver faixas de áudios.
Em suma, preciso que leia todas as informações do arquivo apontado, reconheça quais as faixas de áudio e insira os números das faixas de áudio em parâmetros de outro comando.
Espero ter conseguido explicar melhor.
Obrigado pela atenção.