Как скачивать и отправлять это видео одновременно. Aiogram yt-dlp
У меня есть бот который скачивает видео с ютуба, но делает это очень медленно, одна из причин это то что бот сначала сохроняет файл на компьютер, а затем отправляет через телеграм. Есть ли способ во время скачивание видео уже скачанные части отправлять в телеграм. Для скачивание видео с ютуба использую yt-dlp:
def download_video(url: str):
try:
ydl_opts = {
'outtmpl': 'videos/%(id)s.%(ext)s',
'quiet': True,
'no_warnings': True
}
with YoutubeDL(ydl_opts) as ydl:
info = ydl.extract_info(url, download=False)
ydl.download([url])
return {
'path': f'videos/{info["id"]}.mp4'
}
except Exception as err:
print(err)
return 'error'
код для отправки:
await message.reply('Скачивание началось')
data = utube.download_video(url=v_url)
if data == 'error':
await message.reply('Ой ой ой что то пошло не так... ')
return
await message.reply_video(video=open(data['path'], 'rb'),
caption=f'[👉Тык👈](https://t.me/ttDownloadPyBot)',
parse_mode='MarkdownV2')
os.remove(data['path'])