14 lines
546 B
Python
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)
|