Ir para conteúdo
Fórum Script Brasil
  • 0

Como capturar imagem de um video em pausa?


manusnigro

Pergunta

Olá pessoal, estou tentando fazer um programa que permite ao pausar um video, capturar a imagem atual do video em pausa e salvar a mesma em jpg ou bmp.

Para isso, uso os componentes TMediaPlayer e TOleContainer.

O problema é o seguinte, simplesmente não consigo salvar a imagem. Alguém pode me ajudar? Já tenho duas semanas tentando fazer e não consigo.

Eu sei que no windows, dando pause em um video qualquer, que está rodando de um player qualquer, ao tentar tentar capturar a imagem com Print e colar no paint, apenas aparece uma imagem de cor escura onde deveria aparecer a imagem do video. Salvo em videos do youtube.

Bom, mas realmente preciso fazer esse meu programa funcionar. Por favor, se alguém puder me ajudar com isso eu realmente ficarei muito grato.

Abraço

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Olá pessoal, estou tentando fazer um programa que permite ao pausar um video, capturar a imagem atual do video em pausa e salvar a mesma em jpg ou bmp.

Veja esses links

https://www.scriptbrasil.com.br/forum/index...howtopic=131901

http://www.inf.ufsc.br/~prass/vcl/multimidia.html

abraço

Olá Jhonas, boa tarde!

Obrigado pela dica, mas eu preciso desenvolver estre programa, não posso usar de terceiros.

Bom, meu programa precisa dar zoon no video o que já faz e acelerar o mesmo em até 50x, o que também já faz, somente preciso agora pausar o video e através do meu programa salvar a imagem que está em pausa no meu programa, mas somente esta imagem.

E para piorar, o formato do arquivo é .asf.

São videos gravados das cameras de ônibus.

No segundo link que você indicou tem até um componente que trrabalha com videos, não sei se com ele teria como eu salvar uma imagem do video, não testei pois não consegui abrir o video .asf.

Se ainda puder me ajudar, ficarei grato.

Link para o comentário
Compartilhar em outros sites

  • 0

O problema de usar o componente MediaPlayer é que voce deve jogar a imagem em um componente TPanel atraves da propriedade Display .... entretanto quando voce usa o Alt + Print Screen para salvar a figura que esta na tela, percebe que esta figura não está estática, pois se voce jogá-la para o Paint e mover a figura selecionada, verá que a figura ao fundo ficará se movendo independe da figura central....

por isso a imagem capturada fica escura, pois as coordenadas da figura do video não são as mesmas que foram obtidas através do Print Screen.

voce pode nesse caso usar duas soluções:

1 - usar o componente TSCap32 ... veja os posts

http://scriptbrasil.com.br/forum/index.php...;highlite=tscap

2 - Passar a figura que esta no TPanel para um TImage e depois salva-la no formato JPG

ou ficar quebrando a cabeça por não querer usar componentes de terceiros que fazem isso

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
O problema de usar o componente MediaPlayer é que voce deve jogar a imagem em um componente TPanel atraves da propriedade Display .... entretanto quando voce usa o Alt + Print Screen para salvar a figura que esta na tela, percebe que esta figura não está estática, pois se voce jogá-la para o Paint e mover a figura selecionada, verá que a figura ao fundo ficará se movendo independe da figura central....

por isso a imagem capturada fica escura, pois as coordenadas da figura do video não são as mesmas que foram obtidas através do Print Screen.

voce pode nesse caso usar duas soluções:

1 - usar o componente TSCap32 ... veja os posts

http://scriptbrasil.com.br/forum/index.php...;highlite=tscap

2 - Passar a figura que esta no TPanel para um TImage e depois salva-la no formato JPG

ou ficar quebrando a cabeça por não querer usar componentes de terceiros que fazem isso

abraço

Olá denovo amigo, bom dia!

Mais uma vez obrigado por me ajudar.

Então, não tinha problema em usar componentes de terceiros (apesar que realmente não gosto), mas eu me referia a um dos links, onde o pessoal indicava um certo programa para fazer a captura da imagem de um video, o que não ia me servir.

Baixei o tscap32 que você indicou, mas infelizmente ele somente serve para capturar imagem de webcam e a partir daí ele salva as imagens. Mas é um ótimo componente, inclusive vem com o fonte, o que é muito bom. Ao olhar o fonte dá para ver que quem o fez sabia realmente o como fazer.

Tentei a seguda opção que você falou, tirei o TOleContainer e coloquei um TPanel como Display do TMediaPlayer e tentei capturar a imagem do TPanel e colocar no TImage como você tinha dito, ficando meu código assim:

Panel1.PaintTo(Image1.canvas, 0,0);

Ele faz a captura do TPanel, porém leva somente o mesmo e não leva a imagem.

Eu vonsegui capturar a imagem do video no Seven, no Windows XP parece impossível isso rss...

Bom, eu consigo capturar no Seven, mas somente consigo simular o Alt+Print, ou seja, somente consigo capturar a janela atual, no caso o que seria meu programa, e com isso somente no Seven a imagem do video aparece, porém ainda tem um problema, sempre ao abrir um video novo, a primeira captura sai com a parte onde deveria ter o video preta. Apesar que capturar a janela toda do programa também não é interessante, o que deve ser capturado é somente a imagem em pausa.

