Existe alguma ferramenta de comando disponível para extrair quadros de vídeo/stream e gravar o carimbo de data/hora de cada quadro?

Existe alguma ferramenta de comando disponível para extrair quadros de vídeo/stream e gravar o carimbo de data/hora de cada quadro?

Como o ffmpeg não oferece suporte ao argumento de linha de comando para gravar o carimbo de data e hora do quadro atual como nome do arquivo de saída, estou procurando desesperadamente por uma ferramenta de linha de comando que suporte a extração de imagem do fluxo de vídeo/vídeo e a saída do carimbo de data e hora do quadro atual como nome do arquivo.

Existe alguma ferramenta disponível para tal requisito?

Responder1

Você poderia fazer isso em um processo de várias etapas, usando ffmpeg e uma ferramenta de renomeação em lote, comoRenomeador Avançado.

Suponha que você queira extrair cada 40 quadros

#1Extraia frames e lista de carimbos de data/hora da apresentação.

ffmpeg -i in.mp4 -vsync 0 -vf select=not(mod(n\,40)) frames-%d.jpg
       -vf select=not(mod(n\,40)) -f mkvtimestamp_v2 pts.txt

Além das imagens, você também obtém pts.txt que se parece com isto:

# timecode format v2
0
1600
3200
4800
6400
8000
9600
11200
12800
14400
16000

Esses são os carimbos de data/hora dos quadros extraídos, expressos em milissegundos

#2Em seguida, use um aplicativo de renomeação em lote que suporte a renomeação usando uma lista para modificar os nomes dos arquivos dos quadros. Ou um script de shell.

informação relacionada