Недавно у меня произошел сбой жесткого диска, и я не смог спасти все свои музыкальные файлы. Поскольку у меня не было достаточно свободного места для полного резервного копирования диска, я попытался cp
как можно больше дорожек, но теперь у меня остались некоторые файлы, которые заканчиваются преждевременно.
Я уже нашел этот ответ, чтобы узнать "длину песни" и этот инструмент, который делает то же самое. Для одного испорченного файла я получаю этот вывод:
ffmpeg -i broken.mp3 2>&1 | grep Duration
Duration: 00:04:18.14, start: 0.025057, bitrate: 92 kb/s
mp3_check -a broken.mp3 2>&1| grep SONG
SONG_LENGTH 01:43.05
Таким образом, ffmpeg
похоже, полагается на некоторые метаданные (04:18 - это длительность, которая также отображается в моем медиаплеере), в то время как mp3_check
кажется, фактически читает весь файл. Я мог бы использовать это, чтобы написать сценарий, который охватывает mp3, но:
Есть ли более простое решение, чем сравнение выходных файлов ffmpeg
и mp3_check
с целью поиска поврежденных файлов?
Как бы я сделал это с файлами Ogg, где нет mp3_check
?