MP4 Atom Parsing - onde configurar o tempo…?
Eu escrevi um analisador MP4 que pode ler átomos em um MP4 muito bem e juntá-los novamente - o resultado é um arquivo MP4 tecnicamente válido que o Quicktime pode abrir e tal, mas não pode reproduzir nenhum áudio, pois acredito que a informação de tempo / amostragem está desativada. Eu provavelmente deveria mencionar que estou interessado apenas em áudio.
O que estou fazendo é tentar pegar os átomos moov / etc de um MP4 existente, e então pegar apenas um subconjunto do átomo mdat no arquivo para criar um MP4 novo e menor. Ao fazê-lo eu alterei oduration
nomvhd
átomo, bem como a duração nomdia
cabeçalho. Não hátkhd
átomos neste arquivo que edita, então eu acredito que eu não preciso alterar as durações lá - o que estou perdendo?
Ao criar o novo MP4 eu estou seccionando corretamente omdat
bloquear com uma caixa larga, e mantendo o cabeçalho / tamanho 'mdat' em seus lugares certos - eu me certifico de atualizar o tamanho com o novo conteúdo.
Agora é totalmente possível que eu esteja faltando algo crucial sobre o formato, mas se isso for possível, eu adoraria ter a peça final. Alguém tem alguma entrada / ideias?
Código pode ser encontrado no seguinte link: