Há um hábito estabelecido em quem tem computadores portáteis de colocar um stick a tapar a câmara. Este receio é fundado? Existe o perigo de gravar as suas ações usando a sua câmara?
A resposta é sim e vamos mostrar como fazê-lo usando uma linguagem de programação muito popular Python.
Esta nova moda também virou uma ameaça por email. Quem já não recebeu email com a indicação de que foi gravado em situações menos abonatórias e exige um pagamento em bitcoin, caso contrário o video é enviado para a sua lista de contatos?
Mostrar que a gravação de video usando a sua câmara, contra a sua vontade é simples.
A linguagem de programação que melhor se adequa a esta tarefa e Python com a livraria CV2.
Como se instala a CV2?
Procure o ficheiro pip.exe e faça o seguinte comando:
pip install opencv-python
Se tudo estiver correto os seguintes comandos não devem dar erro:

Comecemos por capturar uma imagem da câmara de vídeo.
Eis o código:
import numpy as np
import cv2,time
video=cv2.VideoCapture(0)
check,frame=video.read()
print(check)
print(frame)
cv2.imshow("Capture",frame)
video.release()
cv2.destroyAllWindows
O código é fácil de entender e por isso as explicações não serão muito necessárias. O print check é feito para verificar se não há erro e o print frame mostra numa matriz os resultados capturados. Estas duas instruções não são importantes. Nesta altura se executar o programa vê uma imagem no ecrã, capturada pela sua câmara de vídeo.
Fazer um streaming é basicamente colocar um ciclo de repetição e ir gravando imagens. O ciclo de repetição que melhor se adequa a esta situação é o While. O código será o seguinte:
import numpy as np
import cv2,time
video=cv2.VideoCapture(0)
while True:
check,frame=video.read()
print(check)
print(frame)
cv2.imshow("Capture",frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows
Note-se que o programa só pára quando se premir a tecla q. É possível também ter uma variável e fazer o streaming por x milissegundos.
Finalmente iremos guardar o resultado do vídeo num ficheiro. Sem guardar o vídeo tudo o que fizemos até agora é pouco interessante. Quando gravamos o vídeo necessitamos de especificar que codec queremos usar. O código é o seguinte:
import numpy as np
import cv2,time
cap=cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
#frame = cv2.flip(frame,0)
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()
Fácil?
Desenvolvemos software à medida tanto para Internet, como para windows.
Se procura um serviço de programação consulte-nos. Os orçamentos são gratuitos e quem sabe se após a nossa consulta não encontra uma proposta diferente para o seu problema.
Estamos ligados à empresa de comercialização de soluções de hardware Urupema. Consulte os nossos preços e condições.