O sistema era para o seguinte fim:

Um empresa de ônibus tem cameras em seus ónibus gravando 24 horas. Esta empresa tem funcionários que assistem esses videos e precisam além de assistir os mesmo de maneira realmente rápida, é necessario salvar certas partes do video como imagens.

O meu sistema já acelera o video em até 50x, somenta falta funcionar a parte de captura do video com perfeição. Por não funcionar, estou quase desistindo de fazer o mesmo e informar a empresa de ônibus que não tenho como desenvolver tal sistema, pois sempre me ligam e nunca tenho uma posição para eles.

A camera do ônibus grava o video no formado .asf dentro de um cartão de mémoria parecido com cartões de cameras digital, o qual é lido em cada computador atraves de um aparelho específico para tal fim. Mas o sistema que estou desenvolvendo não precisa ter nenhuma ligação com estes cartões, pois os videos somentem são assistidos após terem sido copiados para o PC.

Há a possibilidade de uma rápida parceria?

Digo, se você terminar esta parte do sistema posso te pagar por tal serviço, já que não consigo fazer o mesmo. Você pode dizer o valor desejado, se tiver interesse é claro e eu vejo se tal valor é possível ser pago, de acordo com o valor que irei cobrar pelo sistema.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
O meu sistema já acelera o video em até 50x, somenta falta funcionar a parte de captura do video com perfeição. Por não funcionar, estou quase desistindo de fazer o mesmo e informar a empresa de ônibus que não tenho como desenvolver tal sistema, pois sempre me ligam e nunca tenho uma posição para eles.
o componente DsPack consegue reproduzir arquivos .asf e consegue fazer a captura das imagens tambem

obs: voce pode usar o componente MediaPlayer juntamente com o DsPack

http://www.ziggi.com.br/downloads/dspack

Há a possibilidade de uma rápida parceria?

Digo, se você terminar esta parte do sistema posso te pagar por tal serviço, já que não consigo fazer o mesmo. Você pode dizer o valor desejado, se tiver interesse é claro e eu vejo se tal valor é possível ser pago, de acordo com o valor que irei cobrar pelo sistema.

se voce não conseguir, podemos estudar sobre o assunto ...ok ?

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
O meu sistema já acelera o video em até 50x, somenta falta funcionar a parte de captura do video com perfeição. Por não funcionar, estou quase desistindo de fazer o mesmo e informar a empresa de ônibus que não tenho como desenvolver tal sistema, pois sempre me ligam e nunca tenho uma posição para eles.
o componente DSCap consegue reproduzir arquivos .asf e consegue fazer a captura das imagens tambem

obs: voce pode usar o componente MediaPlayer juntamente com o DsPack

http://www.ziggi.com.br/downloads/dspack

Há a possibilidade de uma rápida parceria?

Digo, se você terminar esta parte do sistema posso te pagar por tal serviço, já que não consigo fazer o mesmo. Você pode dizer o valor desejado, se tiver interesse é claro e eu vejo se tal valor é possível ser pago, de acordo com o valor que irei cobrar pelo sistema.

se voce não conseguir, podemos estudar sobre o assunto ...ok ?

abraço

Olá denovo amigo, boa tarde!

Então, hoje, usando os componentes que você indicou eu consigo capturar o video, porém não consigo capturar o video se eu usar o TMediaPlayer, o ruim é que somente consigo acelerar o video usando o TMediaPlayer.

Para acelerar o video eu fazia o seguinte: Indicava o arquivo do video no TMediaPlayer e controlava a velocidade em um TTime usando a propriedade Position do TMediaPlayer. Era bem simples.

Com esses componentes agora eu consegui resolver uma coisa mas a outra complicou rsss. Se bem que por falta de tempo e paciência ainda não o testei muito, como eu fiz com o primeiro que me indicou.

Então, devido eu não ter conseguido as duas coisas fundamentais para o sistema funcionando ao mesmo tempo, se você realmente tiver interesse em participar do projeto, será interessante e acredito que proveitoso para todas as partes envolvidas. Preciso resolver isso para poder dar uma resposta ao meu cliente e fechar ao não o contrato do serviço, por isso acredito que sua participação é fundamental, já que meu cliente está com tempo curto para resolver este problema.

Tenho 2 fontes qui, um com TMediaPlayer e TPanel onde consigo Acelerar o video e não consigo capturar imagem, bom, na verdade eu consigo capturar a janela atual no Windows Seven com a imagem em pausa, mas sempre a primeira Janela a ser salva fica com a estática no lugar do video, e fora isso, os computadores que a principio usarão este sistema rodam o Windows XP e o Windows Vista.

O outro fonte é com os componentes que você me indicou, consigo capturar uma imagem do video e salvar. O legal desse componente é a facilidade também para alterar brilho, contraste, dentre outras coisas no video, o que é claro pretendo usar para incrementar o programa. Infelizmente não consegui hoje fazer o video ser exibido X vezes mais rápido com estes componentes.

Vou deixar o meu e-mail para que você pense a respeito da minha proposta e entre em contato. Com sua confirmação fecharei o contrato. No e-mail você pode informar o que seria interessante para você em geral.

Meu e-mail: afaadm@gmail.com

Qualquer coisa respondo seu e-mail com outras formas de contato.

Muito obrigado pela força.

Abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...