Сделал скелет того, как примерно будет реализован сервис

This commit is contained in:
Viner Abubakirov
2026-02-21 00:19:09 +05:00
parent 8ac132e503
commit 51ec17381f
9 changed files with 62 additions and 34 deletions

View File

@@ -0,0 +1,13 @@
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)