5
I recently had a hard disk failure and could not rescue all my music files. Since I didn't have enough storage available to do a full backup of the disk, I tried to cp
as many tracks as possible, but now I am left with some files that end prematurely.
I already found this answer to find out "the song length" and this tool that does the same. For one broken file, I get this output:
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
So ffmpeg
seems to rely on some metadata (04:18 is the duration that is also displayed in my media player), while mp3_check
seems to actually read the whole file. I could use this to write a script that covers mp3, but:
Is there an easier solution rather than comparing ffmpeg
and mp3_check
output in order to find broken files?
How would I do this with Ogg files, where no mp3_check
is available?
mp3diags scans and detects truncated files. If you choose so, it even repairs them. It is available for Linux and Windows – nixda – 2015-08-28T13:04:09.403
I already have written a bash script for the first question, shall I include that in the question? Or does this topic fit better to Stackoverflow or Unix+Linux? – Jasper – 2014-04-27T18:32:40.127
I would encourage you to post the script as an answer anyway, and if someone has a solution, so be it. But maybe someone else will also find it helpful – a win-win situation. The question is perfectly fine here. We don't disallow scripting questions as long as they're in the context of anything a power user would do, but not exclusive to programming. And Unix/Linux questions are all on topic here too. – slhck – 2014-04-27T18:35:46.543