Конвертировать m4a в aac без потери качества?

3633
Blrp

Я хочу использовать программу для файла .m4a, но программа не может обработать .m4a. Однако он может обрабатывать .aac, а кодек файла - MPEG-4 AAC. Есть ли способ конвертировать в .aac (и желательно конвертировать обратно) без перекодирования?

(Альтернативное решение: есть ли у кого-нибудь хорошая программа для разделения без потерь файлов .m4a? Mp3DirectCut пинает задницу, но не может обработать .m4a.)

3
Разве .m4a и .aac - это не просто два разных расширения имени файла для одного и того же формата файла контейнера и кодека? Вы пытались просто изменить расширение имени файла и посмотреть, не слишком ли требовательно ваше приложение к расширениям имени файла? Spiff 8 лет назад 1
@Spiff Я попробовал это. Вылетает приложение. Также winamp воспроизводит .aac и .m4a, но не файл .m4a с расширением, измененным на .aac. Blrp 8 лет назад 1
Таким образом, в случае, если кто-то еще был смущен таким же образом, как я, получается, что хотя AAC был разработан как аудиокодек для MPEG и, таким образом, наиболее естественным образом виден в файлах-контейнерах MPEG-4 .m4a, очевидно, что файл .aac более скорее всего, это чистый поток битов AAC, не упакованный в контейнер MPEG-4. http://stackoverflow.com/questions/18110399/what-is-the-difference-between-m4a-and-aac-audio-files Spiff 8 лет назад 2
невозможно сделать преобразование без потерь между двумя форматами с потерями. Небольшое снижение качества всегда вносится на каждом этапе кодирования. Вы можете конвертировать только с ** минимальной потерей качества ** phuclv 6 лет назад 0
@phuclv Правильно, так что если нет шагов кодирования ... Blrp 6 лет назад 0
@Blrp, это возможно, только если вы копируете поток напрямую, т.е. контейнер m4a должен содержать потоки MPEG-4 Part 3 (AKA AAC). На практике m4a часто содержит аудиопотоки MPEG-4 Part 14 phuclv 6 лет назад 0
@phuclv Ну, у меня не было проблем с этим. Я в основном использую его на файлах m4a, загруженных с YouTube, хотя. Blrp 6 лет назад 0

1 ответ на вопрос

3
Blrp

I found the answer from the creator of mp3DirectCut. He gives three options. Relevant part of his post follows:


I use the "DSM converter" of an old version of the "Media Player Classic" (1.3.1249.0). Also "FFmpeg" can demux (command line: ffmpeg.exe -i inputfile.mp4 -acodec copy outputfile.aac).

There is also MP4Creator which is much smaller. This small batch file can be used for easy decoding by dropping files on it:

mp4creator demux.bat:

@echo off mp4creator.exe -list %1 echo Demux which track (usually 1 or 2)? set /p track= mp4creator.exe -extract=%track% %1 pause 

The extension output file must be renamed to AAC - and you got it.


I went with ffmpeg. To convert back to AAC it appears that an additional option is needed. The commands for converting to and from AAC are like below:

ffmpeg -i in.m4a -acodec copy out.aac ffmpeg -i in.aac -acodec copy -bsf:a aac_adtstoasc out.m4a