H.264 em MP4
Geralmente, você deseja criar um vídeo x264 em um contêiner MP4. Esta opção é suportada basicamente por qualquer dispositivo e navegador.
O seguinte deve ser o suficiente. Certifique-se de substituir o nome de entrada e as opções de CRF. O segundo define a qualidade, onde os valores sãos variam de 19 a 25 - menor significa melhor qualidade, mas também maior taxa de bits:
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -movflags faststart output.mp4
Você também pode usar o Handbrake para codificar, se você gostar do modo GUI.
Usando a opção faststart
Agora, o que você precisa fazer é mover o MOOV atom do contêiner MP4 para o início. Este átomo (em essência, uma unidade de dados no contêiner MP4) contém metadados importantes sobre os próprios fluxos de vídeo / áudio. -movflags faststart
deve fazer exatamente isso.
Se a sua versão do FFmpeg não tiver essa opção, considere a atualização. Se você não pode atualizar, você pode conseguir a mesma coisa com qualquer uma das ferramentas abaixo:
-
QTIndexSwapper , um aplicativo do Adobe AIR
-
MP4Box , gratuito e de código aberto, executando um comando semelhante ao seguinte, onde você pode alterar o intervalo (aqui, 500):
mp4box -inter 500 input.mp4
-
qt-faststart no Python , que funciona em todos os lugares onde o Python está instalado.
qtfaststart input.mp4
É sobre isso.
Controlando a taxa de bits / qualidade
Agora, é claro, para streaming você pode querer restringir a taxa de bits para permanecer dentro de certos limites. Você pode ler mais sobre isso em meu post no blog sobre métodos de controle de taxa .
Por exemplo, adicionando -maxrate 2M -bufsize 2M
às opções de codificação, você limita a codificação a 2 Mbit / s, o que pode ser suficiente para o vídeo de 720p. A taxa de bits exigida dependerá, obviamente, da complexidade do conteúdo. Isso leva algumas tentativas e erros.