Eu estava gravando um vídeo com meu Droid quando ele congelou. O arquivo 3gp resultante foi corrompido. Eu tentei jogar no mplayer e no VLC. Minha primeira tentativa ingênua de consertá-lo foi tentar reconstruir um cabeçalho baseado em um arquivo bom conhecido. Após prefixar 12 bytes do arquivo good, o container foi reconhecido pelo mplayer:
Playing Videos/VID_20100729_194430-12.3gp.
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3611f60] moov atom not found
LAVF_header: av_open_input_stream() failed
ISO: File Type Major Brand: 3GPP Profile 4
MPEG: Missing video stream!? Contact the author, it may be a bug :(
Seek failed
libavformat file format detected.
LAVF_header: av_open_input_stream() failed
A linha ISO:
mostra que o contêiner é reconhecido. Depois de ler um pouco a especificação, descobri que o áudio e o vídeo estão definidos em "caixas" neste contêiner. Meu entendimento atual é que um cabeçalho simples não vai cortá-lo.
tl; dr resumo: Alguém tem alguma experiência, em software ou manualmente, em consertar arquivos 3GP? Tem alguma sugestão para fazer este vídeo ser reproduzido?