ffmpeg -i myvid.mp4 -r 25 -t 100 image-%d.jpeg
É o comando que estou usando para extrair quadros e está funcionando exatamente como eu esperava. No entanto, eu também gostaria de observar os registros de data e hora dos quadros. Com qualquer precisão. 100 milissegundos é bom o suficiente para mim. O ffmpeg pode fazer isso?
Fornecendo detalhes adicionais,
Quando executo o comando acima, recebo cerca de 100 JPEGs, acho que há uma correspondência de 1 para 1 (ou muitos para 1) entre esses JPEGS e os quadros do vídeo. Gostaria de saber o registro de data e hora do quadro que foi gerado como uma imagem JPEG 'i'.
Além disso, tentei o ffprobe, mas acho que ele informa até a duração do vídeo de maneira imprecisa :(
capture
tempo.ffmpeg
saída completa do console do seu comando.Respostas:
O que você pode fazer é "simular" o processo de gravação da imagem, filtrando com o
fps
filtro e usandoffprobe
para mostrar os carimbos de data / hora dos quadros gerados. Isso significa que, a 25 qps, o 50º quadro (como sua 50ª imagem) terá um PTS de 2,00 segundos.Você faz assim:
Saída:
Esses são os carimbos de data e hora para cada imagem de saída. Você pode realmente combinar a lista de quadros e os carimbos de data e hora:
Criará um arquivo com:
Observe que isso pode resultar em linhas estranhas se houver muitos quadros ou muitas linhas de saída de informações. Parece um pouco impreciso lá.
fonte
-vsync drop
, mas isso acontece após a filtragem do IIRC.