Есть разница между контейнерами и кодировкой. m4v - это контейнер, как и WAV, WMA, WMV, AAC и т. д. Все они поддерживают несколько кодировок. Но есть некоторые общие закономерности. ffprobe может помочь.
Извлечение аудио из видеофайлов с помощью ffmpeg очень подробно описано здесь:https://gist.github.com/protrolium/e0dbd4bb0f1a396fcb55
В этом есть пример того, как вы можете делать то, что вы ищете, в некоторых случаях, используя ffprobe и sed:
for file in *mp4 *avi; do ffmpeg -i "$file" -vn -acodec copy "$file".`ffprobe "$file" 2>&1 |sed -rn 's/.Audio: (...), ./\1/p'`; done
На связанной странице вышеупомянутое, казалось, было повреждено кодировкой html. Я пытался это исправить. Это может быть упрощено для одного файла:
ffmpeg -i "myfile.m4v" -vn -acodec copy "myfile".`ffprobe "myfile.m4v" 2>&1 |sed -rn 's/.Audio: (...), ./\1/p'`
Но если вы не используете sed и оболочку bash, то это не сработает. (т.е. не будет работать на окнах). Это также не будет работать, если кодировка в видеофайле обычно не соответствует расширению файла. В Windows вы, вероятно, могли бы придумать powershell или vbscript, который бы делал то же самое.