기본 콘텐츠로 건너뛰기

8월, 2021의 게시물 표시

FastAPI 실시간 영상 스트리밍 OpenCV

  FastAPI와 OpenCV를 활용한 실시간 영상 스트리밍 Permalink 실시간 영상을 스트리밍 하는 방법을 찾던 중 파이썬 FastAPI를 활용한 방법을 시도 해보았다. 필수 라이브러리 Permalink 필요한 것은 Python3.9버전 (애플 M1칩셋 맥북에어에서 3.8 버전으로 시도 해보니 OpenCV라이브러리 설치에서 문제가 발생했었다) FastAPI uvicorn OpenCV 정도면 될 것 같다. 라이브러리들은 모두 설치 되었다고 가정 하고, 예제 코드 Permalink # main.py # 라이브러리 import # StreamingResponse를 가져와야함 from fastapi import FastAPI from fastapi.responses import StreamingResponse # cv2 모듈 import from cv2 import get_stream_video # FastAPI객체 생성 app = FastAPI () # openCV에서 이미지 불러오는 함수 def video_streaming (): return get_stream_video () # 스트리밍 경로를 /video 경로로 설정. @ app . get ( "/video" ) def main (): # StringResponse함수를 return하고, # 인자로 OpenCV에서 가져온 "바이트"이미지와 type을 명시 return StreamingResponse ( video_streaming (), media_type = "multipart/x-mixed-replace; boundary=frame" ) # cv2.py import cv2 def get_stream_video (): # camera 정의 cam = cv2 . VideoCapture ( 0 ) while True : ...

Python FastAPI 알아보고 설치하고 초기 설정 해보기

  Python FastAPI, 설치하고 초기 설정 해보기 Permalink 파이썬 웹 서버를 만들어야 하는 일이 생겼늗데, 최대한 빠르고 안정적인 서버를 선택 해야했다. 그래서 기존에 사용하던 Flask보다 훨씬 빠르다고 하는 FastAP를 사용해보기로 했다. ❓ FastAPI란? Permalink 👉 FastAPI 공식 한국어 페이지  https://fastapi.tiangolo.com/ko/ FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크입니다. FastAPI는 파이썬에서 사용 가능한 웹 프레임워크 중 하나인데, Flask나 Django보가 훨씬 빠른 속도를 보여준다고 하고, 확인 해봐야 하겠지만 Go언어와도 비슷한 속도를 보여준다고 한다. 또, 쉽고 간결한 코드, 200% ~ 300% 까지 증가하는 개발 속도를 기대할 수 있다고 하는데, 시작 해보자! 👏 Permalink FastAPI 설치 Permalink 먼저 공식 사이트에선 pip를 이용해 설치 하라고 나와있는데, 나는 anaconda를 이용해서 설치를 했다. bash $ pip install fastapi anaconda 사용 시 $ conda install fastapi 그리고 ASGI서버도 필요해서 같이 설치하라고 하는데, Univorn을 설치 해보자. bash $ pip install uvicorn[standard] anaconda 사용 시 $ conda install uvicorn FastAPI 예제 Permalink 설치가 완료되면 이렇게 vscode에서 FastAPI() 클래스가 자동 완성 되는걸 확인할 수 있다. 그리고 정말 간단히 API를 만들 수 있는데, main.py 파일을 만든 후에 from typing import Optional from fastapi import FastAPI app = FastAPI () @ app . get ( "/"...