Como codificar um vídeo com timestamps para ter sincronização de áudio / vídeo

2

ISENÇÃO DE RESPONSABILIDADE: Infelizmente, sou muito novo em codecs e uso do FFMPEG, por isso peço desculpas por qualquer terminologia incorreta ou se, na verdade, isso é uma questão muito facilmente resolvida.

Eu tenho uma sequência de imagens jpeg e uma seqüência de quadros mp3 em que cada um tem um timestamp associado.

Assumindo um framerate constante que pode ser encontrado a partir do número de imagens / duração do vídeo, eu pude montar um AVI fora das imagens jpeg e um wav fora dos frames mp3 (depois de algumas bobagens com o FFMPEG) . Estes podem então ser combinados de forma simples para criar um contêiner avi com som e vídeo.

Na maioria das vezes, a suposição de que a taxa de quadros é constante está correta e produz um produto em que o áudio e o vídeo são sincronizados. No entanto, há momentos em que a taxa de quadros foi drasticamente reduzida quando os fluxos foram originalmente gravados, o que resulta no vídeo final estar completamente fora de sincronia.

Como tenho os timestamps, sinto que deve haver uma maneira simples de codificar o vídeo em que cada quadro jpg é chamado timestamp. No entanto, minhas pesquisas na codificação de vídeos com taxa variável geraram duas soluções. O primeiro requer o uso de um codec como MJPEG que aceita codificação de taxa variável usando um script personalizado (não parece muito simples, já que eu não sou um profissional no FFMPEG). O outro exigia quadros de imagem repetidos para manter uma taxa de quadros constante.

O que vocês sugerem que eu faça?

    
por sashu2012 29.05.2013 / 22:07

0 respostas