1

Чтобы автоматизировать сценарии для работы с видеофайлами, я хотел бы получить список поддерживаемых аудиокодеков - в идеале с их именами кодировщиков - на основе видеокодека и формата контейнера (также может быть известен как muxer или demuxer), как это поддерживается ffmpeg .

Узнайте видео кодек, используя:

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \
  -of default=noprint_wrappers=1:nokey=1 video.mp4

который возвращает h264 . Узнайте формат контейнера, используя:

ffprobe -v error -select_streams v:0 -show_format_entry format_name \
  -of default=noprint_wrappers=1:nokey=1 video.mp4

Который возвращает mov,mp4,m4a,3gp,3g2,mj2 .

Мы предполагаем, что входной видеофайл не имеет аудиопотока, поэтому мы не можем просто использовать:

ffprobe -v error -select_streams a:0 -show_entries \
  stream=codec_name -of default=noprint_wrappers=1:nokey=1 video.mp4

который в противном случае вернул бы aac .

Команды в https://stackoverflow.com/a/20587693/188159 могут иметь решение, но я не смог выяснить, как их фильтровать.

0