이 글에서는 Python을 사용하여 웹 서버에 동영상 스트리밍 기능을 추가하는 방법을 알아보겠습니다. 웹 서버에 동영상 스트리밍을 추가하면 사용자들이 웹 브라우저를 통해 동영상을 실시간으로 시청할 수 있습니다.
필요한 패키지 설치
Python에서 웹 서버 및 동영상 스트리밍 기능을 구현하기 위해 Flask
와 OpenCV
패키지가 필요합니다. 아래의 명령을 사용하여 필요한 패키지들을 설치할 수 있습니다.
pip install Flask opencv-python
동영상 파일 업로드
먼저, 동영상 파일을 웹 서버에 업로드해야 합니다. 이를 위해 static
폴더를 생성하고 동영상 파일을 해당 폴더에 저장합니다.
Flask 서버 설정
다음으로, Flask를 사용하여 웹 서버를 설정해야 합니다. app.py
라는 파일을 생성하고 아래의 코드를 작성합니다.
from flask import Flask, render_template, send_from_directory
import os
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/video/<path:filename>')
def video(filename):
return send_from_directory('static', filename)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
위의 코드에서 /video/<path:filename>
은 동영상 파일을 URL로 요청할 때 사용됩니다. send_from_directory
함수를 사용하여 static
폴더에서 동영상 파일을 찾아 응답으로 보냅니다.
HTML 파일 작성
웹 페이지에 동영상을 표시하기 위해 HTML 파일을 작성해야 합니다. templates
폴더를 생성하고 index.html
파일을 해당 폴더에 저장합니다. 아래의 코드는 기본적인 HTML 구조를 갖춘 index.html
파일입니다.
<!DOCTYPE html>
<html>
<head>
<title>동영상 스트리밍</title>
</head>
<body>
<video src="/video/example.mp4" autoplay controls></video>
</body>
</html>
위의 코드에서 <video>
태그는 동영상을 표시합니다. src
속성에는 실제 동영상 파일의 경로를 설정합니다.
동영상 스트리밍 테스트
이제 웹 서버를 실행하여 동영상 스트리밍 기능을 테스트해보겠습니다. 다음의 명령을 사용하여 Flask 서버를 실행합니다.
python app.py
웹 브라우저에서 http://localhost:5000
에 접속하면 동영상이 표시되고 자동으로 재생될 것입니다.
결론
이와 같이 Python을 사용하여 웹 서버에 동영상 스트리밍 기능을 추가할 수 있습니다. Flask를 통해 웹 서버를 설정하고 HTML 파일에서 동영상을 표시하는 방법을 알아보았습니다. 이를 기반으로 동영상 스트리밍 기능을 좀 더 복잡하게 개발할 수도 있습니다.
참고 링크:
- Flask 공식 문서: https://flask.palletsprojects.com/
- OpenCV 공식 문서: https://docs.opencv.org/