Vídeos que são convertidos no Linux não são reproduzidos no navegador móvel

2

Eu usei avconv e ffmpeg para converter arquivos de vídeo, mas esses arquivos após esse processo não funcionaram em um navegador para dispositivos móveis. Eles só funcionam no VLC ou em qualquer outro navegador de desktop (Linux ou Windows).

E eu usei todos os códigos para conversão vistos no StackOverflow! MP4 ou WebM usando o codec H264 ou VP9 não funcionam.

O último código que usei é este:

ffmpeg -i buck.webm -b 1500k -vcodec libx264 -profile:v baseline -g 30 "example.mp4"

Funciona bem em um PC, mas não funciona em um navegador móvel (Chrome ou Firefox).

Como devo proceder?

    
por Marcos Gabriel 15.02.2016 / 15:53

1 resposta

2

Veja de perto este documento para desenvolvedores do Android:

Formatos de mídia compatíveis

Observe que isso fornece apenas configurações de linha de base e qualquer dispositivo móvel pode fornecer suporte para formatos ou tipos de arquivos adicionais não listados na tabela.

Com base nisso, parece que sua escolha de vídeo codec e configurações para este codec são aceitáveis, mas seria melhor especificar aac para o codec áudio em sua linha de comando . Isso permitiria uma ampla gama de dispositivos com reprodução bem-sucedida.

Uma linha de comando sugerida para o FFmpeg seria:

ffmpeg -i input \
        -c:v libx264 -preset slow -crf 22 \
        -profile:v baseline -level 3.0 \
        -movflags +faststart -pix_fmt yuv420p \
        -c:a libfdk_aac -b:a 128k \
        output.mp4

Alguns pontos para esta escolha de linha de comando:

  1. Para maior compatibilidade com uma ampla gama de dispositivos é recomendado usar -profile:v baseline -level 3.0
  2. É uma ideia adicionar -movflags +faststart se o seu arquivo for exibido on-line, com essa configuração ele deve iniciar a reprodução antes totalmente baixado
  3. Use -pix_fmt yuv420p para permitir a reprodução em uma variedade maior de dispositivos
  4. libfdk_aac fornece um melhor som AAC do que o codificador FFmpeg AAC nativo (quando este codificador ainda estava marcado como 'experimental')

Eu forneci um exemplo de trabalho aqui para fins de teste usando esta linha de comando.

    
por andrew.46 16.02.2016 / 22:55