참고 - https://www.python2.net/questions-294111.htm
https://iamawebdeveloper.tistory.com/102 (비디오 스크립팅/일시정지 등)
https://izy.codes/tensorflowjs-webcam-image-classification/ (실시간 웹캠 스트리밍)
파이썬
[Python] OpenCV, UDP를 이용해 Webcam 영상 데이터를 서버로 보내기
TCP 소켓을 사용하여 웹캠의 이미지를 송수신하는 서버/클라이언트 예제
Flask Opencv 웹캠에 의한 웹서버에서 안면인식 결과 비데오 파일 저장
Create a Video Conference Recorder using WebRTC, MediaDevices, and MediaRecorder.
0. 발단
학교에서 하고 있는 프로젝트 중에 node.js(웹 프레임워크)로 실시간 웹캠 영상을 보내야 하는 문제가 있었다. 이를 해결하기 위해 구글링을 했으나 쉽게 답을 찾지 못했다.
그 이유는 다음과 같다.
먼저 영상을 처리하는 opencv는 c언어 기반이라 자바언어를 사용하는 웹에서 코드를 쓰려면 다른 방법을 찾아야 한다는 점. (주로 파이썬 코드다.)
그럼 다시 구글링을 하면서 해결법을 찾아보자.
NodeJS에서 ZMQ 비디오 스트림 수신
여기서 ZMQ(zero mq)란 분산/동시성 애플리케이션에 사용하도록 개발된 고성능 비동기 메시징 라이브러리라고 한다. 뭔 말인지 모르겠다. 아무튼 이 게시글에서 Python 백엔드에서 ZeroMQ PUB/SUB 패턴을 통해 전송 된 비디오 (웹캠 비디오)를 받고 싶은 전자 앱을 작성하고 있습니다. 파이썬으로 올바르게 작동하는 서버가 있는데 파이썬 클라이언트 수신자로 테스트했습니다.
라는 질문을 올렸다. 웹캠 비디오...? 어쩐지 내 프로젝트와 비슷할 것 같다.
import base64
import cv2
import zmq
context = zmq.Context()
footage_socket = context.socket(zmq.PUB)
footage_socket.connect('tcp://localhost:5555')
camera = cv2.VideoCapture(0)
while True:
_, frame = camera.read()
frame = cv2.resize(frame, (640, 480))
_, buffer = cv2.imencode('.jpg', frame)
byte_buffer = base64.b64encode(buffer)
댓글
댓글 쓰기