Buscar em qualquer arquivo MP4 via HTTP pode ser feito mais ou menos simplesmente.
Se o arquivo não estiver fragmentado, todas as informações de busca estão localizadas na caixa 'moov', portanto, não há problema. Isto é o que mp4box.js demonstra. Se os dados estiverem mal organizados, será necessário fazer várias solicitações de intervalo de bytes HTTP. É mais fácil se as caixas de cabeçalho forem as primeiras (ftyp, moov ...) e se os dados de mídia estiverem intercalados. MP4Box pode ser usado para gerar tais arquivos:
MP4Box -add file.mp4 output.mp4
Se o arquivo estiver fragmentado, de fato, a informação de busca é espalhada ao longo do arquivo e a caixa 'mfra' pode ser usada, mas não é bem suportada e não é confiável.
A segmentação (como usada no DASH) também pode ser usada para fazer arquivos HTTP pesquisáveis, se feito com cuidado. Se você segmentar seu arquivo, forçando um único arquivo de segmento, todos os dados estarão em um único arquivo (não em vários arquivos de segmento). Se você adicionar a caixa 'sidx', você terá as informações de indexação no arquivo (não há necessidade do MPD). Para ter ambos, você pode segmentar seu arquivo usando o perfil OndeAnde DASH com MP4Box:
MP4Box -dash 1000 -profile ondemand file.mp4