26 lines
755 B
Python
26 lines
755 B
Python
from app.utils.downloader import HttpStreamingDownloader
|
|
from app.utils.uploader import DiskChunkUploadBackend
|
|
from app.utils.youtube import YtDlpInfo
|
|
|
|
|
|
def download(url: str):
|
|
upload_backend = DiskChunkUploadBackend("trash_holder")
|
|
downloader = HttpStreamingDownloader(upload_backend)
|
|
youtube = YtDlpInfo(url)
|
|
video = youtube.get_video_url("480p")
|
|
video_name = youtube.title + ".mp4"
|
|
audio = youtube.get_audio_url()
|
|
audio_name = youtube.title + ".m4a"
|
|
|
|
downloader.download(video.url, video_name, video.headers, video.chunk_size)
|
|
downloader.download(audio.url, audio_name, audio.headers, audio.chunk_size)
|
|
|
|
|
|
def main():
|
|
url = "https://youtu.be/OSAOh4L41Wg"
|
|
download(url)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|