Que lista de comandos devo fazer no ffmpeg / mencoder / some_other_CLI_app para obter um vídeo nos formatos certos para usar o Video for Everybody ?
Existe uma sutileza que impede que exista um tutorial mecânico que diga
VIDEO=video.mp4
TYPE=$(ffmpeg --find-information-about-the-video ... )
ffmpeg ... > video.mov
ffmpeg ... > video.flv
ffmpeg ... > video.webm
ffmpeg ... > video.h.264
...
Em seguida, copie e cole o código do Video for Everybody na sua página?
Meu objetivo é ter um vídeo incorporado em minha página pessoal hospedada por mim. O HTML5 com fallback de flash é o preferido; portanto, a maneira mais simples parece ser o Vídeo para Todos. Mas essa página deixa a parte mais complicada, codificando o vídeo em todos os diferentes formatos, para o leitor descobrir lendo um artigo longo e completo sobre os formatos de vídeo . Certamente isso não é necessário. Eu poderia fornecer uma lista de comandos para um usuário converter cegamente um arquivo de áudio em vários formatos diferentes. Espero que um guru do ffmpeg possa fazer o mesmo com o vídeo.
.mov
há vídeo para HTML5 e também não háh.264
extensão. Não é.264
, que é a bytestream Anexo B cru para unidades NAL. Codificação de vídeo não é ciência do foguete, mas você precisa investir um pouco de tempo para conhecer os conceitos.Respostas:
Nota: Esta resposta foi fortemente editada desde a postagem original. Agora é 2017; o streaming funciona de maneira diferente do que costumava ser. Este guia pressupõe o download progressivo simples de um fluxo de vídeo em uma determinada resolução - sem fluxo adaptável.
Exigências
Primeiro, certifique-se de baixar uma
ffmpeg
versão recente (faça o download de uma compilação estática; não chameapt-get install ffmpeg
ou similar). Idealmente, compile você mesmo . Não demora muito.Para gerar vídeos suportados pela maioria dos navegadores, sempre verifique a tabela de compatibilidade mais recente . Não existe um codec / formato único que funcione em todos os navegadores, mas se você gerar H.264 em MP4 e VP9 no WebM, com o respectivo codec de áudio, terá suporte para Chrome, Firefox, Safari e algumas versões do IE.
WebM (VP9 / Vorbis)
Siga as recomendações no guia FFmpeg VP9 e use uma abordagem de codificação de duas passagens com restrições de taxa:
A taxa de bits de destino depende da sua resolução, taxa de quadros, do tipo de conteúdo e da qualidade desejada. 2,5 MBit / s deve ser um bom compromisso para vídeo HD a 30 qps. Consulte este guia do Google para obter algumas recomendações.
MP4 (H.264 / AAC)
Siga as recomendações no guia FFmpeg H.264 e use uma abordagem de codificação de duas passagens com restrições de taxa:
Aqui, a taxa de bits de destino deve ser cerca de 50% superior à do vídeo VP9, pois o H.264 não é tão eficiente. Adicione a
-movflags faststart
opção à segunda passagem para acelerar o carregamento inicial do vídeo.Para definir opções de áudio, consulte o guia de codificação AAC .
fonte