Para automatizar scripts para manipular arquivos de vídeo, eu gostaria de obter uma lista de codecs de áudio suportados - idealmente com seus nomes de codificador - com base em um codec de vídeo e formato de contêiner (também pode ser conhecido como muxer ou demuxer) por ffmpeg
.
Descubra o codec de vídeo usando:
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \
-of default=noprint_wrappers=1:nokey=1 video.mp4
que retorna h264
. Descubra o formato do contêiner usando:
ffprobe -v error -select_streams v:0 -show_format_entry format_name \
-of default=noprint_wrappers=1:nokey=1 video.mp4
Que retorna mov,mp4,m4a,3gp,3g2,mj2
.
Assumimos que o arquivo de vídeo de entrada não possui fluxo de áudio, por isso não podemos simplesmente usar:
ffprobe -v error -select_streams a:0 -show_entries \
stream=codec_name -of default=noprint_wrappers=1:nokey=1 video.mp4
que, de outro modo, retornaria aac
.
Os comandos do link podem ter a solução, mas não consegui descobrir como filtrá-los.