Re: Recovering MPEG-4 and/or lossless audio files
Re: Recovering MPEG-4 and/or lossless audio files
- Subject: Re: Recovering MPEG-4 and/or lossless audio files
- From: James C Chandler Jr <email@hidden>
- Date: Mon, 13 May 2013 14:58:47 -0400
Disclaimer-- This is most likely a useless comment because it is so obvious a solution, surely it wouldn't work-- But just in case--
Are these M4A files set up as "streamable" with redundant header info encoded all thru the file? Kinda like MP3 files? I'm ignorant of low level details on M4A.
I haven't messed with this for years, but long ago experimented with it. A nasty kludge, but one could trim arbitrary sections out of MP3 files, make sure the resultant trimmed filename had the mp3 extension, and mp3 player software would play them fine, though of course there might be bad glitches on the heads and tails. Maybe this didn't work with every MP3 player, but it worked on the dirt common MP3 players I used at the time.
As soon as the player would hit the first embedded header in the hacked-up piece of the MP3 file, it would lock on and start playing the audio just fine. Same behavior as a radio playback program starting playback of a live internet stream, starting somewhere in the middle of an on-going broadcast.
If something like that also works with M4A, one would just maybe trim some space off both ends, make sure it has an M4A filename extension, decode the stream or play it into a recording software, then edit the head and tail to remove the glitches?
James Chandler Jr.
On May 12, 2013, at 9:51 PM, Iain McCowan wrote:
> Hi Chris,
>
> I feel your pain.
>
> No solution for you, but just to echo that our app has the same problem - every now and then we get a user who has lost their recording due to unreadable M4A file, even though our code is correct. It is rare, but gut-wrenching when it happens.
>
> Only observation I can make is that we have two audio recording implementations, depending on whether people use the built-in mic (we use AVFoundation audio recorder) or our own array mic (we use ExtAudioFile code for that). The corrupt M4A's seem to only happen for people using built-in's, ie the AVFoundation audio recorder class.
>
> The only solution I have found is an unrelated third-party commercial service who were able to recover the audio file for the users, but at a cost of about $70+. The third-party have some software that they customise for each audio file it seems. I'd love to know how they do it. I can pass you the details if you want to email me off list.
>
> (Of course the other obvious advice is to record to another less risky format and then convert, but this has usability issues for us due to the large multi-track recordings often over several hours).
>
> cheers,
>
> Iain.
>
>
>
> On Sat, May 11, 2013 at 4:58 AM, Christopher Liscio <email@hidden> wrote:
> Hey list,
>
> It happens once in a blue moon, but I get gut-wrenching emails from customers explaining that they were in the middle of recording some important audio in TapeDeck (http://tapedeckapp.com), when their system crashes on them.
>
> The crashes aren't always my fault, but it's definitely my problem to try and figure out!
>
> When examining the busted MPEG-4 audio files, it would appear that the entire header is zeroed out while recording. I suspect it is written out during ExtAudioFileDispose(), which obviously isn't called until the recording is stopped successfully.
>
> Given that my MPEG-4 encoding parameters are known, and that I used a constant bit rate, is there any way of recovering the audio data contained in the file?
>
> Also, is there anything I can do during recording in order to "flush" the header to the file periodically and minimize the risk of this occurring in the future?
>
> Thanks,
>
> Chris Liscio
> http://supermegaultragroovy.com
> Learn _your_ music with Capo: http://capoapp.com
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden