Como comparar dois arquivos de áudio sem perdas?

1

Eu tenho um arquivo M4A que também é convertido em um arquivo FLAC. Eu gostaria de ver se a conversão é sem perdas, ou seja, se a saída para pcm da M4A é exatamente idêntica à saída da decodificação FLAC.

Eu suponho que há uma maneira de usar o FFmpeg ou Libav para produzir alguma saída "bruta" e compará-los?

    
por Determinant 10.01.2013 / 02:32

2 respostas

3

Eu tentaria convertê-los em WAV e comparar seus checksums.

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

Compare os md5s produzidos. Se eles combinarem, parabéns! Seus arquivos contêm os mesmos dados. Se eles não coincidirem, poste a saída desses comandos aqui, e eu olharei. Potencialmente há uma diferença de taxa de bits ou algo assim (não deveria haver ... mas pode haver, eu não sei).

Observe que ffmpeg s gerará arquivos intermediários comparativamente grandes.

    
por 10.01.2013 / 02:36
11

Você pode usar o md5 muxer no ffmpeg para calcular e imprimir o hash MD5 de todos entrada de áudio (e vídeo) sem a necessidade de arquivos intermediários. Neste exemplo, o flac foi criado a partir do mp3 (com perdas para perdas geralmente não é um procedimento recomendado, mas isso é apenas uma demonstração).

$ 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

Há também o framemd5 muxer para calcular e imprimir o hash MD5 para cada áudio ( e vídeo) pacote.

Veja também framemd5 Intro e HowTo .

    
por 10.01.2013 / 22:08