Por que meu mp4 (h.264) precisa do mp4box o tempo todo?

0

Sempre que eu converto um vídeo em mp4 com codec h.264, ele não é reproduzido imediatamente no Windows ou iPad. Ele funciona bem quando eu converter o vídeo com mp4box . Eu uso o seguinte comando para converter.

mp4box -hint video.mp4

Eu gosto de saber o que estou adicionando ao vídeo com o mp4box ..

Como isso funciona?

    
por user45326 21.05.2011 / 07:39

2 respostas

3

Observe que mp4box não codifica nenhum vídeo, ele é usado apenas para reempacotar o conteúdo existente. Então, meu palpite é que você já tem um vídeo codificado e depois usa mp4box para adicionar a opção hint . Embora esse fluxo de trabalho realmente não faça sentido para mim no início, deixe-me explicar o que hint significa:

A opção -hint provavelmente é chamada para introduzir o chamado Hint Track ao arquivo de vídeo.

O que é uma pista de dicas? Bem, o seu arquivo de vídeo em si é uma série de bits, nada mais, e em algumas aplicações, isso é muito ineficiente. Tomemos o exemplo de um servidor que transmite o vídeo. Ele precisa encapsular o vídeo em pacotes enviados pela rede. Mas como o servidor sabe quais partes do vídeo colocar em qual pacote? Se o servidor não conhecer a estrutura do fluxo de bits, não será capaz de empacotá-lo corretamente.

Aqui é onde a pista de dicas entra em cena. Ele é gerado para permitir que um servidor de streaming empacote corretamente o vídeo em pacotes RTP. Basicamente, uma pista com essa dica diz "Coloque parte XY do vídeo no pacote AB ".

Tudo dito, um verdadeiro h.264 não precisa ter uma pista de dicas para streaming, já que o h.264 tem uma Camada de Abstração de Rede que fornece ao servidor de streaming todas as informações necessárias para empacotar o vídeo. A sugestão é necessária apenas para vídeos visuais MPEG-4 (por exemplo, codificados com DivX ou XviD).

Verifique se o seu codificador já gera um arquivo mp4 válido - qual você usa realmente?

    
por 21.05.2011 / 10:53
1

Qual programa você está usando para criar / codificar o vídeo h264 no local? Pode ser que o codificador esteja produzindo um arquivo h264 bruto, esse fluxo bruto geralmente precisa ser colocado em um formato de contêiner, como mkv ou mp4, junto com o fluxo de áudio, antes de poder ser reproduzido.

Verifique seu codificador h264 para ver se ele coloca automaticamente o vídeo codificado em um contêiner mp4, ou se ele possui um perfil / configurações específico para o seu dispositivo. se isso acontecer, mas ainda não for reproduzido, pode ser apenas um bug, caso em que você terá que usar o mp4box manualmente.

    
por 21.05.2011 / 10:11