Capturar um frame de video e salvar em BMP

29/06/2024

0

Olá, preciso capturar um frame de vídeo e salvar em BMP.

o vídeo poderá ser um MP4, AVI, MOV, MKV ou outra extensão.

eu teria que abrir o arquivo de vídeo, fazer um "TakeShot" de um frame e salvar em BMP

o mediaplayer do firemonkey só abre AVI então não dá pra usar ele.

Talvez teria que usar um componente externo, uma api do windows?

Alguém teria alguma ideia de como fazer isso?
Alberto

Alberto

Responder

Posts

05/07/2024

Arthur Heinrich

Capturar um frame de um vídeo não é uma tarefa simples. Cada vídeo pode utilizar um CODEC diferente e a decodificação do arquivo nem sempre é simples.

Existem alguns componentes que fazem essa decodificação e, a cada frame decodificado, chamam uma rotina passando as informações da imagem. Se você utilizar um componente deste tipo, será mais fácil.

Uma alternativa seria tentar capturar o desktop onde o vídeo está sendo reproduzido. Você pode utilizar a rotina "getdc(0)", para capturar o device context do desktop e utilizar a rotina bitblt() para efetuar a cópia da imagem para o seu bitmap. Ao final, deve utilizar o "releasedc()" para liberar o device context.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar