[python] 웹 서버에 동영상 스트리밍 기능 추가하기

이 글에서는 Python을 사용하여 웹 서버에 동영상 스트리밍 기능을 추가하는 방법을 알아보겠습니다. 웹 서버에 동영상 스트리밍을 추가하면 사용자들이 웹 브라우저를 통해 동영상을 실시간으로 시청할 수 있습니다.

필요한 패키지 설치

Python에서 웹 서버 및 동영상 스트리밍 기능을 구현하기 위해 FlaskOpenCV 패키지가 필요합니다. 아래의 명령을 사용하여 필요한 패키지들을 설치할 수 있습니다.

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 파일에서 동영상을 표시하는 방법을 알아보았습니다. 이를 기반으로 동영상 스트리밍 기능을 좀 더 복잡하게 개발할 수도 있습니다.


참고 링크: