Django를 사용하여 구축된 이 Python 웹 서비스는 오디오 추출 및 비디오 워터마킹을 포함한 비디오 처리 기능을 제공합니다. 미디어 처리를 위해 FFmpeg를 통합하고 SQLite 데이터베이스를 사용하여 처리된 비디오에 대한 정보를 저장합니다.
저장소 복제
git clone https://github.com/gouravmohanty7070/vidyo.ai
가상 환경 설정
애플리케이션에 대해 깨끗하고 격리된 환경을 보장하려면 가상 환경을 사용하는 것이 좋습니다. 설정 방법은 다음과 같습니다.
cd vidyo.ai
python -m virtualenv venv
가상 환경 활성화
venvScriptsactivate
source venv/bin/activate
FFmpeg 설치
Download FFmpeg:
Go to the FFmpeg Official Website and download the latest build for Windows.
Extract the Files:
Extract the downloaded ZIP file to a location on your computer (e.g., C:FFmpeg).
Add FFmpeg to the System Path:
Right-click on 'This PC' or 'My Computer' and select 'Properties'.
Click on 'Advanced system settings' and then 'Environment Variables'.
Under 'System Variables', find and select the 'Path' variable, then click 'Edit'.
Click 'New' and add the path to the bin folder inside the extracted FFmpeg folder (e.g., C:FFmpegbin).
Click 'OK' to close all dialog boxes.
Verify the Installation:
Open Command Prompt and type ffmpeg -version to check if FFmpeg is installed correctly.
brew install ffmpeg
sudo apt install ffmpeg
종속성 설치 가상 환경이 활성화된 상태에서 pip 및 요구 사항.txt 파일을 사용하여 필요한 종속성을 설치합니다.
pip install -r requirements.txt
애플리케이션 시작 애플리케이션 코드가 포함된 "vidyo" 디렉터리로 이동합니다.
cd vidyo
마이그레이션 실행
python manage.py migrate
다음 명령을 실행하여 애플리케이션을 시작합니다.
python manage.py runserver
애플리케이션에 액세스
Open your web browser and go to http://127.0.0.1:8000/
테스트
Use tools like Postman or cURL to test the API endpoints.
저장소 복제
git clone https://github.com/gouravmohanty7070/vidyo.ai
cd vidyo.ai
Docker 이미지 빌드
docker build -t vidyo .
Docker 컨테이너 실행
docker run -p 8000:8000 vidyo
애플리케이션에 액세스
Open your web browser and go to http://localhost:8000
테스트
Use tools like Postman or cURL to test the API endpoints.
메모
Audio Extraction Endpoint: POST /extract-audio
Video Watermarking Endpoint: POST /watermark-video
이 서비스는 처리된 비디오에 대한 정보를 저장하기 위해 다음 테이블과 필드가 포함된 SQLite 데이터베이스를 사용합니다.
비디오 테이블 - 이 테이블은 오디오 추출된 비디오와 워터마크가 있는 비디오 모두에 대한 정보를 저장합니다.
추가 테이블:
애플리케이션 요구 사항에 따라 특히 사용자 인증, 로깅 또는 기타 기능을 구현하는 경우 추가 테이블이 있을 수 있습니다.
데이터베이스 설정 지침:
Django 프로젝트를 설정한 후 다음 명령을 실행하여 데이터베이스 스키마에 대한 마이그레이션을 생성하고 적용합니다.
python manage.py makemigrations
python manage.py migrate
이 아키텍처는 리소스 사용을 최적화하고 부하가 높은 상황에서 응답성을 유지하도록 설계되었습니다. 리소스 요구 사항에 따라 작업을 분리하고 최적화된 서버를 혼합하여 사용함으로써 시스템은 많은 수의 동시 비디오 처리 요청을 효율적으로 처리할 수 있습니다.
videoyo.ai 과제 데모 영상