Adso58
30th July 2010, 10:56
Hi!
I'm afraid I already know the answer to my question, but I'll ask anyway ;-)
I recorded a video with my Nexus One cellphone, but at 11 minutes the camera app got frozen and I had to kill it. It left an unusable 210MB .3gp file that no program recognized as video.
I inspected the file and I found that only the "mdat" atom was present. Using libavcodec and a bit of luck I managed to reconstruct the missing "moov" atom, and now I have a playable .3gp file with video (avc1) and sound (amr-nb).
My problem is that the video and sound doesn't synchronize. I don't have any problem with the sound track, it's CBR and CFR.
But I found that the Nexus One records with Variable Frame Rate, so I need the correct timing information for the "stts" atom of the video track.
My question is: is there any way I could get the timing information from the h264 stream in "mdat"? If the answer is "no" (and I'm afraid it is), is there any program that can help me to synchronize it manually changing the frame rate of parts of the video? I want to avoid recoding it if it's possible
I'm afraid I already know the answer to my question, but I'll ask anyway ;-)
I recorded a video with my Nexus One cellphone, but at 11 minutes the camera app got frozen and I had to kill it. It left an unusable 210MB .3gp file that no program recognized as video.
I inspected the file and I found that only the "mdat" atom was present. Using libavcodec and a bit of luck I managed to reconstruct the missing "moov" atom, and now I have a playable .3gp file with video (avc1) and sound (amr-nb).
My problem is that the video and sound doesn't synchronize. I don't have any problem with the sound track, it's CBR and CFR.
But I found that the Nexus One records with Variable Frame Rate, so I need the correct timing information for the "stts" atom of the video track.
My question is: is there any way I could get the timing information from the h264 stream in "mdat"? If the answer is "no" (and I'm afraid it is), is there any program that can help me to synchronize it manually changing the frame rate of parts of the video? I want to avoid recoding it if it's possible