1

У меня есть файл M4A, который также преобразуется в файл FLAC. Я хотел бы видеть, если преобразование без потерь, а именно, точно ли вывод в pcm от M4A точно так же, как от декодирования FLAC.

Я предполагаю, что есть способ использовать FFmpeg или Libav для получения некоторого "сырого" вывода и сравнения их?

2 ответа2

11

Вы можете использовать md5 muxer в ffmpeg для вычисления и печати MD5-хеша всех входных аудио (и видео) кадров без необходимости в промежуточных файлах. В этом примере flac был создан из mp3 (без потерь обычно без рекомендуемой процедуры, но это только демонстрация).

$ ffmpeg -i left_right.mp3 -map 0:a -f md5 - 2>/dev/null
MD5=a34bfd9245ad6d69eddcb92035219044

$ ffmpeg -i left_right.flac -map 0:a -f md5 - 2>/dev/null
MD5=a34bfd9245ad6d69eddcb92035219044

Также имеется framemd5 framemd5 для вычисления и печати хеша MD5 для каждого аудио (и видео) пакета.

Также см. Framemd5 Intro и HowTo.

3

Я бы попробовал преобразовать их в WAV и сравнить их контрольные суммы.

ffmpeg -i file1.m4a file1.wav
ffmpeg -i file2.flac file2.wav
md5sum file1.wav
md5sum file2.wav
rm file?.wav

Сравните произведенные md5s. Если они совпадают, поздравляем! Ваши файлы содержат те же данные. Если они не совпадают, опубликуйте вывод этих команд здесь, и я посмотрю. Потенциально, есть разница в битрейтах или что-то в этом роде (не должно быть ... но может быть, я не знаю).

Обратите внимание, что ffmpeg s будет генерировать сравнительно большие промежуточные файлы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .