Files
youtube-microservice/app/services.py

14 lines
546 B
Python

from app.utils.youtube import YtDlpManager
from app.utils.uploader import S3ChunkUploadBackend
from app.schemas import DownloadRequest, DownloadResponse
class YouTubeService:
@staticmethod
def download(data: DownloadRequest):
key_prefix = f"{data.url}@{data.quality}@"
s3 = S3ChunkUploadBackend(key_prefix)
manager = YtDlpManager(data.url, s3)
video_url = manager.download_video(data.quality)
audio_url = manager.download_audio()
return DownloadResponse(video=video_url, audio=audio_url)